SARMS構築手順

http://www.sarms.jp

パスワードが生で保管されていたりとセキュリティ上の問題があるのでローカルな環境での利用に限定したほうが良いです。

以下、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のシーケンスがずれてしまっています。
この状態だとデータの登録時にエラーが出るため対策が必要です。そちらに関しては別記事で紹介したいと思います。