WordPress
MySQL
Apache
RaspberryPi
vsftpd

初心者がラズパイでWordPressを動かすまでを雑に

やりたいこと

遠隔マシンからラズパイにWordPressを入れてメンテしたい
取り敢えず外部には公開せずに内部で最低限動くようにする

一部は先週やったので内容がなんか抜けてるかもしれない

前回の続きなのでラズパイに対しSSHやRDPで接続できることが条件

インストールの儀

取り敢えず必要なものをインストールする

HTTPDのインストール

何はともあれHTTPDがないと動かないのでApacheをインストール
sudo apt install apache2

PHPのインストール

PHPも必要なので入れる、これでApacheの方もいい感じにしてくれるらしい
sudo apt install -y php php-mysql libapache2-mod-php

DBMSのインストール

WordPressはMySQLを使うのでMySQLも入れる
sudo apt install mysql-server

PHPMyAdminのインストール

あると便利なので入れる
sudo apt install phpmyadmin
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo /etc/init.d/apache2 reload

FTPDのインストール

FTP経由でWordPress入れたいのでこれも必要
sudo apt install sysv-rc-conf
sudo apt install -y vsftpd

設定の儀

DBの設定

ユーザーを作る

CREATE USER '適当なユーザー名'@'localhost' IDENTIFIED BY [PASSWORD] '適当なパスワード';

DBを作る

CREATE DATABASE 適当なDB名;

ユーザーにDBの全権限を与える

GRANT ALL PRIVIREGES ON 作ったDB TO 作ったユーザー;

PHPMyAdminで確認

ここまでに設定した内容でログインでき、DBもあれば多分大丈夫

HTTPDの設定

初期設定のままだと操作しづらいので、操作しやすいように変える

HTTPルートの変更

sudo nano /etc/apache2/apache2.conf
で開いて、これを
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

こうする
<Directory /home/pi/Public/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

apacheを動かすユーザーの変更

sudo nano /etc/apache2/envvars
で開いて、これを
export APACHE_RUN_USER=www-data
こうする
export APACHE_RUN_USER=pi

こうしておかないとWordPressがファイルを書き込めなくなる

HTTPルートのパーミッション変更

vsftpdでのパーミッション操作に支障が出るので/home/pi/Public/を777にする

設定反映

sudo /etc/init.d/apache2 reload

設定確認

/home/pi/Public/に適当なファイルを置いてブラウザからアクセスできればおk

FTPDの設定

sudo nano /etc/vsftpd.conf
で開いて、以下のように変更

匿名ログインを拒否

anonymous_enable=NO

書き込みを有効化

write_enable=YES

設定反映

sudo systemctl restart vsftpd

設定確認

適当なフォルダとファイルをFTPからアップロードし、フォルダが755、ファイルが644でアップロードできればおk

WordPressインストールの儀

ここまでの設定を元にFTPでアップロードして、後は普通にWordPressインストールして動かすだけ
多分これで行けるはず!
(少なくともインストールしてログインするとこまでは確認出来たので)

最後に

PHPMyAdminはむき出しだし、セキュリティとか全く考えてないし、その辺の知識0なので外部公開はしない前提だよ!
(自宅のLAN内で完結)

関連