現行のリビジョン(投稿時点)でWordPress立ち上げまでまとめてみました。さくっと構築できる、便利な時代ですね。ホストOSはWindows10(64bit)です。
VirtualBoxとVagrantのインストールと設定
事前にCPUの仮想化機能が有効になっているか、タスクマネージャー(詳細表示)->パフォーマンスタブの「仮想化」が「有効」になっていればOK。「無効」の場合、BIOSで設定。
VirtualBoxのインストール
https://www.virtualbox.org/ で、「Download VirtualBox 5.1」(※バージョンは投稿時)-> 次画面の「Windows hosts」でインストーラーをダウンロード。インストールは既定の設定で。
Vagrant(ベイグラント)のインストール
https://www.vagrantup.com/ で、「Download」 -> 次画面の「Windows(Universal (32 and 64-bit)」でインストーラーをダウンロード。インストールは既定の設定で。最後にOS再起動。再起動後、コマンドプロンプトで「vagrant version」と入力し、バージョンが表示されたらインストール完了。
Vagrantの設定
適当なフォルダを作り、コマンドプロンプトでそこに降り、以下のコマンドを入力
vagrant add centos/7
vagrant init centos/7
同フォルダに「Vagrantfile」ファイルが作成されるので、以下のように変更、追記(メモリ1024は要求に合わせて適宜設定)
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.synced_folder ".", "/vagrant", disabled: true #共有フォルダ設定を無効
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
end
CentOSの起動。画面はでません。気になるときはVirtualBoxから確認可能。
vagrant up
# 停止は vagrant halt
# また、 vagrant ssh でSSH用キーのパスを表示しておく
TeraTermでSSH接続
https://ja.osdn.net/projects/ttssh2/ で、「ダウンロード」メニューからインストーラーをダウンロードしてインストール。完了したらTera Termを起動し、以下の値を入力し、OKを押す。と、キーの場所を聞かれるので、「vagrant ssh」で表示したパスを入力。
ホスト 127.0.0.1
TCPポート 2222
SSHバージョン SSH2
ユーザ vagrant
パスワード vagrant
なお、以下のようなショートカットを作っておくと便利
ttermpro.exe 127.0.0.1:2222 /ssh2 /auth=publickey /user=vagrant /passwd=vagrant /keyfile="キーファイルのパス"
環境構築
ここからは、TeraTerm上での作業です。
su
# パスワードは「vagrant」
準備
日本語化
localectl set-locale LANG=ja_JP.UTF8
localectl set-keymap jp106
再起動(コマンドプロンプトで)
vagrant reload
(再びTeraTermで)パッケージのアップデート
yum update
httpd、phpのインストール
yum install httpd php wget php-mbstring
httpd開始、自動起動設定
systemctl start httpd
systemctl enable httpd
ホストOSのブラウザから、httpdの動作確認
http://http://127.0.0.1:8080/
phpをhttpdで動かす設定
php.iniの修正
cp /etc/php.ini /etc/php.ini.org
vi /etc/php.ini
# 以下のように変更(変更箇所のみ抜粋)
default_charset = "UTF-8"
date.timezone = "Asia/Tokyo"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
mbstring.strict_detection = Off
mbstring.http_output_conv_mimetype=
ついでにCGIが動くよう、httpd.confの修正
vi /etc/httpd/conf/httpd.conf
# 変更前 #Options Indexes FollowSymLinks
Options Includes ExecCGI FollowSymLinks
# 変更前 AllowOverride None
AllowOverride All
# 以下のようにコメントアウトする
# AddDefaultCharset UTF-8
# 以下を追記
AddType text/css .css
AddType text/javascript .js
httpd再起動
systemctl restart httpd
php動作確認用ページ作成
touch /var/www/html/phpinfo.php
vi /var/www/html/phpinfo.php
# 以下を入力、保存
<?php phpinfo(); ?>
ホストOSのブラウザから、phpの動作確認
http://http://127.0.0.1:8080/phpinfo.php
MariaDB(MySQL)のインストールと設定
CentOS7から、データベースサーバがMySQLからMariaDBになる。機能は同じ(多分)。
yum install mariadb mariadb-server mariadb-devel php-mysql
mariadb開始、自動起動設定
systemctl start mariadb
systemctl enable mariadb
初期設定
mysql_secure_installation
# インストール直後はrootパスワード空白なのでそのままenter
# 新しいパスワードを入力
# その後の質問(anonymousユーザ削除など)は全て「y」
my.cnfの修正
vi /etc/my.cnf
# 以下を追記
character-set-server = utf8
default_password_lifetime = 0
データベースの作成
mysql -u root -p
create database wp;
grant all privileges on wp.* to wp@localhost identified by 'wp';
WordPressのインストール
cd /tmp
# 最新版をダウンロード、解凍
wget http://ja.wordpress.org/latest-ja.tar.gz
tar zxvf latest-ja.tar.gz
# コピーしてapacheユーザとグループに権限設定
cp -r wordpress /var/www/
chown -R apache.apache /var/www/wordpress
httpd.confの修正
# ドキュメントルートをWordPressにする
# 変更前 DocumentRoot "/var/www/html
DocumentRoot "/var/www/wordpress
# 変更前 <Directory "/var/www/html">
<Directory "/var/www/wordpress">
httpd再起動
systemctl restart httpd
ホストOSのブラウザから動作確認
http://http://127.0.0.1:8080/
WordPressの初期設定
あと少し
MariaDBで作成したデータベース、ユーザを入力。当例では全て「wp」
wp-config.phpに書き込めないと来た(chownでapacheにしてるんだけどユーザ違うのかな?)。
しょうがないので指示通りに
touch /var/www/wordpress/wp-config.php
vi /var/www/wordpress/wp-config.php
# 画面の内容を貼付け、保存
# apacheユーザに権限設定を忘れずに
chown apache.apache /var/www/wordpress/wp-config.php
再びWordPress設定画面へ。5分間インストールプロセスを進ぬ
WordPressだけ考えると、InstantWPという手もありますが(多分Windows限定)、本番環境に近い環境が欲しい時、その他実験したい時など、素敵だと思います☆ミ