Raspberry Pi4 を WebサーバにしてWordPressを立ち上げる

Raspberry Pi4B wordpress サーバー

OSのインストール

こちらでOSのインストールの流れを書いているので割愛。

OSインストール後の初期設定

ubuntuパスワードの変更

初回ログイン時、IDもPWもubuntu。
なので、このパスワードを変更せよと言われるので、表示されるメッセージのままに
カレントパスワードを入力後、新パスワードを入力、続いて確認のためにもう一度新パスワードを入力して完了。

タイムゾーンの設定

UTC が標準で設定されているので、それを Asia/Tokyo に変更。

$ sudo timedatectl set-timezone Asia/Tokyo

設定前

$ sudo timedatectl
               Local time: Sat 2021-05-15 12:27:12 UTC
           Universal time: Sat 2021-05-15 12:27:12 UTC
                 RTC time: n/a
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

設定後

$ timedatectl
               Local time: Sat 2021-05-15 21:34:44 JST
           Universal time: Sat 2021-05-15 12:34:44 UTC
                 RTC time: n/a
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

IPアドレスの固定

WebサーバなどがdhcpでIPアドレスを割り振られるなんて事はあまりないので、固定する。

$ cd /etc/netplan/
$ sudo vi 50-cloud-init.yaml
network:
   version: 2
   ethernets:
      eth0:
         dhcp4: false
         addresses: [192.168.x.y/24]
         gateway4: 192.168.x.1
         nameservers:
            addresses: [192.168.x.z]

各種インストールと設定

apache2のインストール

$ sudo apt apache2

これだけでとりあえずapache2がインストールされて起動する。
Raspberry Pi4 に設定したIPアドレスをブラウザで叩けば下記のように表示される。

phpのインストール

$ sudo apt php php-mysql php-fpm
$ sudo systemctl restart apache2

とりあえず、これでphpがインストールされて、test.phpという名前のファイルを /var/www/html/ において、内容を下記のようにし、ブラウザからこのファイルに対してアクセスしてみる。

<?php
phpinfo();
?>

下図のようにずらずらと出てくればphpの動作もOK。

vsftpdのインストール

ファイルをアップロードするのにftpサーバがあると便利なのでインストール。

$ sudo apt install vsftpd

mariaDBのインストール

WordPressでは今までmysqlを使ってきたけど、mariadbの方が速度的にも有利とのことなので、そろそろmariadbを使い始めてみる。

$ sudo apt install mariadb-server

初期設定

$ sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):

ここではいったんそのままエンターを押して進める。

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n]

次にパスワードの設定を求められるけど、ここも一旦は[n]で続ける。

後は4つ程の質問に対して全て[y]と答えておけば初期設定の完了。

続いて、adminアカウントを作成します。
いままではrootアカウントをそのまま使用していたけど、それだと不都合出る事があるようなので、新たにadminを作成。
もちろん password の部分はちゃんとadminのパスワードを入力のこと。

$ sudo mariadb
MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

WordPress用のデータベースを作成。

$ mysql -u admin -p

mysql> create database '作成したいデータベース名' default character set utf8;
mysql> create user 'ユーザー名'@localhost identified by 'ユーザーのパスワード';
mysql> grant all on '作成したデータベース名'.* to 'ユーザー名'@localhost with grant option;
mysql> flush privileges;
mysql> exit;

WordPressのインストール

WordPressの入手は下記URLから。

ブログから大規模サイトまで作れる CMS - WordPress.org 日本語
簡単に美しいサイト、ブログ、アプリを作成するのに使えるオープンソースソフトウェア。

下記コマンドでもOK。

sudo wget https://ja.wordpress.org/latest-ja.tar.gz

ダウンロードしたファイルを apacheのドキュメントルートに保存。
デフォルトでは /var/www/html 。

その後、ダウンロードしたファイルを解凍するとwordpressというフォルダの中にいろいろとできあがる。

そのフォルダの権限設定を確認すると、rootになっているかと思うので、apache2がアクセス出来るように www-data にオーナーもグループも変えておく。

$ sudo chown -R www-data:www-data ../html
$ sudo chmod 755 html

その中で、wp-config-sample.php というファイルがあるので、これを wp-config.php としてコピーを作成し、内容を編集していく。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'xxxxx' );/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'xxxxx' );
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'xxxxx' );

(中略)

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

尚、後半は
https://api.wordpress.org/secret-key/1.1/salt/
にアクセスすると自動生成してくれるので、それをコピペした方が楽。

ここまで済んだら、ブラウザで http://IPアドレス/wordpress/ にアクセスすればインストールがウィザード形式で開始される。
あとは指示通りに設定を進めていけば完了。

今回購入した物リスト

Amazon.co.jp: 正規代理店商品 Raspberry Pi 4 Model B (8GB) made in UK element14製 技適マーク入: パソコン・周辺機器
Amazon.co.jp: 正規代理店商品 Raspberry Pi 4 Model B (8GB) made in UK element14製 技適マーク入: パソコン・周辺機器
Amazon | Transcend microSDカード 64GB UHS-I Class10 Nintendo Switch 動作確認済 安心の5年保証 TS64GUSD300S-AE【Amazon.co.jp限定】 | トランセンドジャパン | パソコン・周辺機器 通販
Transcend microSDカード 64GB UHS-I Class10 Nintendo Switch 動作確認済 安心の5年保証 TS64GUSD300S-AE【Amazon.co.jp限定】がパソコン・周辺機器ストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送...

この記事にコメントしてみる

タイトルとURLをコピーしました