kusanagi RoDでブログ構築(3)
前回はKUSANAGI RoDとWordPressのインストールについて説明しました。
今回はWorkPressの設定について説明します。
WordPress初期設定の前に、WordPress用のサーバ設定をします。
ダッシュボードのセキュリティ対応
wordpressの管理画面にログインすると次のようなメッセージが表示されました。
wp-content/ フォルダの権限は 750 です、推奨フォルダ権限は 755 です。 wp-content/ フォルダのオーナーは www.kusanagi です、推奨フォルダオーナーは kusanagi.kusanagi です。
フォルダの権限とオーナーを変更する必要がありそうです。
フォルダの権限変更
推奨フォルダ権限とするために、まずは、config containerに入ります。
ユーザはunknownとなりますがkusanagiのユーザIDです。
~/wordpress/kusanagi01$ docker-compose run config sh
wp-content/のpermissionを755に設定します。
/ $ ls -la /home/kusanagi/kusanagi01/DocumentRoot/ total 216 drwxr-x--- 5 1000 1001 4096 Aug 3 00:48 . drwxr-xr-x 6 1000 1001 4096 Aug 3 00:48 .. -rw-r--r-- 1 1000 1001 405 Aug 3 00:48 index.php ... drwxr-x--- 9 1000 1001 4096 Aug 3 06:26 wp-content ... -rw-r--r-- 1 1000 1001 3133 Aug 3 00:48 xmlrpc.php / $ chmod 755 /home/kusanagi/63baee6533287fc95b50fc6b/DocumentRoot/wp-content/
フォルダのオーナー変更
docker container(httpd)に入ります(ユーザはkusanagi)
~/wordpress/kusanagi01$ docker exec -it --user 1000 kusanagi01_httpd sh
chonwでオーナ変更(kusanagi.www→kusanagi.kusanagi)します。
/ $ ls -la /home/kusanagi/kusanagi01/DocumentRoot/ total 216 drwxr-x--- 5 kusanagi www 4096 Aug 3 00:48 . drwxr-xr-x 6 kusanagi www 4096 Aug 3 00:48 .. -rw-r--r-- 1 kusanagi www 405 Aug 3 00:48 index.php ... -rw-r--r-- 1 kusanagi www 3133 Aug 3 00:48 xmlrpc.php / $ chown kusanagi.kusanagi /home/kusanagi/63baee6533287fc95b50fc6b/DocumentRoot/wp-content/
SMTPメール設定
セキュリティ対応の後はメール設定です。
設定前までは、システム設定変更やシステムからのメール送信をしても、宛先のメールアドレスで受信することはできませんでした。
いろいろ調べてみると、WordPressはPHPが実行されるWebサーバのメールサーバが利用されるということが判明しました。
VPS上に構築したサーバではメールサーバを使っていないことが原因でメール送信ができていませんでした。
解決方法
Webサーバではなく、外部のメールサーバ経由でメール送信できる方法があり、それで送信することにしました。メール送信がうまくいかないことで結構ハマりました。
phpのメール送信からSMTPのメール送信へ変更するには、下記を参考にGmailを設定します。
GCP設定
OAuth同意画面
アプリケーション名:★任意のアプリ名
認証情報
- 「認証情報を作成」を押下します。
- OAuthクライアントIDの作成を押下します。
- アプリケーションの種類:ウェブアプリケーション
- 名前:SMTP – ★自身のサイトのドメイン名
- 設定の保存後に「OAuth 2.0 クライアント ID」の表の作成した行の名前列をクリックします。
WP Mail SMTP設定
- GCPの「クライアントID」と「クライアントシークレット」をコピーしてWordPressのWP Mail SMTPの画面に貼り付けて「保存」ボタン押下します。
- 「Allow plugin to send emails using your Google account」ボタンが出現するので押下します。
- Googleのページが表示されます。
- 詳細を押下し、「ドメイン名(安全ではないページ)」を押下します。
- 次の画面で「許可」を押下します。
- 「選択内容を確認してください」というページになるので「許可」を押下します。
システム設定
PHPファイル制限変更
テーマをアップしようとすると下記のエラーメッセージが出ます。
アップロードされたファイルが php.ini の upload_max_filesize ディレクティブを越えています。
下記の記事を参考にtarget直下にphp/uploads.iniを作成します。
target(kusanagi01)直下にあるdocker-compose.yamlファイルを編集します。
servicesのphpのvolumeに設定ファイルを記載します。
volumes: - database:/var/run/mysqld - kusanagi:/home/kusanagi - ./php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini # 追加
コンテナを再起動します。
$ docker-compose down $ docker-compose up -d
kusanagi-httpdのログ出力をDockerの標準ログ出力にする
ターゲットディレクトリにnginx/conf.d/mylogs.confを作成し、下記を記載します。
error_log /dev/stderr warn; access_log /dev/stdout main;
docker-compose.ymlでhttpdサービスのvolumesへ下記を追記します。
- ./nginx/conf.d/mylogs.conf:/etc/nginx/conf.d/mylogs.conf
WordPress初期設定
上記に従い設定しました。
テーマ有効化
テーマを有効にすると下記のエラーが出ます。
エラー対応
ファイルを作成・保存できる権限がありません。 以下のファイルもしくはディレクトリの所有者およびパーミッションを確認してください。 /home/kusanagi/63baee6533287fc95b50fc6b/DocumentRoot/wp-content/themes/luxeritas ファイルを作成・保存できる権限がありません。 以下のファイルもしくはディレクトリの所有者およびパーミッションを確認してください。 /home/kusanagi/63baee6533287fc95b50fc6b/DocumentRoot/wp-content/themes/luxech
wp-content/themes/のディレクトリのオーナとpermission変更します。
~/wordpress/kusanagi01$ docker exec -it --user 1000 kusanagi01_httpd sh / $ ls -la /home/kusanagi/63baee6533287fc95b50fc6b/DocumentRoot/wp-content/ total 36 drwxr-xr-x 8 kusanagi kusanagi 4096 Aug 6 14:12 . drwxr-x--- 5 kusanagi www 4096 Aug 6 14:12 .. -rw-r--r-- 1 kusanagi www 28 Aug 6 14:12 index.php drwxr-x--- 4 kusanagi www 4096 Aug 6 14:12 languages drwxr-xr-x 3 kusanagi www 4096 Jul 31 12:57 mu-plugins drwxr-x--- 4 kusanagi www 4096 Aug 6 14:28 plugins drwxrwxr-x 7 kusanagi www 4096 Aug 7 14:26 themes drwxr-xr-x 2 kusanagi www 4096 Aug 7 14:26 upgrade drwxrwx--- 3 kusanagi www 4096 Aug 6 14:12 uploads / $ chown -R kusanagi.www /home/kusanagi/63baee6533287fc95b50fc6b/DocumentRoot/wp-content/themes/ / $ chmod 775 -R /home/kusanagi/63baee6533287fc95b50fc6b/DocumentRoot/wp-content/themes/ / $ ls -la /home/kusanagi/63baee6533287fc95b50fc6b/DocumentRoot/wp-content/ total 36 drwxr-xr-x 8 kusanagi kusanagi 4096 Aug 6 14:12 . drwxr-x--- 5 kusanagi www 4096 Aug 6 14:12 .. -rw-r--r-- 1 kusanagi www 28 Aug 6 14:12 index.php drwxr-x--- 4 kusanagi www 4096 Aug 6 14:12 languages drwxr-xr-x 3 kusanagi www 4096 Jul 31 12:57 mu-plugins drwxr-x--- 4 kusanagi www 4096 Aug 6 14:28 plugins drwxrwxr-x 7 kusanagi www 4096 Aug 7 14:26 themes drwxr-xr-x 2 kusanagi www 4096 Aug 7 14:26 upgrade drwxrwx--- 3 kusanagi www 4096 Aug 6 14:12 uploads / $
plugin追加
WP Multibyte Patch:日本語サイトの不具合を解消
問題なく有効化できました。
EWWW Image Optimizer:画像を自動的に圧縮してくれる
インストールは成功。有効化するとエラーになりました。
- エラー対応その1
EWWW Image Optimizer はツールフォルダーを作成できませんでした。: /home/kusanagi/63baee6533287fc95b50fc6b/DocumentRoot/wp-content/ewww/. パーミッションを調整するかフォルダーを作成してください。.
- エラー対応その2
EWWW Image Optimizer は jpegtran, optipng, pngout, pngquant, gifsicle, and cwebp を使用します。 jpegtran, gifsicle がありません。 設定ページ と インストール手順 をインストールしてください。
両方ともwp-contentのパーミッションを変更したらエラー解消しました。
jtamura@118-27-10-228:~/wordpress/vhosts/kusanagi01$ docker exec -it --user 1000 kusanagi01_httpd sh / $ ls -la /home/kusanagi/kusanagi01/DocumentRoot/ total 220 drwxr-x--- 5 kusanagi www 4096 Apr 30 16:48 . drwxr-xr-x 6 kusanagi www 4096 Apr 30 16:48 .. -rw-r--r-- 1 kusanagi www 405 Apr 30 16:48 index.php -rw-r--r-- 1 kusanagi www 19915 Apr 30 16:48 license.txt -rw-r--r-- 1 kusanagi www 7345 Apr 30 16:48 readme.html -rw-r--r-- 1 kusanagi www 7165 Apr 30 16:48 wp-activate.php drwxr-xr-x 9 kusanagi www 4096 Apr 30 16:48 wp-admin -rw-r--r-- 1 kusanagi www 351 Apr 30 16:48 wp-blog-header.php -rw-r--r-- 1 kusanagi www 2328 Apr 30 16:48 wp-comments-post.php -rw-r--r-- 1 kusanagi www 2913 Apr 30 16:48 wp-config-sample.php drwxr-x--- 8 kusanagi www 4096 Apr 30 16:48 wp-content -rw-r--r-- 1 kusanagi www 3939 Apr 30 16:48 wp-cron.php drwxr-xr-x 25 kusanagi www 16384 Apr 30 16:48 wp-includes -rw-r--r-- 1 kusanagi www 2496 Apr 30 16:48 wp-links-opml.php -rw-r--r-- 1 kusanagi www 3313 Apr 30 16:48 wp-load.php -rw-r--r-- 1 kusanagi www 44994 Apr 30 16:48 wp-login.php -rw-r--r-- 1 kusanagi www 8509 Apr 30 16:48 wp-mail.php -rw-r--r-- 1 kusanagi www 21125 Apr 30 16:48 wp-settings.php -rw-r--r-- 1 kusanagi www 31328 Apr 30 16:48 wp-signup.php -rw-r--r-- 1 kusanagi www 4747 Apr 30 16:48 wp-trackback.php -rw-r--r-- 1 kusanagi www 3236 Apr 30 16:48 xmlrpc.php / $ chmod 775 /home/kusanagi/63baee6533287fc95b50fc6b/DocumentRoot/wp-content / $ ls -la /home/kusanagi/kusanagi01/DocumentRoot/ total 220 drwxr-x--- 5 kusanagi www 4096 Apr 30 16:48 . drwxr-xr-x 6 kusanagi www 4096 Apr 30 16:48 .. -rw-r--r-- 1 kusanagi www 405 Apr 30 16:48 index.php -rw-r--r-- 1 kusanagi www 19915 Apr 30 16:48 license.txt -rw-r--r-- 1 kusanagi www 7345 Apr 30 16:48 readme.html -rw-r--r-- 1 kusanagi www 7165 Apr 30 16:48 wp-activate.php drwxr-xr-x 9 kusanagi www 4096 Apr 30 16:48 wp-admin -rw-r--r-- 1 kusanagi www 351 Apr 30 16:48 wp-blog-header.php -rw-r--r-- 1 kusanagi www 2328 Apr 30 16:48 wp-comments-post.php -rw-r--r-- 1 kusanagi www 2913 Apr 30 16:48 wp-config-sample.php drwxrwxr-x 10 kusanagi www 4096 May 5 22:42 wp-content -rw-r--r-- 1 kusanagi www 3939 Apr 30 16:48 wp-cron.php drwxr-xr-x 25 kusanagi www 16384 Apr 30 16:48 wp-includes -rw-r--r-- 1 kusanagi www 2496 Apr 30 16:48 wp-links-opml.php -rw-r--r-- 1 kusanagi www 3313 Apr 30 16:48 wp-load.php -rw-r--r-- 1 kusanagi www 44994 Apr 30 16:48 wp-login.php -rw-r--r-- 1 kusanagi www 8509 Apr 30 16:48 wp-mail.php -rw-r--r-- 1 kusanagi www 21125 Apr 30 16:48 wp-settings.php -rw-r--r-- 1 kusanagi www 31328 Apr 30 16:48 wp-signup.php -rw-r--r-- 1 kusanagi www 4747 Apr 30 16:48 wp-trackback.php -rw-r--r-- 1 kusanagi www 3236 Apr 30 16:48 xmlrpc.php
Broken Link Checker
問題なく有効化できました
パーマネントリンク設定
- nginxコンテナのconfファイルを配置します。
~/wordpress/kusanagi01$ docker exec -it kusanagi01_httpd sh / $ find ./ -name "*.conf" find: ./root: Permission denied find: ./proc/tty/driver: Permission denied ./etc/sysctl.conf ./etc/sysctl.d/00-alpine.conf ./etc/udhcpd.conf ./etc/modprobe.d/blacklist.conf ./etc/modprobe.d/kms.conf ./etc/modprobe.d/i386.conf ./etc/modprobe.d/aliases.conf ./etc/nginx/nginx.conf ./etc/nginx/naxsi.d/naxsi_core.rules.conf ./etc/nginx/naxsi.d/general/user.conf ./etc/nginx/naxsi.d/general/default.conf ./etc/nginx/naxsi.d/wordpress/user.conf ./etc/nginx/naxsi.d/wordpress/default.conf ./etc/nginx/naxsi.d/common/user.conf ./etc/nginx/naxsi.d/common/default.conf ./etc/nginx/conf.d/default.conf ./etc/nginx/conf.d/security.conf ./etc/nginx/conf.d/kusanagi_naxsi_core.conf ./etc/nginx/fastcgi.conf ./etc/resolv.conf / $
- ./etc/nginx/nginx.confの最終行に下記のように記載されている。その場所に*.confファイルを置けば反映されます。
include /etc/nginx/conf.d/*.conf;
今回はWorkPressの設定について説明しました。
次回はhttps化(SSL設定)について説明します。
ディスカッション
コメント一覧
まだ、コメントがありません