Edited at

VirtualBoxとCentOSでLAMP環境を作った

More than 5 years have passed since last update.

PHPのテスト環境が必要になったためせっかくなのでドットインストール見ながらやってみた時のメモ。

参考リンク

Vagrant入門 (全13回) - プログラミングならドットインストール

ローカル開発環境の構築 (全13回) - プログラミングならドットインストール

コマンドライン | Vagrant日本語ドキュメント

『VirtualBox』でLAMP環境を構築する際に参考になるサイト・ブログ記事まとめ - NAVER まとめ


Vagrant Boxを取得する

公式サイトからVagrantをダウンロード。

gemからでも可能。

Vagrant公式サイト

ボックスのダウンロード用URLを取得。

A list of base boxes for Vagrant - Vagrantbox.es


Boxを追加する

$ vagrant box add [Box名] [srcのURL]

$ vagrant box list


仮想マシンを入れるディレクトリを作成、先ほどダウンロードしたboxをもとに仮想マシンを作成

$ mkdir [ディレクトリ名]

$ cd [ディレクトリ名]
$ vagrant init [box名で指定]
$ vagrant up


vagrant 操作コマンド例


  • destroy 仮想マシン削除

  • ssh ssh接続

  • status 状態確認

  • suspend 状態保存


WEBサーバーのインストール

$ vagrant ssh

#vagrantユーザーでログインします。

% sudo yum -y install httpd
#WEBサーバーインストール

% sudo service httpd start
#起動

% sudo chkconfig httpd on
#自動起動設定

% sudo service iptables stop
% sudo chkconfig iptables off


Vagrantfile開いてネットワーク設定

$ vi Vagrantfile

#private_networkを検索してその行のコメントアウトを削除

$ vagrant reload
#仮想マシン再起動


ブラウザからアクセスしてみる

ブラウザに先ほどのprivate_networkに記述されているipアドレスでアクセスする、表示されればOK

ココから仮想マシンにログイン状態は%、ホストPCは$で


共有フォルダの設定

※許可がありませんって出るのはsudoを先頭につけて

$ vagrant ssh

% cd /vagrant
% touch test
% ls
Vagrantfile test

% exit
$ ls
Vagrantfile test

#これで/vagrantディレクトリが共有されていることが確認できる

$ vagrant ssh
%rm -rf /var/www/html
#デフォルトのルートディレクトリ削除

% ln -fs /vagrant /var/www/html
#ルートに設定されているディレクトリに共有ディレクトリのシンボリックリンク設定

% exit

$ vi index.html

--index.htmlに記述
<h1>HELLO WORLD from mac</h1>
--
:wqで保存する
ブラウザ上で確認出来たらOK


vagrant boxの起動が早くなる記述

(詳細はあまり理解できてません。。)

$ vagrant ssh

% vi /etc/resolv.conf

--resolv.conf1行目に追加
options single-request-reopen
#これ↑
; generated by /sbin/dhclient-script
nameserver 10.0.2.3
--


hosts設定

RedWinder::MacApp::Hoster


PHP,MySQLのインストール

#インストール時にはphpのバージョンに注意

% yum info|grep php

% sudo yum -y install php php-pear php-devel php-mbstring php-mysql php-pdo php-xml

% sudo yum install mysql-server
% sudo service httpd restart
% sudo service mysqld start
% sudo chkconfig mysqld on

今回はインストール後の各設定は変更せず、ローカル環境でするし、エラーでたらそれはそれで勉強になると思いそのままに。

その他ドットインストールで紹介されていたリポジトリ

epel,remi

これで一応LAMP環境がそろいました。


他にやったこと


  • vim のインストール

CentOS 6.3にVim 7.3をインストールする - Qiita

$ yum install mercurial

$ yum install ncurses-devel
$ cd /usr/local/src
$ hg clone https://vim.googlecode.com/hg/ vim
$ cd /usr/local/src/vim
$ ./configure --enable-multibyte --with-features=huge --disable-selinux --prefix=/usr/local
$ make
$ make install


  • manコマンドのインストール

Linux(CentOS 6) - yum installコマンドでmanパッケージをインストールする - r_nobuホームページ


  • Provisioningの利用

vagrant up後に自動で処理をするための設定

#vagrant initで初期化した後に、、

#config.vm.box = “box名”の下の行に追加
$ vi Vagrantfile

-—Vagrantfile
config.vm.provision :shell, path => “provision.sh"
-—

#provision.shを作成
$ vi provsion.sh
#この中に記述したコマンドが構築後に自動で実行される
--provsion.sh
sudo yum -y install httpd
sudo service httpd start
sudo chkconfig httpd on
--

$ vagrant up (既に起動している場合はvagrant provision)

これで自動でWEBサーバーをインストールし、自動で起動する設定もされる


その他

vagrantのデフォルトのパスワードはvagrant