CentOS7 に nginx、phpmyadminをインストール

CentOS7 に nginx、phpmyadminをインストール

CentOS7 に nginx、phpmyadminをインストール

CentOS7 に nginx、phpmyadminをインストール へのコメントはまだありません

CentOS 7 に nginxと php実行環境、phpmyadminをインストールする手順です。
簡単そうで、結構あれこれはまったので、メモ。

nginxインストール

nginx用のrepoファイルを作成
[bash]
$ sudo nano /etc/yum.repos.d/nginx.repo
[/bash]

以下のリポジトリ情報を追記
[bash]
[nginx]
name=nginx repo
#baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=0
enabled=0

[/bash]

インストール
[bash]
$ sudo yum install nginx
[/bash]

nginxを起動し、サーバー起動時に自動開始するように設定

[bash]

$ sudo systemctl start nginx.service
$ sudo systemctl enable nginx.service

[/bash]

ファイアーウォール設定

動作確認の前にファイアーウォールがデフォでかかっているのでhttpを通すように変更する。

まず確認。
[bash]
$ sudo firewall-cmd –list-all

public (default, active)
interfaces: virbr0 wlp2s0
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:

[/bash]

sshとdhcpしか有効じゃないので、httpを追加する。
その前にどんなサービスが定義されていて、今どれが publicで有効かチェックする方法。

[bash]
※定義されているサービス一覧
$ sudo firewall-cmd –get-services

※publicのサービス確認
$ sudo firewall-cmd –list-service –zone=public

[/bash]

nginxなので httpサービスを追加してみる

[bash]
※サービスを追加する
$ sudo firewall-cmd –add-service=http –zone=public

※恒久的にサービスを追加する
$ sudo firewall-cmd –add-service=http –zone=public –permanent

[/bash]

ファイアーウォール再起動
[bash]
$ sudo firewall-cmd –reload
[/bash]

httpが有効になっているか確認
[bash]
$ sudo firewall-cmd –list-all

public (default, active)
interfaces: virbr0 wlp2s0
sources:
services: dhcpv6-client http ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:

[/bash]

動作確認

サーバーのIPにブラウザーで接続

http://192.168.x.x

nginxの welcomページが表示されれば成功。

php,php-mysqlをインストール

インストール
[bash]

$ sudo yum install php-fpm php-mbstring php-mysql

[/bash]

サービスの起動と、自動起動の設定
[bash]
$ sudo systemctl start php-fpm.service
$ sudo systemctl enable php-fpm.service

[/bash]

nginxの設定ファイルを変更し、PHPを有効にする。
[bash]
$ sudo nano /etc/nginx/conf.d/default.conf
[/bash]

以下の部分を追記
[bash]
location ~ \.php$ {
root /usr/share/nginx/html; <<<< ここ要注意 # fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; << document_rootを渡す include fastcgi_params; } [/bash] テストファイルを作り、phpの動作確認 [bash] $ sudo nano /usr/share/nginx/html/test.php [/bash] [bash]
[/bash]

nginxを再起動し、動作確認

[bash]
$ sudo systemctl restart nginx.service
[/bash]

ブラウザーで以下のURLにアクセスし、
http://192.168.x.x/test.php
テストページが表示されれば成功です。

phpmyadminをインストール

phpmyadminのページより最新のphpmyadminをダウンロード。

解凍して、/usr/share フォルダへコピー
[bash]
unzip phpMyAdmin-4.2.7.1-all-languages.zip
mv phpMyAdmin-4.2.7.1-all-languages phpmyadmin

sudo mv phpmyadmin /usr/share

[/bash]

nginxの設定ファイル追記
[bash]
$ sudo nano /etc/nginx/conf.d/default.conf
[/bash]

[bash]
location /phpmyadmin {
root /usr/share;
index index.php;

location ~ ^/phpmyadmin.+\.php$ {
# fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

}

[/bash]

赤い文字で何やらエラーが

[bash]
Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.
[/bash]

php.iniの 以下の部分がダメということらしい

session.save_path = “/var/lib/php/session”

で、php.iniを覗いてみるとコメントアウトされているので、どれがデフォルト値かわからない。
デフォルトがわからなければ手書きすりゃいいので

[bash]
$ sudo nano /etc/php.ini

[/bash]

php.iniに追記する。

[diff]
session.save_path = “/var/lib/php/session”
[/diff]

指定したフォルダを作成し、フルアクセスにする。(フルアクセスはちとやばいかもだが、ご勘弁)

[bash]
$ sudo mkdir /var/lib/php/session 
$ sudo chmod 777 /var/lib/php/session
[/bash]

動作確認

http://192.168.x.x/phpmyadmin

phpmyadminのログインページが表示されれば成功。

About the author:

Related Posts

Leave a comment

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Back to Top