2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WordPressをUbuntu18.04(LTS)にインストール (LEMP Stack: Nginx, MariaDB, PHP )

Last updated at Posted at 2019-09-17

はじめに

最新版のWordPressをUbuntu18.04にインストール方法を記載。
DatabaseはMariaDBにします。(調べていくとMySQLよりも将来性が高いため)

ワードプレスの設定用のユーザー名はwordpressuser、パスワードはgorillagorilla
とする。
データベース名はwordpressとする。

ドメインはwww.example.com
サーバーのローカルIPアドレスは 192.168.0.2
と仮定して、以下設定方法を記載する。

Step 1: Nginx HTTP Serverのインストール

sudo apt install nginx

Step 2: MariaDB Database Serverのインストール

sudo apt-get install mariadb-server mariadb-client

インストール後、次のコマンドを叩いてmysqlの初期設定を実施

sudo mysql_secure_installation
  • Enter current password for root (enter for none): そのままエンターを押す
  • Set root password? [Y/n]: Y
  • New password: パスワードの入力
  • Re-enter new password: パスワードの入力
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]: Y
  • Reload privilege tables now? [Y/n]: Y

上記のパスワードはWordPressのもの(gorillagorilla)とは関係ない。

Step 3: PHP 7.2とそれ関連のモジュールインストール

sudo apt install php7.2-fpm php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-zip php7.2-curl

おすすめ設定として、インストールが終わったら次の通り設定を編集。
なお、やらなくても特に問題はない。

sudo emacs /etc/php/7.2/fpm/php.ini

変更するところは以下の通り

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
cgi.fix_pathinfo=0
max_execution_time = 360
date.timezone = Asia/Tokyo

Step 4: WordPress用のDatabaseを作成

パスワードはgorillagorilla, ユーザー名はwordpressuserとする。

sudo mysql -u root -p

DBに入ったら次のコマンドを打つ
(ここでは、データベース名はwordpressとしている)

CREATE DATABASE wordpress;
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'gorillagorilla';
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'gorillagorilla' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

※パスワードはgorillagorilla, ユーザー名はwordpressuserとしている

#Step 5: 最新版のWordPressをインストール

cd /tmp && wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
sudo mv wordpress /var/www/html/wordpress

パーミッション関連の変更

sudo chown -R www-data:www-data /var/www/html/wordpress/
sudo chmod -R 755 /var/www/html/wordpress/

#Step 6: Nginx HTTP Serverの設定更新
以下のファイルを作成

sudo emacs /etc/nginx/sites-available/wordpress

内容は次の通り。servernameはwww.example.comとしているが、ここは適時変更

server {
    listen 80;
    listen [::]:80;
    root /var/www/html/wordpress;
    index  index.php index.html index.htm;
    server_name  192.168.0.2 www.example.com;

     client_max_body_size 100M;

    location / {
        try_files $uri $uri/ /index.php?$args;        
    }

    location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass             unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Step 7: NginxでWordPressのサイトを有効化

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/

Nginxを再起動

sudo /etc/init.d/nginx restart

STEP 8: WordPressの設定ファイルを編集

sudo cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
sudo emacs /var/www/html/wordpress/wp-config.php

変更内容は以下のとおりとする。

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'gorillagorilla');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

※パスワードはgorillagorilla, ユーザー名はwordpressuserとする。

STEP 9:アクセス

サーバーにアクセスする。(192.168.0.2をブラウザで叩く)

以上で正常にみえるはず。

補足:ハマった所

最初間違ってMysqlをインストールしてしまって、慌てて消してMariaDBをインストールしたが、なんかエラーが出まくった。
すでにMysqlをインストールしていたら、MariaDBをインストールしないで素直にMySqlでやったほうがいいかも。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?