WindowsでLAMP開発環境最短構築
一部の人にブログを書いてるって言ったら、、、PHPの開発環境最短構築をつくって!って言われ・・・w
解説抜きでざざっと書いてみましたw
ちなみに、Cygwinが入っている前提だったりしますw
まずは仮想マシンを作成する。
まずは、box addから。
$ vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box $ vagrant init centos6.5 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.5-x86_64-v20140504.box
Vagrantfileの作成
$ vagrant init centos
Vagrantfileの修正(ネットワークの設定)
config.vm.network "private_network", ip: "192.168.33.10" config.vm.provider :virtualbox do |vb| vb.name = "{任意の名前}" end
仮想マシンを起動して、接続する。
$ vagrant up $ vagrant ssh
ネットワークの設定
[vagrant@localhost ~]$ sudo vi /etc/resolv.conf vi>options single-request-reopen ←追記 [vagrant@localhost ~]$ sudo service iptables stop [vagrant@localhost ~]$ sudo chkconfig iptables off
ミドルウェアのインストール
外部リポジトリの設定から。
[vagrant@localhost ~]$ wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [vagrant@localhost ~]$ wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm [vagrant@localhost ~]$ sudo rpm -Uvh epel-release-6-8.noarch.rpm [vagrant@localhost ~]$ sudo rpm -Uvh remi-release-6.rpm [vagrant@localhost ~]$ sudo vi /etc/yum.repos.d/epel.repo vi) enabled=0 ←0へ修正
apacheのインストール
[vagrant@localhost ~]$ sudo yum install -y httpd [vagrant@localhost ~]$ sudo service httpd start [vagrant@localhost ~]$ sudo chkconfig httpd on
[vagrant@localhost ~]$ sudo yum install -y --enablerepo=epel libmcrypt [vagrant@localhost ~]$ sudo yum install -y --enablerepo=remi php [vagrant@localhost ~]$ sudo cp /etc/php.ini /etc/php.ini.org [vagrant@localhost ~]$ sudo vi /etc/php.ini vi) error_log = php_error.log vi) post_max_size = 20M vi) upload_max_filesize = 20M vi) date.timezone = Asia/Tokyo vi) output_buffering = Off vi) output_handler = none vi) default_charset = UTF-8 vi) mbstring.language = Japanese vi) mbstring.internal_encoding = UTF-8 vi) mbstring.http_input = auto vi) mbstring.http_output = UTF-8 vi) mbstring.encoding_translation = On vi) mbstring.detect_order = auto vi) mbstring.substitute_character = none [vagrant@localhost ~]$ sudo service httpd restart
mysqlのインストール
[vagrant@localhost ~]$ sudo yum install -y --enablerepo=remi mysql-server mysql-devel [vagrant@localhost ~]$ sudo yum install -y --enablerepo=remi php-mbstring php-mysql php-mcrypt php-gd php-xml [vagrant@localhost ~]$ sudo vi /etc/my.cnf vi) 以下を追記 character_set_server=utf8 default-storage-engine=InnoDB innodb_file_per_table [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8 [vagrant@localhost /]$ sudo service mysqld start [vagrant@localhost ~]$ sudo chkconfig mysqld on [vagrant@localhost /]$ mysql -u root -p mysql> GRANT ALL ON *.* TO 'user'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL ON *.* TO 'user'@'localhost' IDENTIFIED BY 'passwd' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)
ドキュメントルートの設定
[vagrant@localhost ~]$ cd /vagrant/ [vagrant@localhost vagrant]$ mkdir docroot [vagrant@localhost vagrant]$ sudo rm -rf /var/www/html [vagrant@localhost vagrant]$ sudo ln -fs /vagrant/docroot/ /var/www/html
phpmyadminのインストール
[vagrant@localhost var]$ sudo yum install -y --enablerepo=remi phpMyAdmin
vhost.confの作成と設定
[vagrant@localhost ~]$ sudo vi /etc/httpd/conf.d/vhost.conf 以下追記 NameVirtualHost *:80 <VirtualHost *:80> ServerName basedev.jp DocumentRoot /var/www/html ErrorLog /var/log/error.log #SetEnv APPLICATION_ENV production SetEnv APPLICATION_ENV development TransferLog /var/log/access.logAllowOverride all Order allow,deny allow from all </VirtualHost> <VirtualHost *:80> ServerName php.basedev.jp DocumentRoot /usr/share/phpMyAdmin/ ErrorLog /var/log/php_error.log TransferLog /var/log/php_access.logAllowOverride all Options -MultiViews Order allow,deny allow from all </VirtualHost> [vagrant@localhost ~]$ sudo service httpd restart
自作BOXを作成
[vagrant@localhost vagrant]$ sudo rm /etc/udev/rules.d/70-persistent-net.rules [vagrant@localhost vagrant]$ exit $ vagrant halt $ vagrant package
ざっくりとPHPの開発環境を設定してみました。
これは、自分が開発環境を作る際の設定なんで、一般的じゃないかもしれません。
まぁ、基本的に動けばいいという感覚なのでw
次回からは、Chefに挑戦したいと考えているんですが、
そろそろ、サーバーサイド以外の事をやろうかなぁ・・・。
たとえば、Grunt.jsとかcompassとかそのへん?をやってみようかと思います!
使用環境
- ホストOS: Windows7 x64
- VirtualBox: 4.3.10
- Vagrant: 1.5.2
- ゲストOS: CentOS6.4 x64
- Ruby : 2.0.0-p451
- Ruby on Rails : 4.1.0
- passenger : 4.0.41
- apache : 2.2.15
- NetBeans IDE 8.0