目標
- 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
すると、次回以降簡単に構築できるようになります。
詳しくは調べてみてください!