Windows 10 に Ubuntu を導入して、WordPress のテスト環境を作る

  • Ubuntu
  • Windows
  • WordPress

自分で Windows のローカル環境で WordPress を動かすまでのメモです。元々は XAMPP を使ってましたが、Windows で簡単に Ubuntu が導入できるということで、せっかくだからそこに環境を作ろうと思ったのが始まりです。

色々なサイトを参考にしていましたが、こちらの方の記事が非常に分かりやすかったので最初に貼っておきます。

Ubuntu 18.04 に WordPress 5.1 をインストール

Ubuntu のインストールと設定

まずは、Microsoft Store から Ubuntu 18.04 LTS をダウンロードしてください。ダウンロードしたら先へ進んでください。

Windows Subsystem for Linux を有効化する

有効化してない状態で Ubuntu を起動しようとすると下記のエラーが起きます。

Installing, this may take a few minutes… WslRegisterDistribution failed with error: 0x8007019e The Windows Subsystem for Linux optional component is not enabled. Please enable it and try again. See https://aka.ms/wslinstall for details. Press any key to continue…

アプリと機能 > プログラムと機能 > Windowsの機能の有効化または無効化 から、 Windows Subsystem for Linux を探してチェックを付けてください。その後で Ubuntu を起動してください。

リポジトリの変更

そのままだと海外サーバーのリポジトリを参照してしまうらしいので、日本のリポジトリに変更します。

sudo sed -i -e 's%http://.*.ubuntu.com%http://ftp.jaist.ac.jp/pub/Linux%g' /etc/apt/sources.list 

パッケージアップデート

sudo apt update
sudo apt upgrade

root パスワードを変更する

sudo su -
passwd

sudo su -で現在のログインパスワードを聞かれた時はパスワードを入力して root になります。その後passwdコマンドでパスワードを設定する。

Apache2 を導入する

ウェブサーバーである Apache2 を導入します。CentOS では Apache ですが、ubuntu では Apache2 というものになるらしい…

インストール

 apt-get install apache2 

この時、下記のエラーが出るときは root になる必要があるので、su コマンドで root 権限になった後にコマンドを実行してください。

E: Could not open lock file /var/lib/dpkg/lock-frontend – open (13: Permission denied) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

各種設定

サーバーネームを指定する

/etc/apache2/apache2.conf

ServerName yourServerName

サーバーの名前を設定します。デフォルトでは設定が書かれていないので追記します。名前は何でもいいようです。

VirtualHostの設定

/etc/apache2/sites-available/000-default.conf

DocumentRoot /var/www/html

とりあえず、/var/www/htmlをドキュメントルートとして設定しておきます。

シンボリックリンクを作成

/var/www/htmlにファイルを置いて確認するのは面倒なので、Windowsのフォルダの方を見るようにシンボリックリンクを張ります。/mnt/c/がCドライブの中になっているので、今回は/var/www/html/mnt/c/Users/your-user/Documents/webroot/にリンクを張り、こちらにファイルを置くだけでlocalhost/からアクセスできるようにします。





ln -s /mnt/c/Users/<あたなのユーザー名でございます>/Documents/<ウェブルートにするディレクトリだぞ>/ /var/www/html

<>のところは自分の環境に合わせてください。<ウェブルート>/index.htmlを作成すれば、localhost/でアクセスしたときに表示されます。これでとりあえず静的サイトのテスト環境が作れました。

apache2 の起動

 /etc/init.d/apache2 restart 

MySQL を導入する

WordPress を設置するため、MySQL もインストールします。

インストール

sudo apt install mysql-server mysql-client

起動

service mysql start

root パスワードの設定

MySQL にログインするための root 初期パスワードを設定します。

sudo mysql_secure_installation

データベースの作成

とりあえずデータベースを作成しておきましょう。

mysql -u root
mysql > CREATE DATABASE <任意のデータベースの名前を入れるんやぞ>;

データベースユーザーを作成

grant all on <データベース名>.* to <ユーザー名@localhost> identified by '<パスワード>'; MariaDB [(none)]> flush privileges; 

<>は任意!

PHP 7.2 を導入する

インストール

sudo apt install php7.2 libapache2-mod-php7.2
service apache2 restart

PHP をインストールした後に、apache2 を再起動してください。

WordPress を導入する

まずは公式サイトから WordPress の本体をダウンロードしてきます。そして先ほどドキュメントルートとして設定したフォルダに移し、localhost/wordpress/wp-adminにアクセスしてインストールを開始します。

mod_rewrite を有効化する

WordPress では .htaccess のリダイレクトを有効にしなくてはならないため、mod_rewrite を有効にします。

sudo /usr/sbin/a2enmod rewrite

さらに、.htaccess を使用できるようにするため、AllowOverrideをAllに設定します。Noneになっていると、.htaccess で上書きできなくなってしまいます。

/etc/apache2/apache2.conf

<Directory /var/www/html>
        Options Indexes FollowSymLinks
#         AllowOverride None
        AllowOverride All  
        Require all granted
</Directory>

最後に、apache2 を再起動しましょう。

service apache2 restart

ここまで出来たら、WordPress のパーマリンクの設定を更新して記事を投稿してみましょう。

参考:
https://qiita.com/Aruneko/items/c79810b0b015bebf30bb
https://qiita.com/shita_fontaine/items/40a086265f0cf07d10e0