Skip to content

Instantly share code, notes, and snippets.

@DriftwoodJP
Last active December 23, 2015 21:09
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save DriftwoodJP/6694891 to your computer and use it in GitHub Desktop.
Save DriftwoodJP/6694891 to your computer and use it in GitHub Desktop.
Vagrant: ドットインストールの開発環境構築レッスンをベースにWordPress環境をProvisioningしてみた | http://www.d-wood.com/blog/2013/09/26_4711.html

WordPress

WordPress のテスト環境を構築する。

Require

Setup

% vagrant up

option

Vagrantfile 内のコメントを外すと有効になる。

# synced_folder for Mac OS X
# config.vm.synced_folder "../dist", "/var/www/html/wordpress/wp-content/themes/wptheme", :nfs => true

参考

# 03 Network
echo "Setting /etc/resolv.conf"
sudo sed -i "2a options single-request-reopen" /etc/resolv.conf
echo "Setting iptables stop"
sudo service iptables stop >/dev/null 2>&1
sudo chkconfig iptables off
# 04 Web Server
echo "Installing Apache"
sudo yum install -y httpd >/dev/null 2>&1
sudo chkconfig httpd on
# 07 epel & remi repo add
echo "Adding epel & remi repo"
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm >/dev/null 2>&1
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm >/dev/null 2>&1
sudo rpm -Uvh epel-release-6-8.noarch.rpm >/dev/null 2>&1
sudo rpm -Uvh remi-release-6.rpm >/dev/null 2>&1
sudo sed -i "6s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo
# 08 php
echo "Installing php"
# sudo yum install -y --enablerepo=remi php php-devel php-mysql php-mbstring php-gd >/dev/null 2>&1
sudo yum install -y php php-devel php-mysql php-mbstring php-gd >/dev/null 2>&1
# sudo vi /etc/php.ini
sudo sed -i "s/;error_log = syslog/error_log = \/var\/log\/php.log/g" /etc/php.ini
sudo sed -i "s/;mbstring.language = Japanese/mbstring.language = Japanese/g" /etc/php.ini
sudo sed -i "s/;mbstring.internal_encoding = EUC-JP/mbstring.internal_encoding = UTF-8/g" /etc/php.ini
sudo sed -i "s/;mbstring.http_input = auto/mbstring.http_input = auto/g" /etc/php.ini
sudo sed -i "s/;mbstring.detect_order = auto/mbstring.detect_order = auto/g" /etc/php.ini
sudo sed -i "s/expose_php = On/expose_php = Off/g" /etc/php.ini
sudo sed -i "s/;date.timezone =/date.timezone = Asia\/Tokyo/g" /etc/php.ini
# 09 mysql
echo "Installing MySQL"
sudo yum install -y --enablerepo=remi mysql-server >/dev/null 2>&1
# sudo vi /etc/my.cnf
VAR="character_set_server=utf8\n\
default-storage-engine=InnoDB\n\
innodb_file_per_table\n\
[mysql]\n\
default-character-set=utf8\n\
[mysqldump]\n\
default-character-set=utf8\n\
"
sudo sed -i "4a $VAR" /etc/my.cnf
# Start Service
echo "Start Apache & MySQL"
sudo service httpd start >/dev/null 2>&1
sudo service mysqld start >/dev/null 2>&1
# /usr/bin/mysql_secure_installation
echo "mysql_secure_installation"
SQL="UPDATE mysql.user SET Password=PASSWORD('root') WHERE User='root';
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DROP DATABASE test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
FLUSH PRIVILEGES;"
mysql -u root -e "$SQL"
sudo chkconfig mysqld on
# appendix WordPress
echo "Installing Wordpress"
SQL="CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO root@localhost IDENTIFIED BY 'root';
FLUSH PRIVILEGES;"
mysql -u root -proot -e "$SQL"
wget http://ja.wordpress.org/latest-ja.tar.gz >/dev/null 2>&1
tar -xzf latest-ja.tar.gz -C /var/www/html >/dev/null 2>&1
sudo cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
# sudo vi wp-config.php
sudo sed -i "s/define('DB_NAME', 'database_name_here');/define('DB_NAME', 'wordpress');/g" /var/www/html/wordpress/wp-config.php
sudo sed -i "s/define('DB_USER', 'username_here');/define('DB_USER', 'root');/g" /var/www/html/wordpress/wp-config.php
sudo sed -i "s/define('DB_PASSWORD', 'password_here');/define('DB_PASSWORD', 'root');/g" /var/www/html/wordpress/wp-config.php
sudo sed -i "s/define('WP_DEBUG', false);/define('WP_DEBUG', true);\\ndefine('FS_METHOD','direct');/g" /var/www/html/wordpress/wp-config.php
# appendix phpMyAdmin
sudo yum -y install unzip >/dev/null 2>&1
echo "Installing phpMyAdmin"
wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.7/phpMyAdmin-4.0.7-all-languages.zip >/dev/null 2>&1
unzip phpMyAdmin-4.0.7-all-languages.zip -d /var/www/html >/dev/null 2>&1
mv /var/www/html/phpMyAdmin-4.0.7-all-languages /var/www/html/phpmyadmin
# chown
sudo chown -R vagrant:vagrant /var/www/html
sudo chown -R apache:apache /var/www/html/wordpress
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "chef/centos-6.5"
config.vm.provision :shell, :path => "provision.sh"
# config.vm.network :public_network, ip: "10.0.1.100", bridge: "en1: Wi-Fi (AirPort)"
#
# synced_folder for Mac OS X
#
# nfs
config.vm.network :private_network, ip: "192.168.33.10"
# config.vm.synced_folder "../dist", "/var/www/html/", type: "nfs"
# config.vm.synced_folder "../dist", "/var/www/html/wordpress/wp-content/themes/wptheme", type: "nfs"
#
# rsync
# config.vm.synced_folder "../dist", "/var/www/html/", type: "rsync"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment