右向き矢印のメモ帳

技術系の備忘録とか

Apacheサーバ上にWordPressを構築して公開する

※この記事は、右向き矢印の日記帳 – 備忘録とか日常とかに掲載しているものと同じものになります。良ければこちらの方もどうぞ!

はじめに

前回までの記事の続きとなります。今回の記事で、ラズパイ上にApacheサーバを立ててWordPressを構築し、外部に公開するまでの一連の流れが終了となります。 少し作業が多いですが頑張りましょう! また、今回の作業はLAN内でのssh接続で行っている前提で進めます。

環境

  • ハード: Raspberry Pi 3 Model B
  • OS: Raspbian Stretch
  • サーバ: Apache2(2.4.25)

WordPressをインストールする前に

WordPressを使用するには、WordPressに使用されている言語であるPHPと、データベースをインストールする必要があります。今回は以下のものを入れていきます。

まずはこれらのパッケージをインストールしていきましょう。apt-getコマンドだと依存関係を解決するのが大変だったので、自分はaptitudeコマンドを使用しました。

$ sudo aptitude install php-7.0 php7.0-cgi mariadb

aptitudeコマンドを使用すると、依存関係のパッケージが足りない時に解決方法を提示してくれます。nを押すと他の選択肢が提示されるので、全ての依存関係のパッケージをインストールするという選択肢が出てきたら実行しましょう。

データベースの作成

次にmariaDBWordPress用のデータベースを作成します。mariaDBmySQLと同じような操作で使えます。

例として、データベースの名前をwordpress、ユーザー名をwpadmin、パスワードをpasswdとします。

CREATE DATABASE wordpress;

CREATE USER 'wpadmin'@'localhost' IDENTIFIED BY 'passwd';

GRANT ALL ON 'wordpress'.* TO 'wpadmin'@'localhost';

WordPressパッケージのインストール

前準備が終わったので、次はwordpressのパッケージをインストールします。

$ sudo apt-get install wordpress

パッケージのインストールが終わったら、次にwp-config.phpにデータベースの設定を書き込みます。

最初にwp-config-sample.phpの内容をwp-config.phpにコピーします。

$ sudo cp wp-config-sample.php wp-config.php

コピーしたらwp-config.phpを開いて、以下の部分を先ほど作成したデータベース名やユーザ名、パスワードに変更します。

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wpadmin');

/** MySQL database password */
define('DB_PASSWORD', 'passwd');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Apacheの設定を変更する

次に、Apacheの設定をいろいろ変更していきます。

Apachephpファイルを読み込むように設定する

現状では、Apachephpファイルを読み込むように設定されていないと思うので、phpファイルも読み込むように設定を変更します。/etc/apache2/apache2.confを開き、Directory /var/www の中にAddHandler .phpという記述を書き加えてください。

<Directory /var/www/>
    ...
    AddHandler .php    #この記述を書き加える
</Directory>

設定が終わったら、apacheを再起動し、var/www/htmlにtest.phpという名前で以下のようなファイルを作成し、phpの情報が見れるかを確認してみましょう。

<?php phpinfo(); php>

ブラウザでラズパイのローカルIPアドレス/test.phpを開き、phpの情報が表示されれば成功です。

ドキュメントルートを変更する

設定の書き込みが終わったら、次にApacheのドキュメントルートを変更します。今のままだと、/var/www/html下にあるファイルが読み込まれるようになっていると思うので、これを変更します。/etc/apache2/sites-available/000-default.confを開き、DocumentRootをwordpressがインストールされたディレクトリに変更してください。

DocumentRoot /ここにwordpressがインストールされているパス/

/var/www下に無いと気持ち悪いという方はmvコマンドなりでwordpressディレクトリの位置を変更してから設定して下さい。僕は/var/www下にwordpressディレクトリを移動し、DocumentRoot /var/www/wordpressに変更しました。

いよいよWordPressをインストール!

ここまで来たら仕上げに入ります。

ブラウザでhttp://ラズパイのIPアドレス/wp-admin/install.phpにアクセスし、画面の指示に従って最終的なインストールを行います。

登録したユーザ名とパスワードでログインし、ダッシュボードが開けば完了です!

外部から見られるように

最後に外部からサイトを見られるように設定しましょう。

wordpressのダッシュボードを開き、設定→一般を開きます。

開いたら、wordpressアドレスとサイトアドレスを自分で取得したドメイン名に変更します。(自分は前回紹介したMyDNSを使って取得しました。)

また、wp-config.phpに直接設定を書きこむ方法もあります。この方法だとダッシュボードからアドレスを変更できなくなるので注意してください。

define('WP_SITEURL', '取得したアドレス');
define('WP_HOME', '取得したアドレス');

ただしこの操作を行うことで、LAN内からwordpressにアクセスすることができなくなるので注意してください。もしかしたらうまい回避方法はあるのかもしれないけど...