LoginSignup
21
28

More than 5 years have passed since last update.

VirtualBox+VagrantでCentOS7のWordPress環境を構築する

Posted at

現行のリビジョン(投稿時点)で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/

image

WordPressの初期設定

あと少し

MariaDBで作成したデータベース、ユーザを入力。当例では全て「wp」

image

wp-config.phpに書き込めないと来た(chownでapacheにしてるんだけどユーザ違うのかな?)。

image

しょうがないので指示通りに

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分間インストールプロセスを進ぬ
image

5分後
image

WordPressだけ考えると、InstantWPという手もありますが(多分Windows限定)、本番環境に近い環境が欲しい時、その他実験したい時など、素敵だと思います☆ミ

21
28
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
21
28