Lightsaiで nginx+PHP+MariaDB の構成でwordpressをインストール

2019-04-02

Cent OS 7でnginx+PHP+MariaDBでWordpressをインストール

OSのみの作成したCent OS 7系のインスタンスに「nginx」+「php」+「MariaDB」の構成でwordpressをインストールする手順です。phpのバージョンはyumで表示インストールされる「5.4系」をインストールしました

F/W(firewalld)の設定変更

firewalldでHTTPとHTTPSを通信を許可します

$ sudo  firewall-cmd --permanent --zone=public --add-service=http
success
$ sudo  firewall-cmd --permanent --zone=public --add-service=https
success

また、Lightsail側のF/WでもHTTP(80番)とHTTPS(443番)のポートを開放していない場合は開放します

1.TOP画面から「インスタンス」→「接続するインスタンス」を選択します

2.「ネットワーク」のタブを選択します

3.HTTP(80番)HTTPS(443番)のを追加して通信を許可します

nginxをインストール

以前はApacheを利用していましたが、今回は「nginx」をインストールします。Apacheよりnginxの方が、軽くて、大量アクセスを捌くことをできるのと、Apache以外のWEBサーバーを触ってみたかったからです

# nginxのリポジトリを追加します
$ sudo vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

# リポジトリを追加したら、yumでインストールします
$ sudo yum install nginx

# インストールが終了したら、nginxを起動して、自動起動を有効にします
$ sudo systemctl start nginx
$ sudo systemctl enable nginx

PHPと php-fpmをインストール

「php」と「php-fgm」をインストールします。最近のwordpressでは、php 7.3 が推奨されますが、今回はphp 5.4でインストールしています。
「php-fgm」は、nginxとphpを連携する時に使用します

# phpと必要なパッケージとphp-fgmをインストールします
$ sudo yum install php php-mbstring php-pear php-fpm php-mcrypt php-mysql php-gd
# php-fpmで使用するユーザー・グループををApacheからnginxに変更します
$ sudo vim  /etc/php-fpm.d/www.conf
user = nginx
group = nginx

# php-fgmを起動して、自動起動を有効にします
$ sudo systemctl restart nginx
$ sudo systemctl enable php-fpm

nginx 設定

nginxでphpを動作するようにnginxの設定ファイルを変更します

# 初期の設定ファイルをバックアップします
$ sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.org

# phpを有効になるように設定を変更します
$ sudo vim /etc/nginx/conf.d/default.conf
server {
    listen 80;
    server_name localhost;
    root /usr/share/nginx/html;
    index index.php index.html index.htm;
location ~ \.php$ {
        root           /usr/share/nginx/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

# 設定を変更したら、nginx、php-fpmを再起動します
$ sudo systemctl restart php-fpm
$ sudo systemctl restart php-fpm

phpが動作しているか、phpinfo関数を作成してブラウザでアクセスします。phpの設定内容が表示されればphpが動作しています
$ sudo vim /usr/share/nginx/html/index.php
<?php
phpinfo();
?>

MariaDBをインストール

MariaDBのパッケージをインストールします。
以前の記事「MariaDBのインストールと初期設定 | CentOS 7」でインストール方法の記事があるので詳しくはそちらを参考にしてください

# MariaDBのパッケージをインストール
$ sudo yum install mariadb mariadb-server
 
# 設定ファイルをコピーして、最小限の設定をします
$ sudo cp -p /usr/share/mysql/my-small.cnf /etc/my.cnf.d/server.cnf
$ sudo vi /etc/my.cnf.d/server.cnf
[client]
default-character-set = utf8
 
[mysqld]
character-set-server = utf8
 
# 起動及び自動起動の設定
$ sudo systemctl enable mariadb.service
$ sudo systemctl start mariadb.service
 
# MariaDB セキュリティの初期設定
$ sudo mysql_secure_installation

wordpressで利用するDBとユーザーを作成します。今回は以下のように設定しています

  • ユーザー:wpuser
  • パスワード:13defa52ersd
  • データベース:wordpress

$ mysql -u root -p
MariaDB [(none)]> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '13defa52ersd';
MariaDB [(none)]> CREATE DATABASE wordpress;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress.* TO wpuser@localhost IDENTIFIED BY "13defa52ersd";
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

wordpressインストール

wordpressをインストールします。最新版をwgetでダウンロードして、ロートディレクトリに移動してから、wp-config.phpにDB情報を反映すればインストールは終了です。

また、wp-config.phpにある認証用ユニークキーですが、オンラインジェネレータhttps://api.wordpress.org/secret-key/1.1/salt/ にアクセスすれば簡単に生成できます

# wgetが入ってなかったのでインストールします
$ sudo yum install wget -y

# wordpressをwgetで取得します
$ wget https://ja.wordpress.org/wordpress-5.1-ja.tar.gz

# 解凍してルートディレクトリに移動します
$ tar zxfv wordpress-5.1-ja.tar.gz
$ sudo mv wordpress /usr/share/nginx/html/

# wp-config.phpを編集します
$ cd /usr/share/nginx/html/wordpress/
$ sudo cp wp-config-sample.php wp-config.php
$ sudo vim wp-config.php
// 以下の部分をMariaDBのインストール時に設定したものに適宜変更する。
/** WordPress のためのデータベース名 */
define('DB_NAME', 'wordpress');
/** MySQL データベースのユーザー名 */
define('DB_USER', 'wpuser');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', '13fdve52');


/**#@+
 * 認証用ユニークキー
 *
 * それぞれを異なるユニーク (一意) な文字列に変更してください。
 * {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵>サービス} で自動生成することもできます。
 * 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、す>べてのユーザーを強制的に再ログインさせることになります。
 *
 * @since 2.6.0
 */

root$ vi wp-config.php
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

wordpressのインストールと設定が終われば、ブラウザで「http://[IPアドレス]/wordpress」にアクセスしてwordpressの初期設定画面になればOKです

 

スポンサーリンク