MariaDB に WordPress を導入
wget https://ja.wordpress.org/latest-ja.tar.gz
tar -xzvf latest-ja.tar.gz
sudo su
mysql -u root
MariaDB [(none)]> use mysql
データベースの作成。
MariaDB [(none)]> create database dbname;
作成したデータベースに、ユーザー名とパスワードを設定。
MariaDB [(none)]> grant all on dbname.* to username@localhost identified by'password';
MariaDB [(none)]> exit
サンプル用の設定ファイルをコピーする。
cp /home/yaopi/arakoki70/wordpress/wp-config-sample.php /home/yaopi/arakoki70/wordpress/wp-config.php
sudo nano /home/yaopi/arakoki70/wordpress/wp-config.php
define('DB_NAME', 'dbname'); ← データベース名'DB_USER', 'username'); ← データベースのユーザー'DB_PASSWORD', 'password'); ← データベースのパスワードースのパスワード'WPLANG', 'ja'); ← 使用言語を日本語に設定'FS_METHOD', 'direct'); ← ファイルのオーナーをチェックしない
下記『ようこそ』画面が表示されるので、必要情報を入力し『wordpress をインストール』をクリックする。
インストールが『成功しました!』画面が表示されるので、『ログイン』をクリックする。
管理画面へのログイン。
ダッシュボード画面が表示される。
『サイトのカスタマイズ』をクリックした時の画面。
『別のテーマに変更する』をクリックした時の、外観_テーマの変更画面。【 Twenty Seventeen 】になっている。
【 Twenty Seventeen 】のトップ画面を表示してみる。フルスクリーンで画像が表示される。
右下の矢印をクリックすると、記事一覧が表示される。
記事のタイトルをクリックすると、記事内容が表示される。【 Twenty Sixteen 】とイメージが異なるが、記事が表示される幅はほぼ同じに見える。
一般設定画面。当然ながら、URLがローカルになっている。
・所有ユーザを nginx に、
・所有グループを USER に、
変更することで解決。
chown -R www-data:yaopi /home/yaopi/arakoki70
root@yaopi70:/home/yaopi# ls -l /home/yaopi/
total 8
drwx---rwx 13 yaopi yaopi 4096 Sep 23 09:58 arakoki70
drwxr-xr-x 3 yaopi yaopi 4096 Sep 23 05:30 work
chown -R yaopi:yaopi /home/yaopi
パーマリンク設定画面。ディフォルトでは記事番号になっている。一度記事を投稿しだすと、パーマリンクの(URLの形式)変更は困難をきたすので、最初から決定しておく必要がある。
SEOを考慮するのであればカスタム構造の空欄に【/%postname%/】と設定する・・・という説が多いが、この場合、記事のタイトルがパーマリンクに自動で挿入されため、タイトルが日本語の場合は日本語が自動で入る。
日本語のパーマリンクで記事が公開されると、URLは『%%E3%83%AF%…』のように無意味な文字列になってしまうので、記事投稿時に【分かりやすい】【半角英数字を使用した名称】に、パーマリンクを『編集』する必要がある。
###############
server {
#ポート80番をlisten
listen 80;
#サーバー名
server_name_;
#ドキュメントルート
root /home/yaopi/arakoki70;
# DirectoryIndex
index index.php index.html;
# ロケーションドメイン/に適用ブロック
location / {
# 左側からマッチするかチェックしていく
# 適合がないので、@wordpressブロックを適用する
try_files $uri $uri/ @wordpress;
}
# 拡張子が .phpにマッチした場合に適用されるブロック
location ~ .php$ {
# 前のブロック同様にマッチしなければ @wordpressブロックを適用する指定
try_files $uri @wordpress;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
# 先に include しておかないと次の$fastcgi_script_nameが無効になる
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# ファイルがマッチしない場合に適用する@wordpressブロック
location @wordpress {
fastcgi_index index.php;
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
include fastcgi_params;
# ※ここがミソ。リクエストに関係なくすべて、index.phpを実行する
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
}
}
###############
sudo /etc/init.d/nginx restart
functions.php
/*
Theme Name: Twenty Seventeen child
Template: twentyseventeen
Version: 1.1
*/
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
//以下に子テーマ用の関数を書く
これで、カスタマイズが WordPress のバージョンアップに影響されることなく行えるようになった。
これから、外観やサイトのカスタマイズを完成させ、記事を投稿して行く。
以上。
(2017.09.18)
分かりやすい情報で参考にしております。
ありがとうございます。
RaspberryPiでnginx+MariaDB+php-fpmでWEBサーバー構築中です。
こちらのページを参考にWordPressをインストールしていますが、下記のエラーがでてインストールが中断しました。
504 Gateway Time-out
nginx/1.10.3
解決策を調べていますが、未だにわからないままです。
php-fpm.conf でlog_level = debugにしたところ下記のログが大量にでました。
[04-Jan-2018 15:33:16.329061] DEBUG: pid 20344, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 0 active children, 2 spare children, 2 running children. Spawning rate 1
WordPressインストール時にこのような症状はでましたでしょうか。教えて頂けると幸です。
かず
少しでも参考になれば幸いです。
お問い合わせの件、そのような症状に遭遇したことがなく、適切なアドバイスが出来る能力がありません。
WordPress導入前の状態というか、Webサイトとしてのindex.htmlは正常に表示されるのでしょうか。
ルートディレクトリーに、WordPressをインストールしていない状態との切り分けをされてみてはいかがでしょうか。
こんな返信で、申し訳ありません。
tacsan様
ご返信ありがとうございます。
静的ファイルindex.htmlやindex.php(phpinfo()の実行結果)は正常に表示できました。
php7.0-fpmの動作がおかしいのかな、と思っているのですがしばらく調べてみます。
こちらのページのRaspberryPi情報は面白くて充実しているので楽しく勉強させていただいています。
また立ち寄らせていただきます。
かず
tacsan様
結果のご報告になります。
WordPressのインストールに成功しました。
phpの処理時間が長引くとタイムアウトになることが原因でした。
やったこと
/etc/nginx/sites-available/defaultファイルを記載しました。
server {
:
:
省略
:
fastcgi_read_timeout 1000;
}
予想以上にWordPressのインストールに時間がかかるのだと分かりました。
他のファイルを編集するような情報もありましたが、
結果的には、タイムアウトの時間を伸ばすことでうまくいきました。
失礼します。
かず
良かったですね。
おめでとうございます!