CentOS7にて、cakephp1.3が動作する環境を構築するという忘備録です。ただしApacheではなく、最新のNginxにしたい。
前提
・Mac(macOS Sierra)
・VirtualBOX:インストール済
・Vagrant:インストール済
仮想サーバ環境構築
・vagrantで、CentOS7までは作成済み。
・vagrant ssh
(1) Nginxインストール
最新安定板は、こちらで確認 => http://nginx.org/
nginx.repoを手動で作成する。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
$ sudo yum -y --enablerepo=nginx install nginx
$ sudo systemctl enable nginx.service
$ sudo systemctl start nginx
Macプラウザから、動いているか確認 http://192.168.33.10/
ここまで楽勝
(2) php5.4 php-fpm
インストールしたてのNginxにて、rootディレクトリ確認してphp動かしてみる。
・設定ファイル: /etc/nginx/conf.d/default.conf
・rootディレクトリ: /usr/share/nginx/html
・phpinfo()を作ってアクセスしてみる。
まだ、php入れてないので、当然動かない。
phpを入れる。CentOS7はデフォルトでphp5.4が入るようです。
$ php -v
PHP 5.4.16 (cli) (built: Nov 6 2016 00:29:02)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
$ sudo vi /etc/php.ini
date.timezone = Asia/Tokyo
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
続いて、php-fpm設定。新たにNginx設定ファイルを作る。
$ systemctl start php-fpm
$ cd /etc/nginx/conf.d/
$ cp default.conf php54.conf
以下の設定ファイルにしてみた。
server {
listen 80;
server_name php54.dev;
index index.php index.html index.htm;
set $root_path '/var/www';
root $root_path;
try_files $uri $uri/ @rewrite;
location @rewrite {
rewrite ^/(.*)$ /index.php?_url=/$1;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
}
location ~ /\.ht {
deny all;
}
}
$ systemctl restart nginx php-fpm
忘れず、Mac本体のhostファイルに以下を追記する。
192.168.33.10 php54.dev
さっき作ったphpinfo.phpは、ルート/var/wwwに移動してね。
Macブラウザからアクセス。
http://php54.dev/phpinfo.php
タイムアウトで、繋がらない・・・・。
仮想サーバにて、確認してみる。
・・・・htmlコード(なんだか動いてるみたい)・・・・
ファイヤーウォールか?
Active: inactive (dead) にする
$ systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)
Active: inactive (dead) since Thu 2017-08-24 12:41:37 UTC; 5s ago
Process: 16622 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 16622 (code=exited, status=0/SUCCESS)
$ systemctl disable firewalld.service
$ systemctl is-enabled firewalld
disabled
*それでも繋がらない場合は、ブラウザキャッシュをクリアすると良いかも。
(3) MySQL5.6インストール
CentOS7には、既にmariadbが入っている可能性があるので削除する。
$ rm -rf /var/lib/mysql/
下記のサイトにて該当リボジトリを探す。(Red Hat Enterprise Linux)
https://dev.mysql.com/downloads/mysql/
ペンギンのと絵ころをクリックし、該当レポジトリを調べる。
Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package
(mysql57-community-release-el7-11.noarch.rpm)
レポジトリファイルは、MySQL5.7が有効になっているのでMySQL5.6に変更する。
yumでインストールする。
$ yum repolist all
$ vi /etc/yum.repos.d/mysql-community.repo
# Enable to use MySQL 5.6
enabled=1
# Enable to use MySQL 5.7
enabled=0
$ yum install mysql mysql-devel mysql-server mysql-utilities
MySQLを起動
$ systemctl start mysqld
$ mysql -uroot -p
mysql > show databases;
(4) adminerで繋げてみる
mariadbをアンイントールした時に外れたphp-mysql、その他必要なものを入れる。
下記サイトにて最新バージョンを調べて、ルートディレクトリに直接ダウンロードしてしまう。
https://www.adminer.org/
$ sudo wget https://github.com/vrana/adminer/releases/download/v4.3.1/adminer-4.3.1.php
Mac本体のブラウザからアクセスする。
http://php54.dev/adminer-4.3.1.php
以上です。