Program LOG

勉強した内容をまとめ中。。。間違ってたら教えて。。。

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

phpのインストールとphp.iniの設定

[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.log
  
    AllowOverride 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.log
  
    AllowOverride 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とかそのへん?をやってみようかと思います!

使用環境