ubuntu(18.04LTS)でのwordpress構築の備忘録

WordPress

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ライフを!