golangの日記

Go言語を中心にプログラミングについてのブログ

Ubuntu18.04 WordPress + apache2.4 + php7.3 + mysql5.7

default-gray.png


以下、Ubuntu 18.04 で apache2.4, php7.3, mysql5.7 をインストールして Wordpress をローカルで構築手順


  • php のインストール
    $ sudo apt install software-properties-common
    $ sudo apt-add-repository ppa:ondrej/php
    $ sudo apt update

    $ sudo apt install php7
    $ sudo apt install php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-mcryp php-cli
    





目次



MySQL


mysql のインストール

$ sudo apt install mysql-server

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

(mysql 5.7以降は、パスワードでのログインができない仕様になっている)

$ sudo mysql -u root

mysql> create database wordpress;
Query OK, 1 row affected (0.08 sec)

mysql> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'パスワード';
Query OK, 0 rows affected (0.02 sec)

mysql> GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
Query OK, 0 rows affected (0.02 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.14 sec)

mysql> exit



WordPress


ワードプレスをダウンロードして解凍する。

$ curl -sSO https://ja.wordpress.org/latest-ja.tar.gz
$ tar xvf latest-ja.tar.gz


設定ファイルのコピー

解凍してできた wordpress ディレクトリに移動し、 Wordpress の設定サンプルファイルをコピーする

$ cd wordpress
$ cp wp-config-sample.php wp-config.php


設定ファイル

コピーしたファイルを開いて編集する

$ vim wp-config.php

define('DB_NAME', 'wordpress'); // 作成したデータベース名
define('DB_USER', 'wpuser'); // 作成したユーザー名
define('DB_PASSWORD', 'パスワード'); // 作成したユーザーのパスワード



認証用ユニークキー

編集中のファイル内にある @link のURLをブラウザで開いて認証キーをコピペし、保存する

/**#@+
* 認証用ユニークキー
*
* それぞれを異なるユニーク (一意) な文字列に変換してください。
* {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス}
*
* @since 2.6.0
*/
// 以下の部分に、そのまま上書きする
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');


/var/www/ にコピーする

wordpress ディレクトリの中身を /var/www/ 以下にコピーする

$ sudo mkdir -p /var/www/example.com/public_html
$ sudo cp wordpress/* /var/www/example.com/public_html

// 更新やプラグインなどのインストールができるようにするには、ユーザーとグループを www-data にする
$ sudo chown www-data:www-data /var/www/example.com



Apache2


apache2 のインストール

$ sudo apt install apache2

// 再起動後も有効にする
$ sudo systemctl enable apache2


デフォルト設定をコピーする

$ cd /etc/apache2/sites-available/
$ sudo cp 000-default.conf 001-wordpress.conf


設定を書き換える

$ sudo vim 001-wordpress.conf

ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com

<Directory "/var/www/example.com">
    DirectoryIndex index.php
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>


設定を有効化する

設定ファイルを書き換えたら、サイトを有効化しエラーがないか確認。 (a2ensite 001-wordpres を実行すると sites-enabled にシンボリックリンクが貼られ有効になる)

$ sudo a2ensite 001-wordpress

// 構文エラーなどあれば修正する
$ sudo apache2ctl configtest


IPアドレスを確認して hosts を編集する

ホストなど必要ない場合は ip a で表示されたアドレスを使う

$ ip a
inet 192.168.206.130

$ sudo vim /etc/hosts
192.168.206.130 example.com

Windowsvagrant を使ってる場合は、以下を管理者権限で編集する

ファイルの場所 C:\Windows\System32\drivers\etc\hosts

Vagrantfile の config.vm.network "private_network", ip: "192.168.33.10"コメントアウトして、その書かれているアドレスで hostsファイルに追記する

192.168.33.10 example.com


Apache2をリロード

$ sudo systemctl reload apache2


ブラウザでアクセスする

ブラウザを開き example.com にアクセスする

以下のメッセージが出る場合は mysql のモジュールが入っていないのでインストールする

お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

    // 拡張モジュールが入っているか確認
    $ php -m | grep mysql

    // 入ってなければ(何も出力がない)インストール
    $ sudo apt install php-mysql

500などアクセスできない場合は、 /var/log/apache2/error.log を見る