CentOSのboxをadd & init
CentOS 6.5 x86_64をaddする。
※boxの名前はcentos6.5_64にしている。
vagrant box add centos6.5_64 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box
boxは以下のページにある。
http://www.vagrantbox.es/
VM用ディレクトリを作成し、移動
※ディレクトリ名は好きな名前を指定。
mkdir local_server
cd local_server
初期化
※boxの名前はcentos6.5_64にしている。
vagrant init centos6.5_64
Vagrantfile編集
vagrant initで出来たVagrantfileを下記の内容に差し替える。
※boxの名前はcentos6.5_64にしている。
※privateなipは192.168.33.50にしている。
※Vagrantfileのあるディレクトリにrootというディレクトリを作り、
そのrootディレクトリをローカルサーバのルートディレクトリにしている。
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "centos6.5_64"
config.vm.network "private_network", ip: "192.168.33.50"
config.vm.synced_folder "root", "/var/www/html", :create => "true"
$script = <<SCRIPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
service iptables save
service iptables restart
yum -y update
yum -y install httpd vim git wget ntp
touch /etc/httpd/conf.d/vhosts.conf
chown vagrant: /etc/httpd/conf.d/vhosts.conf
echo "NameVirtualHost *:80" >> /etc/httpd/conf.d/vhosts.conf
echo "<VirtualHost *:80>" >> /etc/httpd/conf.d/vhosts.conf
echo " DocumentRoot /var/www/html" >> /etc/httpd/conf.d/vhosts.conf
echo "</VirtualHost>" >> /etc/httpd/conf.d/vhosts.conf
chkconfig httpd on
service httpd start
service iptables stop
chkconfig iptables off
echo ----------------------------------------------------------------------------
echo FINISH
echo ----------------------------------------------------------------------------
SCRIPT
config.vm.provision :shell, :inline => $script
end
/var/www/htmlに移動。
cd /var/www/html
index.htmlを作成する。
※中身はなんでも良い。
sudo vim index.html
下記アドレスにアクセスし、先ほど作成したindex.htmlが表示されるか確認。
http://192.168.33.50/
時刻をNTPで合わせる。ついでに日本時間にする。
タイムゾーンの確認
date "+%Y/%m/%d %H:%M:%S %Z"
※上記で表示される時間の末尾がJSTでなければ日本標準時にする
sudo cp /usr/share/zoneinfo/Japan /etc/localtime
再度、タイムゾーンの確認
date "+%Y/%m/%d %H:%M:%S %Z"
※表示される時間の末尾がJSTなら完了。
時刻合わせの対象を NICT の NTP サーバに変更する。
sudo sed -i.bak -e "s:^server:#server:g" /etc/ntp.conf
cat << EOS | sudo tee -a /etc/ntp.conf > /dev/null
server ntp.nict.jp iburst
EOS
NTP デーモンを開始する。
sudo chkconfig ntpd onsudo service ntpd start
時刻を合わせる。
※しばらくすれば同期するが、下記コマンドを実行するとすぐに同期する。
sudo ntpdate -s ntp.nict.jp
動作状況の確認。
※下記コマンドを実行後、サーバ(remote)の横にがついていれば同期できている。
※下記コマンドを実行してもサーバ(remote)の横にがつかなければ、VMを再起動して、再度下記コマンドを実行して確認してみる。
ntpq -p
参照
CentOS 6.5 の時刻を NTP で合わせる
http://momijiame.tumblr.com/post/71824818067/centos-6-5-ntp
MySQLのインストール
以下のページから最新版のRPMファイルをダウンロードする
※CentOS6.5を使っているので、Red Hat Enterprise Linux 6のRPMをダウンロードする。
http://dev.mysql.com/downloads/repo/
※使用したrpmファイルのURLは以下。
http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
ダウンロードしたRPMを/var/www/htmlに置いておく。
※/var/www/htmlは上記Synced Folderの設定で
Vagrantfileの置いてあるディレクトリになっているはずなので、
Finderでファイルの移動を行っても良い。
/var/www/htmlに移動。
cd /var/www/html
RPMパッケージのインストール。
sudo rpm -i mysql-community-release-el6-5.noarch.rpm
※上記コマンドはダウンロードしたrpmファイルを使用しているが、
下記を実行することにより、ダウンロードせずにRPMパッケージをインストールできる。
sudo rpm -i http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
MySQLのインストール。
sudo yum install -y mysql-community-server mysql-community-client mysql-community-devel
インストールを確認する。
mysql --version
※mysql Ver 14.14 Distrib 5.6.17, for Linux (x86_64) using EditLine wrapperが表示される。
mysqld --version
※mysqld Ver 5.6.17 for Linux on x86_64 (MySQL Community Server (GPL))が表示される
MySQLを自動起動に登録する
sudo chkconfig mysqld on
自動起動に登録されたか確認する
sudo chkconfig --list mysqld
※runlevel 2, 3, 4, 5でonになっていればOK
MySQLを起動する
sudo service mysqld start
※上記、sudo service mysqld startを実行しても「MySQL Daemon failed to start.」と表示され
MySQLが起動しない場合は以下のコマンドを実行してログを確認する。
sudo cat /var/log/mysqld.log
上記で表示したログに
「InnoDB: Using atomics to ref count buffer pool pages」が含まれている場合、
バッファが足りていないので、以下の手順に従いSwap領域を設定する。
メモリ確認
free
スワップ用ファイルの作成
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
※デフォルトではSwapのtotal、used、freeとも0になっている。
スワップ領域の作成
sudo mkswap /swapfile
スワップ領域を有効にする
sudo swapon /swapfile
再度メモリを確認
free
※Swapのtotalとfreeは1048572になっている。
これでMySQLが起動できるので、再度コマンドを実行する。
sudo service mysqld start
MySQLのプロセス確認
sudo ps auxwf | grep mysql
※mysqlのプロセスがリストアップされていればOK
MySQLの初期設定
sudo mysql_secure_installation
※上記コマンドで以下の操作を行う。
・rootユーザのパスワード設定(Enter current password for root (enter for none)) => Enter
(Set root password? [Y/n]) => Y入力後、新しいパスワードを登録。
・アノニマスユーザの削除(Remove anonymous users? [Y/n]) => Y
・rootユーザのリモートログイン禁止(Disallow root login remotely? [Y/n]) => Y
・テスト用データーベースの削除(Remove test database and access to it? [Y/n]) => Y
・変更した情報の再読み込み(Reload privilege tables now? [Y/n]) => Y
動作確認
sudo mysql -u root -p -e "select user, password, host from mysql.user;"
※パスワードの入力を求められたら、先ほど登録したrootユーザのパスワードを入力する。
PHPインストール
epelレポジトリ追加。
sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
remiレポジトリ追加。
sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
インストール。
sudo yum install -y --enablerepo=remi,remi-php55 httpd-devel php php-devel php-common libxml2-devel openssl-devel gd-devel curl-devel libmcrypt-devel re2c
sudo yum install -y --enablerepo=remi,remi-php55 php-pecl-apc php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
PHPがインストールされているか確認。
rpm -qa | grep php
php -v
php.iniを/var/www/htmlにコピー。
※viやvimで直接php.iniを編集してもいいが、使い慣れていないので
Sublimetextで編集するために一度/var/www/htmlにコピーする。
sudo cp -a /etc/php.ini /var/www/html
※php.iniの場所は下記のコマンドで確認できる。
php --ini
php.ini編集
;date.timezone =
上記の行を検索して、下記に変更。
date.timezone = Asia/Tokyo
;mbstring.internal_encoding = UTF-8
上記の行を検索して、下記に変更。
mbstring.internal_encoding = UTF-8
編集したphp.iniでリプレイスする。
sudo cp -a /var/www/html/php.ini /etc
php.confを/var/www/htmlにコピー。
※viやvimで直接php.confを編集してもいいが、使い慣れていないので
Sublimetextで編集するために一度/var/www/htmlにコピーする。
sudo cp -a /etc/httpd/conf.d/php.conf /var/www/html
php.conf編集
※下記の内容が記述されているか確認し、記述されていなければ追加する。
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
編集したphp.confでリプレイスする。
sudo cp -a /var/www/html/php.conf /etc/httpd/conf.d
Apache再起動
sudo service httpd restart
動作確認用PHPファイル作成。
※下記の内容を記述したファイルを/var/www/html/info.phpとして保存。
動作確認
※下記URLにアクセスしてPHPInfoが表示されればインストール成功。
※IPはVagrantfileの「config.vm.network "private_network", ip:」の値によって変わる。
http://192.168.33.50/info.php
参照
【シンプル】CentOS6にPHP5.5をyumで簡単にインストールする手順
http://blog.ybbo.net/2014/01/22/%E3%80%90%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%80%91centos6%E3%81%ABphp5-5%E3%82%92yum%E3%81%A7%E7%B0%A1%E5%8D%98%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/
CentOS6.5 に PHP5.5.7 を入れる
http://d.hatena.ne.jp/yoya/20131217/centos
phpMyAdminインストール
phpMyAdminダウンロード
sudo wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.1.13/phpMyAdmin-4.1.13-all-languages.tar.gz
gzファイル解凍
sudo tar zxvf phpMyAdmin-4.1.13-all-languages.tar.gz
解凍してできたディレクトリの移動&リネーム
sudo mv phpMyAdmin-4.1.13-all-languages /var/www/html/phpMyAdmin
gzファイル削除
sudo rm phpMyAdmin-4.1.13-all-languages.tar.gz
動作確認
※下記URLにアクセスしてログインしてみる。
※ユーザ名、パスワードはMySQLのユーザ名、パスワードを入力する。
http://192.168.33.50/phpMyAdmin/
画面下に以下のエラーメッセージが表示されているのが確認できる。
「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」
config.sample.inc.phpからconfig.inc.phpファイル作成
sudo cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php
config.inc.php編集
下記の行を見つけ出し、値を変更する。
$cfg['blowfish_secret'] = 'a8b7c6d';
↓
$cfg['blowfish_secret'] = 'hove';
動作確認
※再度、下記URLにアクセスする。
今度はエラーメッセージが消えているのが確認できるはず。
http://192.168.33.50/phpMyAdmin/
参照
phpMyAdminインストール
http://www.dbonline.jp/phpmyadmin/install/