LoginSignup
0
0

More than 3 years have passed since last update.

Wordpress構築メモ

Last updated at Posted at 2019-04-06

はじめに

単なる自分用のメモ書きです。
似た様な記事は、他の方も書かれていますが、自分でもやり方を纏めておこうと思った次第です。

今更な話題なので、余り見る価値は無いかと思います。

環境

OS : Ubuntu 18.04.1 LTS
PC : Virtual Box 6.0.4

Ubuntuのアップグレード(念の為)

sudo apt update
sudo apt upgrade

Apacheのインストール

  • Apacheのインストール
sudo apt install apache2

その後、Apacheが動作していることを確認。
Webブラウザでlocalhostを指定し、Webページが出力されればOK。

PHPのインストール

  • phpのインストール
sudo apt install php php-mysql php-mbstring

versionを指定するならこっち。

sudo apt install php7.2 php7.2-mysql php7.2-mbstring
  • phpがapacheで動作する事を確認

デフォルトでは、/var/www/htmlが、Apacheのルートディレクトリとなるため、そこにindex.phpを作り、下記のコードを書く。
(sudoを使わないとファイル作成、編集等が出来ないので要注意)

<?php
    phpinfo();

phpinfoの画面が出てくればOK。

phpinfoの画面が出てこないとき(GCEでインストールした時のトラブル)

Google Compute Engineでapacheをインストールした際に、phpinfoの画面が出て来ませんでした。
GCE上での解決方法を記載しておきます。
……とは言ったものの、本当に「解決した」だけで、根本的な対処では無いと思うのですが……。

apache2ctrl -Mでモジュールを確認。php関連のモジュールが読み込まれていなさそうです。

$ apache2ctrl -M
Loaded Modules:
 core_module (static)
 so_module (static)

/etc/apache2/mods-enabled内に、php関連の設定ファイルのシンボリックリンクを貼ります。

$ sudo ln -s ../mods-available/php7.2.load ./php7.2.load
$ sudo ln -s ../mods-available/php7.2.conf ./php7.2.conf

因みに下記資料の内容を、そのまま実行しただけです。
apache2について勉強しないと駄目ですね……。

参考資料
http://gn000.sakura.ne.jp/blog/2018/05/07/001/

configtestを実行。

$ apache2ctl configtest
[...省略...] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.
<以下省略>

ApacheのMPMをマルチスレッドのworkerからpreforkに変更する事で解決する事にしました。
……と書いていますが、workerとかpreforkとは何かが解っておらず、情けない限りです。
これもそのうち勉強します……。

ざっくり言うと、mpm_event.confとmpm_event.loadを読み込ませず、変わりにmpm_prefork.conf、mpm_prefork.loadを読み込ませただけです。

$ sudo rm mpm_event.*
$ sudo ln -s ../mods-available/mpm_prefork.conf ./mpm_prefork.conf
$ sudo ln -s ../mods-available/mpm_prefork.load ./mpm_prefork.load

これも、下記資料の内容を参考に実行しただけです。

参考資料
https://www.tokotokotekuteku.com/entry/2014/01/30/204607

apache2をrestart。これでもう一度phpinfoの画面を確認します。

$ sudo service apache2 restart

MySQLのインストール

  • mysqlのインストール
sudo apt install mysql-server
  • 起動確認

mysqladminや、systemctlで確認。
sudoを付けて実行しないとエラーとなります。

$ sudo mysqladmin ping
mysqld is alive

$ sudo systemctl status mysql.service
mysql.service - MySQL Community  Server
...
 Active : active (runnning)

下記も駄目です。通りません。

NG例
$ mysqladmin ping -u root -p

mysqlの初期化を実行します。
多分、全てYesでOKだと思います。(詳しくはググる)

$ sudo mysql_secure_installation 

MySQLのユーザ作成とデータベース作成

  • 一般ユーザを作る

mysqlに一般ユーザを作っておきます。

wordpressがユーザ名、passwordがパスワードです。

mysql> create user 'wordpress'@'localhost' identified by 'password';

一応、ユーザを確認します。
多分、下記のようになっているはずです。(出力は一部省略しています)

mysql> select host, user from mysql.user
+-----------+------------+
| host      | user       |
+-----------+------------+
| localhost | wordpress  |
| localhost | root       |
+-----------+------------+

hostというのが、アクセス可能なホスト(IPアドレス)を示しています。
%は、全てのホストからアクセス可能である事を示します。

  • データベースを作成する
mysql> create database wordpressdb;
mysql> use wordpressdb;

create databaseはデータベース作成、useはデータベースへの接続コマンドです。

  • 権限を与える

ユーザwordpressに、データベースwordpressdbに接続する権限を与えます。
面倒なので、全ての権限が使える様にしておきます。

mysql> grant all on 'wordpressdb'.* to 'wordpress'@'localhost';

権限が与えられている事を確認します。

mysql> show grants for 'wordpress'@'localhost';
+-------------------------------------------------------------------+
| Grants for wordpress@localhost                                    |
+-------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'wordpressdb'@'localhost'                   |
| GRANT ALL PRIVILEGES ON `wordpressdb`.* TO 'wordpress'@'locahost' |
+-------------------------------------------------------------------+

wordpressのダウンロード

  • /var/wwwの権限変更

一々、sudoと打ち込むのも面倒なので、/var/wwwの所有者を変更します。
[user]の部分には、自分のユーザ名を入れてください。これで所有者が自分に変わります。

$ sudo chown -R [user].[user] /var/www
  • wordpressのダウンロード

wordpressをダウンロードします。私はcurlで行いました。
その後、ファイルを展開し、全てのファイルを、html直下に移動させます。
展開する前に、余分なファイル(index.htmlやindex.php)は消しておきます。

$ cd /var/www/html
$ curl https://ja.wordpress.org/latest-ja.tar.gz -O
$ tar -xvzf latest-ja.tar.gz
$ rm index.html index.php latest-ja.tar.gz
$ mv wordpress/* .
$ rmdir wordpress

Apacheの設定を変えて、wordpressディレクトリをルートディレクトリにすれば良いのでしょうが、面倒なのでこうしておきました。

  • wp-config.phpの編集

wp-config.phpを編集します。
データベースの接続に関わる設定などは、この段階で実施しておきます。

設定方法は割愛します。

$ cp wp-config-sample.php wp-config.php
$ vim wp-config.php
  • wordpressへのアクセス

webブラウザを使い、サーバにアクセスします。
そうすると設定の続きを行うことが可能なので、必要な設定を行ってください。

最後に

自分用のメモなので、分かりづらい点はご容赦願います。

後、この内容は後日修正します。
GCE上で再度実行し直してみて、問題のある箇所を修正する予定です。

0
0
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
0
0