7/2 プレゼント応募方法の詳細リンク先が間違っていました。一度お読みの皆さん、申し訳ありませんでした。

WordPressをラズパイのLAMP環境へインストールする

wp-onthe-lamp-titleOS
この記事は約11分で読めます。
スポンサーリンク

タイトル通り、ワードプレス専用ラズパイサーバーを構築しようと思います。このラズパイダもレンタルサーバーのWordpress(ワードプレス)で運営しています。現在はどこでもそうですね。

今回の目的は、テスト環境として利用したいからです。

ワードプレスには、ブログやサイトを運営している人にはお馴染みの、テーマやプラグインといった物があります。最終的には細かくカスタマイズするのですが、大まかにテーマで機能も見た目も変更させたい時に使います。

プラグインはワードプレスに機能を追加する別のソフトウェアのことです。

CMS=コンテンツマネージメントシステム

これらテーマやプラグイン、そしてワードプレス自身のバージョンによっては不具合が生じることが多々あります。原因が解っていれば何でもないのですが、突き止められないとかなり困ったことに陥ります。

対処方法はいくつかありますが、実際にテスト環境で試してから導入すれば少しは免れるのと、デザインや機能を試してみたい時に重宝するからです。

自分だけの専用であれば、特に迷惑にもなりませんし、そもそも家庭内ネットワークの話です。外に公開するワケではありませんからプレイベートな状態です。

あっ、家庭内で使うブログページとしてもいいかも知れませんね。(大袈裟か)

今回の環境

今回、手元で動作させることと、サーバーなのでRaspberryPiは3B系がいいでしょう。有線でも無線でもどちらでも構いません。無線LAN(Wi-Fi)接続するなら、ノーマル3Bより3B+が3倍速いのでそちらがいいでしょう。今回は3B+でも勿体ないと思って、今となっては古いノーマル3Bで構築します。

なお、Raspberry Pi Zero W系ではCPUが遅くインストールにも時間がかかりますし、メモリーが512MBしかないので、サーバーとしても辞めた方がいいです。メモリーは1GBは欲しいところです。

ノーマル3BとACアダプター

画像のようにWi-Fiを使うのでとってもシンプルな構成です。

この中に、Raspbian、Apache、MariaDB(MySQL互換)、PHP、そして肝心のWordpressをインストールしていきます。

  1. Raspbian Buster (Liteが適任。メンテナンスを考えて通常やフル版でもOK)今回はフル版
  2. Apache(これがサーバーになります)
  3. MariaDB(これがデータベース機能)
  4. PHP(Wordpressを動かすためのサーバーサイドのプログラム)
  5. WordPress (ブログ構築システム)

Apacheのインストール

既にRaspbianがインストールされたラズパイ3BにSSHで接続できているところから説明します。(まだの方はイメージファイルからRaspbianのインストールをご覧いただきセットアップを済ませてください。)

sudo apt uodate && sudo apt upgrade
sudo apt install apache2 -y

Apacheの動作確認

インストールしたラズパイにモニターやキーボードを繋いでいれば、通常はWEBブラウザを立ち上げて「http://localhost」と入力して確認します。

今回の環境はSSHで接続しているヘッドレス状態なので、操作しているマシンからラズパイのIPアドレスを打ち込みます。(e.g. http://192.168.0.6/など)

Apache2 Debian Default Page

Apache2 Debian Default Pageが表示されればOKです。

ちなみにこのページ「index.html」は/var/www/htmlにあります。

PHPのインストール

もしPHPのバージョンを指定する場合はこの方法ではダメです。今回はとにかくインストールします。

sudo apt install php -y

現在、このラズパイダで動いているPHPとバージョンが同じでした。バージョン違いはこちらのページが詳しかったです→ウェブ人 https://webjin.work/ubuntu-php7-3-install/

libapache2-mod-php7.3 php-common php7.3 php7.3-cli php7.3-common php7.3-json
php7.3-opcache php7.3-readline
Suggested packages:
php-pear
The following NEW packages will be installed:
libapache2-mod-php7.3 php php-common php7.3 php7.3-cli php7.3-common
php7.3-json php7.3-opcache php7.3-readline
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.

PHPの動作確認

index.htmlの代わりにindex.phpでも新たに作成して確認します。

cd /var/www/html
sudo rm index.html
sudo nano index.php

以下を記入。

<?PHP echo date('Y-m-d H:i:s'); ?>

ファイルを作成したら、ここで一度Apacheを再起動しておきます。

sudo service apache2 restart

先程のhttp://localhost(またはラズパイのIPアドレス)で更新してみると現在の日時が出ていればOKです。

MariaDBのインストール

有名なDBはMySQLです。それと互換性があるMariaDBがRaspbianでは推奨されています。オープンソースだからです。

sudo apt install mariadb-server

MySQLの拡張であるphp-mysqlもインストール

これ、入れないと「Your PHP installation appears to be missing the MySQL extension which is required by WordPress.」とエラーが出ます。

sudo apt install php-mysql

mariadbを有効にして起動します。

sudo systemctl enable mariadb
sudo systemctl start mariadb

WordPressのインストール

最後にWordPressをインストールします。既に/var/www/htmlに居るとは思いますが、以下を順番に実行していきます。

cd /var/www/html
sudo rm *
sudo wget http://wordpress.org/latest.tar.gz
sudo tar xzf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz
sudo chown -R www-data: .
sudo rm *今居るフォルダの中身を全て削除
sudo wget http://wordpress.org/latest.tar.gzwordpressのファイルダウンロード
sudo tar xzf latest.tar.gzターボールを解凍
sudo mv wordpress/* .wordpressフォルダの中身全てを今居るフォルダに移動
sudo rm -rf wordpress latest.tar.gzターボールのファイルを削除
sudo chown -R www-data: .今居るフォルダのすべてにwww-data(Apache)所有権を与える

これでインストールは全て終わりです。

パイブラック
パイブラック

これ、難しそうにやっていますけど、やっていることは・・・、

「htmlというフォルダに最初からあるファイルを削除して空にして、その場所にワードプレスの圧縮ファイルをダウンロード&展開したけど、wordpressってフォルダの中にできちゃったから、htmlというフォルダに直に置きたいため移動しただけです」

で、最後にApacheサーバーが触れるように権限を与えた。つまり、そういうこと。

文章の方が長ぇ!

WordPressを動作させるには、データベースに登録設定しないとなりません。ここはちょっと難しいでしょう。MySQL内でコマンドを打ち作業します。

mariadbへWordPress用データベースのセットアップ

mysqlで入った後は、全て「MariaDB [(none)]> 」と表示されたMySQL内でのコマンドです。

sudo mysql

データベース「wordpress」を作成

MariaDB [(none)]> create database wordpress;

MySQLの新規ユーザーとパスワードの作成(新規ユーザーwordpressとしました)

  • ユーザー名:wordpress(任意で)
  • パスワード:password(任意で)
MariaDB [(none)]> CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'password';

mysqlを指定

MariaDB [(none)]> use mysql;

「use mysql;」とコマンドすると、

Database changed
MariaDB [mysql]>

先程のnoneだった部分がMariaDB [mysql]>と変わります。

この後、作ったデータベースにユーザーの権限を割り当てます。確認して一旦抜けます。

MariaDB [mysql]> select user,password,plugin from user;

一旦抜けます。

MariaDB [mysql]> exit

WordPressのユーザー名とパスワードを新規作成

もう一度入り直します。

sudo mysql

ここで権限を与えます。wordpressデータベースにwordpressというユーザー(パスワードはpassword)に使えるように権限を与えています。

MariaDB [(none)]> GRANT ALL on wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY 'password';

MySQLから抜けてお終いです。

MariaDB [(none)]> exit

ここまでのおさらい

仮の名前で説明しているのでややこしいですが、以下のように設定しました。

MySQL(≒MariaDB)のデータベース名は「wordpress」

MySQL(≒MariaDB)のユーザー名は「wordpress」パスワードは「password(任意)」

サーバーを再起動してワードプレスの設定に移ります。

sudo service apache2 restart

WordPressの初期設定

インストールとDBへの接続も終わったので、実際にWordPressをWEBブラウザから実行して、初期設定をしていきます。(ある意味ここはもうラズパイは関係ありません。wordpressのお話です

「http://localhost/wp-admin」をラズパイに繋いだキーボードからか、またはラズパイのIPアドレス(e.g. http://192.168.0.6/wp-admin)を操作しているマシン側のWEBブラウザから入力してみてください。(先程からApache、PHPで動作確認した手順と同様)

この画面が出ればOK!

この記事では、ユーザー名がwordpress、パスワードはpasswordで設定しています。ご自分と読み替えてください。他はそのままでOKです。

ここはこの時に初めて作成するユーザーになります。

メールアドレスは架空ので構いません。メールが送れるような設定をしていません。でも、入れないと続きませんから適当でOKです。(username@exsample.comなど)

完了です

最後に

やることが多いように思えますが、実はコマンドの数は多くありません。

Apache、PHP、MariaDB、WordPressのインストールはそれ程時間はかかりません。MySQLデータベースのユーザー作成が難しいでしょうか。

最後、WordPressの初期設定は、データベースのユーザー名とブログシステムの管理者名を間違えなければスムーズに終わると思います。

ローカルサーバーでWordPressを何に使えって?ということはありますが、自分でブログをやろうと思ってレンタルサーバーを借りる前に、WordPressってどんなかなーと触ってみるのには良いと思っています。

通常はローカル内なら構築したブログが外部に公開されることは決してありませんから、好き勝手に触って色々と試してみると良いと思いますよ。仮に、危ない?!と思ったらワードプレスをインストールしたラズパイのネットワークを切るか、電源を引っこ抜けば済む話です。はい。

余っているmicroSDカードがあったら試してみてください。

ラズパイダのレンタルサーバー

ちなみにレンタルしているレンタルサーバーはエックスサーバーです。このラズパイダの契約プランは最小のX10プランで充分な容量と速度になっています。レンタル利用料は僅か月額900円〜です。とにかく不具合がないのが魅力です。

料金一覧ページ

コメント

  1. ステップアップの展開として、自宅のラズパイサーバーを外部からアクセスする方法を伝授してください。お願いします。

    • いつもありがとうございます。
      外部からは難しいですよ・・・?
      あとケースバイケースがあるので、こうですとなかなか書けないんですよね。

      もし、良ければフォーラムでトピック立ててくれませんか?
      そこで分からないことを一つずつお聞きになるのなら、他のユーザーの方も参加して答えてくれると思います。

      一応、紹介しようと思っていたのは、owncloudから派生したNextCloudを更に派生?した、「NextCloudPi」なるプロジェクトがあります。
      NextcloudやSSHのDuckDNSは以前に書きました。NextcloudPiはDuckではなくno-ip.comに対応しているようです。

      自分でも構築したことはありますが、光接続でもアップスピードが遅いので実用的ではありませんでした。
      既存のCloudサービスを増量した方が安いですし、ホスティングサービスも安いので、メリットがあまりなくて・・・。
      構築するのは面白いかと思います。

      あと昔と違ってセキュリティに気を付けないとならないため、ハードルは上がっていますね。
      ラズパイというよりネットワークの設定が主です。

      簡単にできる紹介ができればスグに記事にしたいと思っています。

  2. ご回答ありがとうございます。確かに、テーマがラズパイからは離れてしまいますね。

    でも今後アップされる記事には期待いたします。

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