パスワードが生で保管されていたりとセキュリティ上の問題があるのでローカルな環境での利用に限定したほうが良いです。
以下、amazon linux上で動かす例です。
Webサーバはnginxを使っています。
まず依存パッケージをインストールします。適当に入れているのでいらないものもあるかと思います。
yum install nginx yum install postgresql93 postgresql93-contrib postgresql93-libs postgresql93-server yum intsall php54 php54-pgsql php54-mbstring php54-xml php54-gd php54-mcrypt php54-pspell php54-pecl-imagick php54-pecl-apc php54-fpm php54-pecl-memcache php54-devel
ソースを適当な場所にダウンロードして解凍します。
wget http://www.sarms.jp/wp-content/uploads/2014/09/SARMS_v20130521.tar.gz tar -zxvf SARMS_v20130521.tar.gz
ソースから必要な部分をドキュメントルート下に移動し、パーミッションを変更します。
※ソース中にファイルパスを絶対パスで決め打ちしている部分が多々あるので/var/www/html下に配置するのが無難です。それ以外の場所に置く場合はソースを修正する必要があります。
mv SARMS_v20130521/var_www_html/* /var/www/html/ chown -R nginx: /var/www/html
設定ファイルを編集します。
vim /var/www/html/hcms/config.php
基本的に*****になっている値を埋めていけばOKです。
ルートパスなどの部分は前述のファイルパスの問題から以下のようになります。
/** ルートパス */ define('_ROOT_PATH', '/var/www/html'); /** サブフォルダパス */ define('_SUB_DOCS_PATH', '');
設定ファイルに記述した通りにpostgresqlでデータベースを作ります。
postgresqlの初期設定は割愛します。
createdb -U postgres sarms psql -f dump.sql -d sarms -U postgres psql -f dump_data.sql -d sarms -U postgres
nginx設定ファイルを書きます。
server { listen 80; server_name {domain_name}; root /var/www/html; location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { fastcgi_pass phpfpm; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; } }
ソース中で一部apacheで決め打ちされている部分があるので修正します。
sed -i "s/apache/nginx/g" /var/www/html/hcms/inv.model.php sed -i "s/apache/nginx/g" /var/www/html/hcms/libs/Sendmail.php sed -i "s/apache/nginx/g" /var/www/html/hcms/functions/Func.php
php.iniを修正します。
error_reportingでE_STRICTを除外するように設定しておきます。
error_reporting = E_ALL & ~E_STRICT
nginxとphp-fpmを再起動
service nginx restart service php-fpm restart
これでブラウザからアクセスすれば利用できます。 デフォルトの管理者ユーザは以下の通りです。
user: shisanadmin
pass: shisanadmin
ただし上記の方法だとサンプルデータをdumpファイルから直接入れているためにPostgresqlのシーケンスがずれてしまっています。
この状態だとデータの登録時にエラーが出るため対策が必要です。そちらに関しては別記事で紹介したいと思います。