WordPress のテスト環境を構築する。
% vagrant up
Vagrantfile 内のコメントを外すと有効になる。
# synced_folder for Mac OS X
# config.vm.synced_folder "../dist", "/var/www/html/wordpress/wp-content/themes/wptheme", :nfs => true
WordPress のテスト環境を構築する。
% vagrant up
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 |