ubuntuでwordpressを構築するメリット
以前の記事でLocal by flywheelによるwordpressのローカル構築を記載しましたが、ネットワーク内の他のPCでブログ閲覧や編集ができないので、複数のPCを使い分けている人は、意外と不便に感じます。
本記事では、Linux(ubuntu 18.04LTS)へwordpressをインストールして、ネットワーク内のどのPCでもwordpress編集ができる構築方法を記載します。
ubuntsuでwordpressを動かす要件
wordpressは、PHPという言語で記述されており、データベースにMySQLを使います。またLinuxサーバーでWebを公開するので、apach2というWebサーバーの立ち上げも必要です。
したがって、以下の4アプリをインストールする必要があります
また、Linuxのwordpressは、インストールしただけだと足らないモジュールが複数ありますので、最後の設定まできちんとやっておきましょう。
- apach2(Webサーバー)
- PHP
- MySQL(MariaDB)
- wordpress本体
インストール手順
タイムゾーンの設定
apach2を立ち上げるためにタイムゾーンを設定します。sudo su -で、以後インストール作業でsudoの入力を不要しておきます。
$ sudo su -
# timedatectl set-timezone Asia/Tokyo
Webサーバーapach2のインストール
Webサーバー機能のapach2をインストールします。
# apt -y install apache2
# systemctl enable apache2
# systemctl start apache2
PHPのインストール
wordpressを動かすためのPHPをインストールします。
執筆時点でPHPの最新バージョンは7.4ですが、インストールパッケージは7.2で提供されていますので、最新バージョンは必要に応じて、後ほどアップデートすることにします。
# apt -y install php7.2 php7.2-mysql
MySQL(MariaDB)のインストール
MySQLをインストールします。
aptで検索して、出来るだけ最新バージョンをインストールします。
# apt -y install mariadb-server mariadb-client
# systemctl enable mariadb
# systemctl start mariadb
wordPressのインストール
wordpress本体を/ver/www にインストールします。wordpressは、たくさんのファイルがtarで固められている形なので、アーカイバを展開する形でインストールします。
# cd /var/www/html
# wget https://ja.wordpress.org/latest-ja.tar.gz
# tar xvf latest-ja.tar.gz
# exit ->super userから離脱
apach2がwordpressの記事をアクセスできるように、ownerをwww-dataとして、/var/www/htmlのownerを変更します。
$ cd /var/www/html
$ sudo chown -R www-data:www-data .
不要になったwordpressパッケージを削除して、./wordpressディレクトリを、プロジェクト名に名称変更します。
$ sudo rm latest-ja.tar.gz
$ sudo mv wordpress/ [プロジェクト名]
これでインストールは完了です。
動作確認
apache2の動作確認をします。
ブラウザでubuntuのIPアドレス(192.168.0.1 等)にアクセスすれば以下のような画面がでます。
wordpressの動作確認をします。
アドレスは[ipアドレス]/[プロジェクトディレクトリ名]/wp-adminです。
wordpressのログイン画面がでればインストール作業は完了です。
Apacheの初期設定
現状設定でも基本動作は出来ますが、wordpressで記載する記事のパーマリンクをデフォルトから変更すると、下層ページが404エラーになるため、apache2.confを編集して、パーマリンクの変更を許可するように設定を変更します。
$ cd /etc/apache2
$ sudo nano apache2.conf
テキストエディターが起動するので、/var/www のAllowOverride の設定を"None"から"All"に変更します。
Options Indexes FollowSymLinks
# AllowOverride None →#をつけてコメントアウト
AllowOverride All →この行を付け加えてアクティブにする
Require all granted
apach2.confの記述を有効にして、apach2を再起動します。
$ sudo a2enmod apache2.conf
$ sudo systemctl restart apache2
PHPモジュールの追加インストール
wordpressダッシュボードの確認
wordpressのダッシュボードでサイトヘルスを確認します。
するとwordpressが必要とするモジュールが入っていないと報告されているので、必須モジュールと推奨モジュールを追加インストールします。
推奨モジュールはなくても動作はしますが、テーマによっては動作しない場合もあるので、モジュールは一通り入れておいたほうが無難です。
PHPモジュールのインストール
PHP-gdは、グラフィックのサムネイルなどを表示する必須モジュールです。これがないとサムネイルが表示されなかったりするので、先にインストールします。
aptで該当モジュールを検索し、バージョンを確認したら、インストールします。
$ apt-cache search gd |grep php -> gdの最新版をサーチ
$ sudo apt install php7.2-gd ->php7.2-gdはサーチ結果を入力
$ sudo /etc/init.d/apache2 restart
同様に、PHP-curl, PHP-mbstring, PHP-dom, PHP-imagick, PHP-zipをインストールします。
domは、aptでの検索結果を見る限りでは、php7.2-xmlというモジュール名でした。
$ apt-cache search curl |grep php
$ sudo apt install php7.2-curl
$ apt-cache search dom |grep php
$ sudo apt install php7.2-xml
$ apt-cache search mbstring |grep php
$ sudo apt install php7.2-mbstring
$ apt-cache search imagick |grep php
$ sudo apt install php7.2-imagic
$ apt-cache search zip |grep php
$ sudo apt install php7.2-zip
PHPモジュールの有効化
PHPモジュールがインストール出来たら、apache2をリスタートして有効化します。
$ sudo /etc/init.d/apache2 restart
wordpressダッシュボードを確認し、サイトヘルスの指摘が消えていれば、作業は終了です。
PHPのバージョンアップは、慌てて行う必要がないので、後日アップデート方法を記載します。
これでwordpressが稼働できるようになりました。
linuxサーバーのローカル環境は、本番サイトと同様の操作となり、スタイルシートを替えるなど中規模な変更を行う場合に、一通りの検証作業ができますので重宝するとおもいます。
快適なwordpressライフを!