Help us understand the problem. What is going on with this article?

yps並走備忘録 Task4 WordPress環境構築

更新を大分サボってたので大分時間が経ってしまいましたが、Task 4の備忘録を思い出しつつ書いてみます。
ypsはLaravelでの開発がメインですが、今回はちょっと寄り道的なタスクでWordPressの構築を行います。

事前準備

wgetがインストールされていない場合はインストールしましょう
sudo yum install wget -y

WordPressのセットアップ

※記事執筆時(2020/10/12)の最新版は5.5

tmpディレクトリに最新版のWPをダウンロードして解凍
1. cd /tmp 1
2. wget https://ja.wordpress.org/latest-ja.zip
3. unzip ./latest-ja.zip

ディレクトリを移動
4. mv wordpress '任意のディレクトリ名' ※任意の名前に変更(なるべく一般的な名前は避ける)
5. mv '任意のディレクトリ名' /var/www/html/

MySQLにWP用のデータベースを作成
6. mysql -u root -p でMySQLにログイン

以下MySQL Cliでの操作
7. create database '任意のDB名'; ※データベース名はなるべく複雑なものの方がベター
8. grant all on ypswpdb.* to '任意のuser名'@localhost identified by '任意のパスワード'; データベースの権限を委譲しています
※ここで設定したユーザー名とパスワードを忘れてしまうと後々面倒なのでどこかにメモるなりしておく
9.設定し終わったら exit;

WP設定ファイルの更新
cd /var/www/html/yps-wp/
cp -p wp-config-sample.php wp-config.php

まずは下記を変更します。

define( 'DB_NAME', ' #7で設定したDB名' );
define( 'DB_USER', '#8で設定したuser名' );
define( 'DB_PASSWORD', '#8で設定したパスワード' );

続いて下記を更新します。

更新時にはコメントにあるようにhttps://api.wordpress.org/secret-key/1.1/salt/ にアクセスすると自動でシークレットキーを生成してくれるので便利です(アクセスする度に新しいキーが生成されます)。

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' );

最後に下記を更新します

$table_prefix = '任意の文字列_';

:wqで保存したら一先ずWPの設定は完了

ファイルとディレクトリのオーナー権限を変更
cd /var/www/html
sudo chown -R centos:nginx /var/www/html/wwpp/
sudo find /var/www/html/wwpp/ -type f -exec chmod 664 {} \;
sudo find /var/www/html/wwpp/ -type d -exec chmod 775 {} \;

次にnginxの設定を変更してLaravelからWPへルートディレクトリを変更します
sudo vi /etc/nginx/conf.d/default.conf

編集内容は以下の通り

root /var/www/html/yps/public;
#↓に変更
root   /var/www/html/wwpp;

#追記
location /wp-config.php {
  deny all;
}

:wqで設定を保存したらphp-fpmとnginxを再起動します
sudo systemctl restart php-fpm && sudo systemctl restart nginx

※WPとLaravelを同時に動かしたい場合は下記のリンクを参照

参考:LaravelとWordPressの共存

ドメインネーム(設定してない場合はインスタンスのpublic IP)でブラウザからアクセス
WPのインストール画面が出ていれば成功です。
ただし、このままだとテーマやプラグインのインストールができないので少し設定をいじります。

cd wp-content/plugins/
wget https://downloads.wordpress.org/plugin/ssh-sftp-updater-support.0.8.2.zip
unzip ./ssh-sftp-updater-support.0.8.2.zip
rm http://ssh-sftp-updater-support.0.8.2.zip
sudo chown -R centos:nginx ./ssh-sftp-updater-support/

正常にプラグインがインストールされていればテーマをインストールできるようになっているはずです。
念のため下記の参考リンクを使ってできる範囲でのセキュリティ対策もしておきましょう

参考リンク:簡単にできるWordPressのセキュリティ対策x12

以上でWPの構築は終了です。


  1. /tmpは再起動時にディレクトリが消えるので、wgetでインストールするときなどに便利 

tak121
33歳、業界未経験。yps1並走組。 2020年4月より育児休業に入ったことを機にコーディング/マークアップの勉強を始めました。 どうぞお手柔らかにお願いします。
https://ogis-sandbox.work
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away