LoginSignup
13

More than 5 years have passed since last update.

Wordpressのローカル環境を、Vagrantでゼロから構築

Last updated at Posted at 2017-06-23

目標

  • vagrantを立てる
  • Wordpressの最初の画面が見れるまで!

詳細

  • Ubuntu16.04
  • PHP:7系
  • Mysql:5.7系
  • Apache:2.4系

とても普通の構成です。

VirtualBoxとVagrantのインストール

割愛しますmm

以下の記事を参考にすればできると思います。

vagrant upをするまで

vagrant initを叩く

ここまでで、以下のコマンドを叩いた時に、同様の結果がでるように頑張ってください!

$vagrant box list
ubuntu16.04                (virtualbox, 0)

$vagrant init ubuntu16.04

Vagrantfileの編集

これでVagrantfileができますので、それを編集。

以下のように。

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu16.04"

  config.vm.network "private_network", ip: "192.168.33.10"

  config.vm.synced_folder ".", "/var/www/html", nfs: true

end

「nfs使わないよ。」という方は無視してく↓。
config.vm.synced_folder ".", "/var/www/html"でも大丈夫でしょう。

vagrant up&ssh

$vagrant up
$vagrant ssh

これで仮想環境の中に入れます。
ここからは基本的にvagrantの中での操作です。

 各種インストール

とりあえずアップデート

$sudo apt update

自分は盲目的に最初のvagrant sshのあとにアップデートするのですが、アカン!!という方はよく調べてから・・・。

Apacheのインストール

$sudo apt install apache2

# 以下でバージョンを確認できたらok
$apache2ctl -v

Mysqlのインストール

$sudo apt install mysql-server #途中紫の画面がでますが、無視してEnter!セキュリティを気にする方は注意して設定してください。

# このままだと、rootログインできないので。
$sudo rm -fr /var/lib/mysql
$sudo mkdir /var/lib/mysql
$sudo chown mysql:mysql /var/lib/mysql
$sudo /usr/sbin/mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql
$sudo /etc/init.d/mysql restart

# ↓でログインできたらok
$mysql -u root -p

# DBの作成
mysql> create database wordpress;

PHPのインストール

$sudo apt install php libapache2-mod-php php-mysql php-mbstring php-mcrypt php-curl php-gd php-xml

# 以下でバージョンが確認できたらok
$php -v

設定ファイルの変更など

apache2.confの編集

$sudo vim /etc/apache2/apache2.conf
中頃に<Directory />・・・などと書かれているところがあると思うので、その周辺を以下のように。

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>
<Directory /var/www/html/wordpress>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
<Directory /var/www/html/wordpress>
        AllowOverride All
</Directory>

なお、今回wordpressのプロジェクトディレクトリは/var/www/html/wordpress/とします。

編集後は以下コマンドでシンタックスチェックをします。

$apache2ctl configtest #Syntax okみたいなのがでます。

# 以下コマンドで動けばok
$sudo service apache2 start

wordpressを持ってくる

https://ja.wordpress.org/
本家のダウンロードをボタンを押します。
zipを解凍したら、wordpressというディレクトリが出てくると思います。
それをVagrantfileと同じディレクトリへ移動します。

共有ディレクトリについて

vagrantはmac側とディレクトリを共有することができます。
今回はmacのVagrantfileの場所と、vagrant側の/var/www/html/を共有しています。

wordpressをApacheで動かせるように。

現状で、Apacheもwordpress本体も用意されていますが、それらが結びついていません(適切な表現が・・・)。

vagrant側です。

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

# ディレクトリ設定
$sudo vim /etc/apache2/sites-available/010-wordpress.conf

以下のようにします。

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/wordpress/


    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

DocumentRootを書き換えただけです。

バーチャルホストを有効に

$sudo a2dissite 000-default
$sudo a2ensite 010-wordpress
$sudo systemctl restart apache2

wordpressディレクトリの権限を変更

$sudo chown -R vagrant:www-data wordpress

最後にApache Restart!

$sudo systemctl restart apache2

ブラウザにアクセス

http://192.168.33.10/ ここにアクセスしたらwordpressの初期画面が見れると思います。

データベース情報

wordpressの初期画面で入力するDB情報です。

データベース名: wordpress
ユーザー名: root
パスワード:
データベースホスト名: localhost
テーブル接頭辞: wp_ ※ パスワードなしでOK

まとめ

最後までたどり着けたでしょうか・・・。
解説が少ない、稚拙な文章です申し訳ないです。

ちなみに今回作った環境を、$vagrant packageすると、次回以降簡単に構築できるようになります。
詳しくは調べてみてください!

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
13