PHP
CentOS
vagrant
VirtualBox
lamp

vagrantでLAMP環境構築

More than 1 year has passed since last update.

LAMP環境

  • MacBook Pro
  • Linux(CentOS 6.6)
  • Apache 2.2
  • MySQL 5.6
  • PHP 5.4.x

CentOS 6.6のインストール

vagrant box を追加
インストールしたいバージョンのURLをコピーします。今回は6.6を使います。
http://www.vagrantbox.es/

ターミナル
$ vagrant box add centos66 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.0.0/centos-6.6-x86_64.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos66' (v0) for provider: 
    box: Downloading: https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.0.0/centos-6.6-x86_64.box
==> box: Successfully added box 'centos66' (v0) for 'virtualbox'!

以上でBOX追加できました。

  • vagrantの初期化
ターミナル
$ vagrant init centos66

フォルダ内にVagrantfileが作成されます。

  • Vagrantfileの変更
Vagrantfile
 29   # config.vm.network "private_network", ip: "192.168.33.10"
 40   # config.vm.synced_folder "../data", "/vagrant_data"
 46   # config.vm.provider "virtualbox" do |vb|
 47   #   # Display the VirtualBox GUI when booting the machine
 48   #   vb.gui = true
 49   #
 50   #   # Customize the amount of memory on the VM:
 51   #   vb.memory = "1024"
 52   # end

上記のコメントアウトを外します。
40行目は任意の共有フォルダに変更
mount_optionsで共有フォルダの権限変更できるようにする(しなければchmodが効かない)

config.vm.synced_folder ".", "/var/www/html", :mount_options => ['dmode=777', 'fmode=777']

  • vagrant起動
ターミナル
$ vagrant up
  • vagrant環境にログインする
ターミナル
$ vagrant ssh

ログインできれば成功!

CentOS6.6の環境構築

ターミナル
$ vagrant ssh
$ su -

ログイン後スーパーユーザーに変更、パスワードはデフォルトでは 'vagrant'
とりあえずシステムアップデートします。

CentOS
yum update

apacheのインストール

httpdのバージョン確認

CentOS
 yum info httpd

確認すると2.2なので最新をインストールする

CentOS
yum -y install httpd
httpd -v
Server version: Apache/2.2.15 (Unix)

httpd.confで設定変更できる。

CentOS
/etc/httpd/conf/httpd.conf
CentOS
#httpd起動
/etc/rc.d/init.d/httpd start
#httpd自動起動設定
chkconfig httpd on

MySQLのインストール

CentOS
#mysql確認
rpm -qa | grep mysql
#競合するため削除
yum remove mysql*

rpmリポジトリをyumに追加

CentOS
yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

インストールするバージョンの確認

CentOS
vi /etc/yum.repos.d/mysql-community.repo

# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Note: MySQL 5.7 is currently in development. For use at your own risk.
# Please read with sub pages: https://dev.mysql.com/doc/relnotes/mysql/5.7/en/
[mysql57-community-dmr]
name=MySQL 5.7 Community Server Development Milestone Release
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

enabled=1がインストールされる。

Centos
#インストール実行
yum install mysql-client mysql-server
#mysql起動
/etc/init.d/mysqld start
#バージョン確認
mysql --version
mysql  Ver 14.14 Distrib 5.6.37, for Linux (x86_64) using  EditLine wrapper
#mysql自動起動設定
chkconfig mysqld on
#自動に起動するか確認
chkconfig | grep mysql

mysqlにログイン

Centos
mysql -u root

PHPのインストール

Centos
#phpバージョン確認
rpm -qa | grep php
#古いバージョンがあれば一応削除
yum remove php-*
#epelレポジトリ
rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#remiレポジトリ
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
#5.4のインストール
yum install --enablerepo=remi,remi-php54 php php-pear php-devel php-mbstring php-pdo php-gd
#install結果確認
rpm -qa | grep php
#バージョン確認
php -v

設定ファイルを編集する

Centos
vi /etc/php.ini

#以下を変更
error_logs = /var/log/php_errors.log
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.detect_order = auto
expose_php = off 
date.timezone = Asia/Tokyo

#apache再起動
service httpd restart

phpmyadminのインストール

Centos
yum -y install --enablerepo=remi-php54 phpMyAdmin