2017年12月27日水曜日

[CentOS]CentOS 7~MariaDB~nginx~PHP~WordPress環境構築

VMware Player を使って、CentOS 7 ~ MariaDB ~ nginx ~ PHP ~ WordPress 環境を構築します。

CentOS のインストール

VMware 環境の設定
・ハード ディスク:20GB(単一のファイル)
・メモリ:1GB
・プロセッサ:1
・ネットワーク アダプタ:NAT

GUI のセットアップは基本デフォルトのままで構成する(最小構成)。

OS起動後、ネットワークの確認

# ifconfig

IP アドレスが受信できていない。
この場合、VMware のサービスを再起動して DHCP のアドレスを再取得する。

# dhclient

これでアドレスが取得できました。

yum でアップデートを行う。

アップデートのチェック

# yum check-update

アップデートの実施

# yum update

9時間ずれの対処

VMware Tools の設定で時刻同期をオンにする。


ssh のインストール・設定

インストールされているかチェック

# yum list installed | grep ssh

→ openssh-server がインストールされていること

設定ファイルは /etc/ssh/sshd_config にあるけど、今回はそのまま。

サービスの起動

# systemctl start sshd.service

確認

# systemctl status sshd.service

ファイアウォールの確認

# firewall-cmd --list-all

→ ssh があること

これでリモートから 22番ポートにsshアクセスができます。


MariaDB のインストール

インストールされているかチェックし、インストール

# yum list installed | grep maria

→ mariadb-libs のみがインストールされている。

# yum install mariadb mariadb-server

文字コードの変更

# vi /etc/my.cnf

my.cnf [mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
character-set-server=utf8

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

サービスの起動

# systemctl enable mariadb.service

# systemctl start mariadb.service

初期設定

# mysql_secure_installation

→ パスワードの設定以外はデフォルト。

データベースの作成

# mysql -u root -p

MariaDB> create database wordpress;

MariaDB> quit


nginx のインストール

インストールされているかチェックし、インストール

# yum list installed | grep nginx

→ nginx はインストールされていない。

# yum install nginx

→ nginx は yum のリポジトリにないのでそのままではインストールできない。

設定ファイルの作成

# vi /etc/yum.repos.d/nginx.repo

nginx.repo [nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

インストール実施

# yum --enablerepo=nginx install nginx

バージョン確認

# nginx -v

サービス起動

# service nginx start

自動起動

# systemctl enable nginx

ポートの確認

# netstat -an | grep 80

ファイアウォールの確認

# firewall-cmd --list-all

→ 80番ポートは空いていない

ファイアウォールを通す

# firewall-cmd --add-service=http --permanent

#  firewall-cmd --add-service=http

両方やったら、再確認

# firewall-cmd --list-all

→ http が開いたことを確認。


PHP インストール

PHP インストール

# yum install php php-mbstring php-pear php-mysql

PHP の設定ファイルを変更

# vi /etc/php.ini

php.ini date.timezone = "Asia/Tokyo"

PHP-FPM インストール

# yum install php-fpm

PHP-FPM の設定ファイルを変更

# vi /etc/php-fpm.d/www.conf

www.confuser = apache を検索し、user = nginx に変更
group = apache を検索し、group = nginx に変更

nginx の設定ファイルを変更

# vi /etc/nginx/conf.d/default.conf

default.conf
①document root の場所を変更
server {
    root   /usr/share/nginx/html;
    location / {
        #root   /usr/share/nginx/html;
        index  index.php index.html index.htm;
    }
・・・

②PHPが使えるように変更
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
    #    root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
        include        fastcgi_params;
    }
※赤いところ以外はコメントをはずすだけで良いようになっている。

サービスの起動

# service php-fpm start

# service nginx restart

自動起動

# systemctl enable php-fpm

phpinfo.php の作成

# echo '<?php phpinfo(); ?>' > /usr/share/nginx/html/phpinfo.php

ブラウザから http://xxx.xxx.xxx.xxx/phpinfo.php とアクセスして、phpの情報が表示されれば成功。


WordPressのインストール

wget コマンドの準備

#  yum install wget

WordPress パッケージのダウンロード

# wget https://ja.wordpress.org/latest-ja.tar.gz

パッケージを展開

# tar -xzvf latest.tar.gz

ドキュメントルートに移動

# mv wordpress /usr/share/nginx/html/

# cd /usr/share/nginx/html

wordpress ディレクトリのアクセス権を変更

# chown -R nginx:nginx wordpress/

wp-config.php の設定

# cd /usr/share/nginx/html/wordpress

# cp -p wp-config-sample.php wp-config.php

# vi wp-config.php

wp-config.php define('DB_NAME', 'wordpress');
define('DB_USER', 'root');
define('DB_PASSWORD', '1234');
define('DB_HOST', 'localhost');

ブラウザから http://xxx.xxx.xxx.xxx/wordpress/ とアクセスして、WordPress 設定画面が出れば成功です。

403エラーが出てうまく行かない場合
wordpress ディレクトリをコマンドで手動作成し、その wordpress ディレクトリ内に全てのファイル・ディレクトリをコピーしてみてください。(私がやった時、tar 展開した wordpress ディレクトリがおかしかった)


追記:
WordPressの管理画面で、パーマリンク設定を「基本」以外に設定すると、404(Page Not Found)エラーになります。
この解決法はこちら


→ ローカルメールサーバ構築
→ WordPressでパーマリンクの設定を変更すると404エラー
WP Mail SMTP の送信エラー(解決)

0 件のコメント:

コメントを投稿