WordPressをUbuntuサーバーにインストールする

# WordPressをUbuntuサーバーにインストールする
# 環境
Conoha VPS
Ubuntu 18.04 LTS

ConohaのVPSにUbuntuをインストールするためには、以下の記事を参考にしてください。
[Conoha VPSでUbuntuサーバーを構築する方法](https://qiita.com/sknjpn/items/c8d51d0e8d5fbb8296ef)

# インストールするもの
[WordPressのRequirements](https://wordpress.org/about/requirements/)を参考に、以下のものをインストールする
* PHP 7.3以降
* MySQL 5.6以降
* Apacheをインストール

# PHPのインストール
Ubuntu 18.04 LTSでは、そのまま`sudo apt install php`とすると、PHP 7.2がインストールされてしまうため、リポジトリを追加してPHP7.4がインストールできるようにします。

``` sh
# リポジトリ追加のための管理パッケージのインストール
sudo apt install software-properties-common -y

# PHP用にリポジトリ追加
sudo add-apt-repository ppa:ondrej/php

# パッケージリストの更新
sudo apt update

# PHP 7.4をインストール
sudo apt install php7.4 php-mysql -y
```

参考:[How to install PHP (7.2, 7.3 or 7.4) on Ubuntu](https://thishosting.rocks/install-php-on-ubuntu/)

# MySQLのインストール
Ubuntu 18.04 LTSでは、`apt install`によってMySQL 5.7がインストール出来るので、そのままインストールします。

``` sh
# MySQLパッケージのインストール
sudo apt install mysql-server mysql-client -y

# MySQLのインストール(パスワード等の設定)
sudo mysql_secure_installation
# ここで、パスワードのレベルをLOW MEDIUM STRONGから選べと出てくる場所がありますが、LOW=0を選んだほうが後々楽です。
# 他の項目は全部yで答えるとよいと思います。
```

次に、mysqlを実行して、wordpress用のデータベースを作成します。

``` sh
# mysqlにrootユーザーで入ります。
sudo mysql -u root -p
# sudo用のパスワードを入力
# mysqlのrootユーザー用パスワードの入力

# 以下、mysql上でのコマンド入力です。

# mysqlのエンコード設定をutf8mb4に修正します。
show variables like 'character%';
set character_set_database=utf8mb4;
set character_set_server=utf8mb4;
show variables like 'character%';
# これで、latin1がutf8mb4になっているのが分かると思います。

# wordpress用のデータベースを作成します。(wordpress_dbは別の名前でもよい)
create database wordpress_db;

# wordpress用のユーザーを作成して、操作権限を付与する。passwordとdatabaseuserは置き換えてください。
grant all privileges on wordpress_db.* to databaseuser@localhost identified by 'password';
# Your password does not satisfy the current policy requirementsと出た場合は、複雑なパスワードに変更してください(*とかの特殊文字を入れる)

# mysql上の操作を終了
exit
```

これで、wordpressがデータベースを操作可能となりました。

参考:[MySQL 5.7 文字コードをUTF8に！日本語が登録できない！](https://server-recipe.com/1867/)
参考:[MySQLの設定 - WordPressのインストール](https://webkaru.net/linux/mysql-wordpress/)

# Apacheのインストール
以下のコマンドにしたがってインストールしてください

``` sh
# Apacheパッケージのインストール
sudo apt install apache2 -y
# Conoha VPSだと、もしかしたらすでにインストールされているかも？

# Apacheの実行するユーザーおよびグループの変更
sudo vim /etc/apache2/envvars
# export APACHE_RUN_USER=www-dataをexport APACHE_RUN_USER=sknjpnに、
# export APACHE_RUN_GROUP=www-dataをexport APACHE_RUN_GROUP=sknjpnにする。
# sknjpnは普段使うユーザー名に変更する。

# htaccessオーバーライドの有効化
sudo vim /etc/apache2/apache2.conf
# <Directory /var/www/>
#         Options Indexes FollowSymLinks
#         AllowOverride None
#         Require all granted
# </Directory>
# となっている部分のAllowOverride NoneをAllowOverride Allにする

# Apacheの再起動
systemctl restart apache2
```

この時点で、サーバーのIPアドレスに接続すると、Apache2 Default Pageが表示されるはずです。
Chrome等で、URLの欄に(x.x.x.x)のようなアドレスを入力してください。
このページは、`/var/www/html/index.html`ファイルを表しています。

参考:[Ubuntu 18.04 LTS : Apache2 : インストール](https://www.server-world.info/query?os=Ubuntu_18.04&p=httpd&f=1)

# WordPressのインストール

``` sh
# ホームディレクトリに移動
cd ~

# 最新のインストールファイルのダウンロード
wget https://ja.wordpress.org/latest-ja.tar.gz

# 解凍
tar xf latest-ja.tar.gz

# 元ファイルの削除
rm latest-ja.tar.gz

# ファイル移動
sudo mv wordpress/ /var/www/html/

# 権限の修正(sknjpnのところは、普段使うユーザー名に変更する)
sudo chown -R sknjpn:sknjpn /var/www/html/wordpress
```

# WordPressにアクセスする
これでWordPressにアクセスできるようになったはずです。
Chrome等で、URLの欄に(x.x.x.x/wordpress/)のようなアドレスを入力してください。
*WordPressにようこそ。*と表示されれば成功です。

参考:[Ubuntu 18.04 LTS に WordPress 5.3 をインストール](https://qiita.com/cherubim1111/items/265cfbbe91adb44562d5)
参考:[【Ubuntu 18.04/16.04 LTS Server】WordPressサーバをインストール](https://www.yokoweb.net/2017/01/31/ubuntu-wordpress-install/)

## もしうまくいかない場合は
もし、*お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。*と表示された場合は、以下の手順を試してください。
``` sh
sudo apt update
sudo apt upgrade -y
sudo systemctl restart apache2
```
これで再接続すれば解決するかもしれません。出来なければ、最初からやり直す等をおすすめします。

参考:[お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。と表示された対応](https://qiita.com/pugiemonn/items/6f642ffb0165f69dab3d)

# WordPress上のアカウント設定
*さあ、始めましょう！*をクリックしてください。  
データベース接続のための設定画面が出来てきますが、以下のように入力してください。
* データベース名(入力したものを使う):wordpress_db
* ユーザー名(入力したものを使う):databaseuser
* パスワード(入力したものを使う):password

残りの項目は変更せずに、送信を押してください。  
うまく出来たら、そのまま実行を押して続けてください。  

*ようこそ*の画面に入れたら、書いてある通りに入力してください。(サイトのタイトル等、たぶん個人によって違うので、お好きなように。)
うまく入力出来たら、そのままログインしてください。

おめでとうございます！これでインストール成功です。

# さいごに
環境等によっては、上記の通りにやってもうまくいかない場合がございます。  
その場合は、最初からやり直すか、環境に合わせた調整をお願い致します。  
何かご意見ご感想等ありましたら、お気軽にコメントして頂けると幸いです。  

以上で解説を終わります。