vagrantで作った環境でwebサーバー構築
と、言ってもwebサーバー構築は、これまでにやったCentOSにLAMP環境作ったのと同じ。
VagrantFileの下記のコメントを解除します。
# config.vm.network :private_network, ip: "192.168.33.10" config.vm.network :private_network, ip: "192.168.33.10"
保存して、vagrantを再起動します。
vagrant reload
http://192.168.33.10
でアクセスできるはず。どうでしょう?
hostsで192.168.33.10をlocal.test.comなどにしちゃえば、
http://local.test.com
でもアクセス可能になります。
ホストOS側のvagrantディレクトリとVM側の/vagrant/は共有されています。
なので、開発PGはホストOSのvagrantディレクトに置けば、SCPなどでvagrant側に反映させる必要はないので便利です。
そのために、VM側の/vagrant/pg_dirをドキュメントルートと紐づける必要があります。
ln -s /vagrant/pg_dir /var/www/
のようにしてシンボリックリンクを張ればハッピー。
※ディレクトリは各自の構成に合わせて。
CentOSにfuelphpインストール
VM→CentOS→LAMPが出来たので、fuelphpをインストールしてみます。
fuelプロジェクト作成
LAMP環境作成時に作った/var/www_virtual/dev/以下に作成したいので一旦devフォルダを削除します。
rm -rf /var/www_virtual/dev/
fuelプロジェクト作成
cd /var/www_virtual
oil create dev
不要ファイル削除
cd /var/www_virtual/dev
rm -rf .git .gitmodules *.md docs
comporser.jsonの変更
minimum-stabilityがdevとなっているので安定板のstableに直します。
vim /var/www_virtual/dev/composer.json
"minimum-stability": "stable"
oil.phpの修正
phpunitのパスを通します。
cp /var/www_virtual/dev/fuel/packages/oil/config/oil.php /var/www_virtual/dev/fuel/app/config
vim /var/www_virtual/dev/fuel/app/config/oil.php
'binary_path' => VENDORPATH.'bin/phpunit',
確認
http://192.168.56.10
welcomeページが表示されればOK
【mac】CentOSにLAMP環境構築
MacのVirtualBoxにCentOSをイントールしました。
そこにLAMP環境を構築します。
phpインストール
インストールしたrepoでインストールされるphpのバージョンを確認してみます。
yum --enablerepo=remi info php
→5.4.32
yum --enablerepo=remi-test info php
→5.5.15
remi-testだと最新がイントールされるようですが、remiにしてみます。
php関係、mysqlをインストールします。
yum -y --enablerepo=remi install php yum -y --enablerepo=remi install php-cli yum -y --enablerepo=remi install php-mbstring yum -y --enablerepo=remi install php-mcrypt yum -y --enablerepo=remi install php-mysql yum -y --enablerepo=remi install php-pdo yum -y --enablerepo=remi install php-xml yum -y --enablerepo=remi install mysql yum -y --enablerepo=remi install mysql-devel yum -y --enablerepo=remi install mysql-server
ついでにphp.iniの修正もしておきます。
vim /etc/php.ini
date.timezone = 'Asia/Tokyo'
apache、mysqlの自動起動設定
apache、mysqlをサーバー起動時に起動するようにします。
chkconfig httpd on
chkconfig mysqld on
mysqlルートユーザーのパスワードを設定するために、まずmysqlを起動します。
service mysqld start
mysql -u root
SET PASSWORD FOR root@localhost=password('root');
※ローカル環境なのでrootパスワードをrootにしています。実運用サーバーではもちろんイカンです。
iptables設定
開発環境なのでiptablesを無効にします。
service iptables stop
chkconfig iptables off
※iptablesを生かして親OSからhttpでゲストOSにアクセス可能にする場合は
iptables -I INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT
/sbin/service iptables save
のようにして変更したiptalbesを保存します。
SELINUXの設定いじったので再起動します。
shutdown -r now
ゲストOS再起動後に、親OSのブラウザでアクセスしてみます!
/etc/sysconfig/network-scripts/ifcfg-eth1
で指定したipにアクセスします。
http://192.168.56.10/
これでapacheテストページがでればOK!やったぜ!
とりあえず表示はされたので追加作業をしておきます。
開発サイト、phpmyadminサイトと複数のサイトを使うことを想定して、httpdにバーチャルホストを設定します。
apacheのconfファイルにバーチャルホスト設定
念のため、オジリナルの設定ファイルを保存しておきます。
cp -p /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
confファイルを修正します。
vim /etc/httpd/conf/httpd.conf
NameVirtualHost *:80# コメントアウトを外す # 追加 <Directory /var/www_virtual/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> <VirtualHost *:80> DocumentRoot /var/www_virtual/dev/public ErrorLog logs/dev-error_log CustomLog logs/dev-access_log common </VirtualHost> <VirtualHost *:8080> DocumentRoot /var/www_virtual/phpmyadmin/ ErrorLog logs/phpmyadmin-error_log CustomLog logs/phpmyadmin-access_log common </VirtualHost>
/var/www_virtual/dev/public
/var/www_virtual/phpmyadmin/public
の複数ディレクトリを新たにドキュメンルートに設定しました。
ディレクトリ作成
追加したドキュメントルートのディレクトリを作成します。
mkdir -p /var/www_virtual/dev/public mkdir -p /var/www_virtual/phpmyadmin/public
アクセス確認
テストファイルを作成します。
echo "<?php phpinfo(); ?>" > /var/www_virtual/dev/public/phpinfo.php
http://192.168.56.10/phpinfo.php
へアクセスしてphpinfoが表示されればOK。
【mac】CentOS初期設定メモ
VirtulBoxにインストールしたCentOS minimalの初期設定時メモ。
SSH接続できるところまでは完了している。そこまでの手順はコチラ。
vimの設定
homeディレクトリに.vimrcを作成して以下を入力
set number #デフォルトで行番号表示
/etc/bashrcの設定
全ユーザー共通の/etc/bashrcの末尾に追加
alias vi='vim' #vi でvim起動
alias view='vim -R' #view でvim -R起動
sudo設定
・vagrantユーザーがパスワード無しでsudo可能にする
・cronやapacheなどでsudoする場合がある場合を想定し設定をオフ
vim /etc/sudoers
Defaults requiretty
の箇所をコメントアウト
#Defaults requiretty
末尾に
vagrant ALL=(ALL) NOPASSWD: ALL
を追加
EPEL,RepoForge,Remiリポジトリダウンロード
/* 32bit */
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
/* 64bit */
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
【mac】VirtualBoxにインストールしたCentOSへSSH接続
前回、VirtualBoxにCentOSをインストールしてrootでログインできるところまでやりました。
今回はterminalでSSH接続してCentOSにログインできるようにします。
VMのネットワーク設定
VMが「電源オフ」の状態で、設定→ネットワークをクリックします。
デフォルトでアダプター1が有効化されていて、NATが割り当てられています。
これでVMが外とつながります。yumなど。
terminalからSSH接続するために、「アダプター2」をクリックし、有効化にチェックを入れます。
「割り当て」はホストオンリーアダプターを選択します。名前は自動的に「vboxnet0」になります。
OKで登録します。
ホストオンリーアダプターのIPはVirtualBox本体のネットワークから確認できます。
VirtualBox→環境設定→ネットワーク→ホストオンリーネットワーク→vboxnet0をダブルクリックで表示
IPやネットマスクをメモります。
IP:192.168.56.1
ネットマスク:255.255.255.0
でした。
CentOSのネットワーク設定
VMのCentOSを起動します。
既存のアダプター1のネットワークをOS起動時に使えるように修正します。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=NO
を
ONBOOT=YES
に直します。
今度は追加したアダプター2のネットワークを作成します。
vi /etc/sysconfig/network-scripts/ifcfg-eth1
===ifcfg-eth1の中身===
DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.56.10 NETMASK=255.255.255.0 NETWORK=192.168.56.0
保存したらネットワークを再起動します。
service network restart
これでSSH接続できるようになりました。
【mac】VirtualBoxにCentOSインストール手順
Vagrantのboxでヒョイっと構築しちゃうと基本的なことが解らないので、構築してみました。
環境
- Mac Book Pro Mid 2010
- Mac OS 10.8.5 Mountain Lion
- VirtualBox 4.3.12
手順
CentOSをダウンロード
http://isoredirect.centos.org/
インストールしたいcentosのバージョンをダウンロードする。
ver7がリリースされてたけど、6.5のminimalにしました。
http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso
VirtualBoxにVM作成
- VirtualBoxマネージャーの「新規」をクリック
- 名前を入力し、OSタイプとバージョンを選択。ここではCentOS、Linux、RedHat(64bit)。それ意外はデフォルトで「作成」をクリック
- 次画面もデフォルトのまま「作成」をクリック
VMにCentOSをインストール
- VirtualBoxマネージャーに先ほど作成したVMをダブルクリック
- ダウンロードしてきたCentOSのisoを指定
以下イントールメニュー手順
[Welcome to CentOS 6.5!]
Install or upgrade an existing sytem
[Disk Found]
skip
[CentOS]
OK
[Language Selection]
Japanese
OK
[Language Unavailable]
OK
[Keyboard Selection]
jp106
OK
[Warning]なぜ???
Re-initialize
[Time Zone Selection]
System clock users UTCのチェックを外す(スペースキーでチェックボックスのon,off)
Asia/Tokyo
OK
[Root Password]
※ルートユーザーのパスワード入力
[Partitioning Type]
Use entire drive
OK
※パーティション分けにしてみました
[Writing storage configuration to disk]
Write changes to disk
※HD上書いちゃうけどいい?→VMの中の話なので問題なし。
[Package Installation]
家事でもしながらインストール完了するのを待つ・・・
[Complete]
Reboot