少し前にApache+Codiadな環境構築の話をしたばかりでしたが。
昨日投稿した、Android上でのコーディング環境の構想のひとつとして考えたCodiadを使う話で構築してみようということでやってみたレポ。
環境はVMWarePlayer上にインストールされたCentOS7。ブリッジ接続にしてホストと同じ用にルータにぶら下がった状態にしておきます。
私はGUIベースなサーバ構成インストールを選択しました、気まぐれで。
別に最小構成でいいと思う。
ではお馴染みのnginxインストール。CodiadはPHPで動作するのでPHPもいれてあげます。
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install -y nginx php php-fpm
php-fpmの設定を行う。こんな感じ
/etc/php-fpm.d/www.conf
listen = /var/run/php-fpm/php-fpm.sock;
~~~~~~~~~
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions.
; Default Values: user and group are set as the running user
; mode is set to 0666
listen.owner = nginx
listen.group = nginx
;listen.mode = 0666; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
ユーザやグループ設定をnginxにして、動作をソケットモードとか言うのにしています。
この方が高速らしいので。
/etc/nginx/sites-available/codiad.conf
server {
listen 80;
server_name exsample.com;
root /var/www/html/codiad;
index index.php index.html index.htm;access_log /var/log/nginx/codiad/access.log;
error_log /var/log/nginx/codiad/error.log;
location ~ \.php$ {
root /var/www/html/codiad;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/codiad$fastcgi_script_name;
include fastcgi_params;
}
}
あとは/etc/nginx/site-enableに上記ファイルのシンボリックリンクをはってあげればいいようですが、別に/etc/nginx/conf.d/配下に配置するだけでいい気もします。
あとはApacheの時と同じかんじでCodiadを配置。
cd /var/www/html/ wget https://github.com/Codiad/Codiad.git mv Codiad codiad chmod a+rwx -R codiad chown nginx:nginx -R codiad systemctl start nginx systemctl enable nginx systemctl start php-fpm systemctl enable php-fpm
firewalldとかの設定は適せんやってください。
あと、私と同じようにGUIベースなサーバ構成インストールをしたときはSELinuxが悪さをするので黙らせるか設定するかしてください。
最小構成じゃないCentOS久しぶりですっかり忘れててしばらくはまりました。
そして最新のCentOS、PHPを使っているとPHPが一部書き込み権限がないのかなんなのか、エラーをはいてCodiadにログインできないという事象が発生します。上記設定のエラーログにエラーが出ます。
そんなときは下記。
chmod 777 /var/lib/php/session
これでいいらしい。