vagrantで作った環境でwebサーバー構築

と、言ってもwebサーバー構築は、これまでにやったCentOSLAMP環境作ったのと同じ。

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インストール

VMCentOSLAMPが出来たので、fuelphpをインストールしてみます。

fuelphpのoilコマンドをインストール

curl get.fuelphp.com/oil | sh

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"

comporser.jsonを修正したので更新します。
php composer.phar update

phpunitのインストール

php composer.phar require phpunit/phpunit:4.* --dev

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環境構築

MacVirtualBoxCentOSをイントールしました。
そこに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'

apachemysql自動起動設定

apachemysqlをサーバー起動時に起動するようにします。
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

apacheリロード

有効にするためにapacheをリロードします。
service httpd restart
※エラーがでたらhttpd.confの記載が間違っているので直す。

アクセス確認

ストファイルを作成します。

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接続できるところまでは完了している。そこまでの手順はコチラ

yumを最新にする

yum -y install yum-fastestmirror
yum upgrade
yum update

使いそうなソフトをインストール

yum -y install wget
yum -y install vim

vimの設定

homeディレクトリに.vimrcを作成して以下を入力
set number #デフォルトで行番号表示

/etc/bashrcの設定

全ユーザー共通の/etc/bashrcの末尾に追加
alias vi='vim' #vi でvim起動
alias view='vim -R' #view でvim -R起動

開発環境として使うのでselinux停止

vim /etc/sysconfig/selinux
SELINUX=disabled

一般ユーザー作成

vagrantのbox化を想定してvagrantグループ/ユーザーを作成
groupadd vagrant
useradd vagrant -g vagrant -G wheel

sudo設定

vagrantユーザーがパスワード無しでsudo可能にする
・cronやapacheなどでsudoする場合がある場合を想定し設定をオフ
vim /etc/sudoers

Defaults requiretty
の箇所をコメントアウト
#Defaults requiretty

末尾に
vagrant ALL=(ALL) NOPASSWD: ALL
を追加

rpmインストール

/* 32bit */
rpm -Uvh epel-release-6-8.noarch.rpm rpmforge-release-0.5.3-1.el5.rf.i386.rpm remi-release-6.rpm

/* 64bit */
rpm -Uvh epel-release-6-8.noarch.rpm rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm remi-release-6.rpm

repoの設定

yum --enablerepo=xxxで指定しないと指定repoでインストールされないように設定する。
vim /etc/yum.repos.d/epel.repo
[epel]
enabled=0

vim /etc/yum.repos.d/rpmforge.repo
[rpmforge]
enabled=0

vim /etc/yum.repos.d/remi.repo
[remi]
enabeld=0
※デフォルトで0なので修正不要

【mac】VirtualBoxにインストールしたCentOSへSSH接続

前回VirtualBoxCentOSをインストールして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のネットワーク設定

VMCentOSを起動します。
既存のアダプター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接続できるようになりました。

host(Mac)からgest(CentOS)へのSSH接続確認

terminalから
ssh root@192.168.56.10
で接続できることを確認します。

※以前作成したVMがあり、それとKEY情報が違うぞ接続中止!みたいなエラーが出た。その場合は
ssh-keygen -R 192.168.56.10
でKEY情報を初期化したら接続出来ました。

【mac】terminalのビープ音の消し方

ターミナルでコマンド入力しないで↓キーとか押すと、
「コン」って音でるのが鬱陶しい。ちょっと音が怖いし。

ターミナル起動してターミナルのツールバーの環境設定→設定→詳細タブ→ベル項目のオーディオベルのチェックボックスを外す

で音消える。これでさっぱりすっきり。

【mac】VirtualBoxにCentOSインストール手順

Vagrantのboxでヒョイっと構築しちゃうと基本的なことが解らないので、構築してみました。

環境

手順

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

VirtualBoxVM作成

  • VirtualBoxマネージャーの「新規」をクリック
  • 名前を入力し、OSタイプとバージョンを選択。ここではCentOSLinuxRedHat(64bit)。それ意外はデフォルトで「作成」をクリック
  • 次画面もデフォルトのまま「作成」をクリック

これでVM完成。ところでVMって表現であってるのかな?

VMCentOSをインストール

  1. VirtualBoxマネージャーに先ほど作成したVMをダブルクリック
  2. ダウンロードしてきた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

rootログイン確認

再起動後、rootユーザーでログインできるか確認
できました!!!

今日はココまで。
別記事でterminalからsshvmログインできる設定をします。