1a. 開発環境構築(Windows8.1+VMware Player+CentOS)(備忘録)

LAMP環境とは

LAMP環境とは、以下の環境でWebシステムを開発する環境のことで、頭文字を取ってそのように呼ばれています。

開発環境用に、Windows上にLAMP環境を構築していきます。

種別 オープンソースソフトウェア名
OS Linux
Web Apache
DB MySQL
AP PHP等

ホスト型OSの仮想化ソフトをインストール
(今回はVMware Player)

仮想化ソフトには、ホストOS型とハイパーバイザー型があります
※ Windows端末が32bitか64bitか確認して、状況に応じたものをダウンロードします

(参考URL)
VMware Player ダウンロードとインストール方法

VMwareにLinux(今回はCentOS)をインストール

(参考URL)
VMware Player上へのCentOSのインストール

OSの設定

ターミナルを起動

$ id … ユーザ名を確認(admin)
$ pwd … カレントディレクトリが/home/adminであることを確認

rootユーザへスイッチ

$ su – … rootユーザへスイッチ
# … プロンプトが‘$’から‘#’に変更されていることを確認
# pwd … カレントディレクトリが/rootに変更されていることを確認

※ 以降、rootユーザのプロンプトは’#’、一般ユーザ(admin等)のプロンプトは’$’で表記

ホスト名を設定

# hostname … 未設定状態(localhost.localdomain)を確認
# cp -p /etc/hosts /etc/hosts.org … バックアップを取っておく
# ls -l /etc/hosts* … ファイルがバックアップされていることを確認(※以降は省略)
# vi /etc/hosts
(変更前) 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
(変更後) 127.0.0.1 dev01 localhost

# cd /etc/sysconfig
# cp -p network network.org
# vi /etc/sysconfig/network
(変更前) HOSTNAME=localhost.localdomain
(変更後) HOSTNAME=dev01

ネットワークの再起動

# /etc/init.d/network restart
# hostname … ホスト名がdev01に変更されたことを確認

yumのアップデート

# yum update

タイムゾーンの変更

# date … 時刻のずれを確認

# cd /etc/sysconfig
# cp -p clock clock.org
# vi clock … システムクロックの設定を変更
(変更前) ZONE=”Etc/UTC”
(変更後) ZONE=“Asia/Tokyo”

# cp -p /etc/localtime /etc/localtime.org
# cp /usr/share/zoneinfo/Japan /etc/localtime … タイムゾーンを日本時間に変更
# ntpdate -v ntp.nict.jp … 時刻のずれを修正(情報通信研究機構(NICT)のNTPサーバを指定した場合)
# date … 日本時間になっていることを確認

※ viエディタの操作については別途学習が必要です。

日本語化(サーバ全体)

# echo $LANG … 現状を確認
# cd /etc/sysconfig
# cp -p i18n i18n.org
# vi i18n
(変更前) LANG=”en_US.UTF-8″
(変更前) LANG=“ja_JP.UTF-8”

adminユーザをwheelグループに設定

# usermod -G wheel admin
# id admin … wheelグループにも所属していることを確認

wheelグループに属するユーザーへsudoコマンドを許可する

# visudo
(変更前) # %wheel ALL=(ALL) ALL
(変更後) %wheel ALL=(ALL) ALL

# vi /etc/sysconfig/iptables-config … パケットフィルタリングに関する設定
(変更前) IPTABLES_MODULES=””
(変更後) IPTABLES_MODULES=“ip_conntrack_ftp”
# service iptables restart … iptablesを再起動

# cd /etc/sysconfig
# cp -p selinux selinux.org
# vi selinux … SELinuxを無効化
(変更前) SELINUX=enforcing
(変更後) SELINUX=disabled

# shutdown -r now … OS再起動実施

※ VMware player 上でのキー配列は若干異なります。

※ VMware player の以下設定で、Windows端末からTeratermでssh接続できるようになります。
Player ⇒ 管理 ⇒ 仮想マシン設定
「ハードウェア」タブの「ネットワークアダプタ」を選択
「ネットワーク接続」の「ブリッジ:物理ネットワークに直接接続」のチェックボックスにチェックしてOK

IPアドレスは以下で確認
$ ifconfig -a

(参考URL)
さくらのVPS (CentOS 6.5) にLAMP環境を構築

ソフトウェアのインストール&設定

ログを取得

$ script `date ‘+%Y%m%d-%H%M’`.log

rootへスイッチ

$ su –

現在のパッケージのバージョンを確認して控えておく

# rpm -qa | grep httpd
# rpm -qa | grep mysql
# rpm -qa | grep php
# rpm -qa | grep pcre
# rpm -qa | grep vsftpd

vsftpdのインストール

# yum -y install vsftpd
# service vsftpd start
vsftpd 用の vsftpd を起動中: [ OK ]
# chkconfig vsftpd on
# chkconfig –list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

MySQLをインストール

# cd /tmp
# wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm … 適宜最新のバージョンに読み替えて対応
# ls mysql-community-release-el6-5.noarch.rpm … ダウンロードできていることを確認
mysql-community-release-el6-5.noarch.rpm

パッケージをインストール

# yum -y install mysql-community-release-el6-5.noarch.rpm

最新版のMySQL(5.6.24)がインストールされたことを確認

# mysql –version

MySQLを起動

# /etc/init.d/mysqld status
# /etc/init.d/mysqld start
# /etc/init.d/mysqld status … mysqldが起動したことを確認

最新版のApacheをインストール

(3-5-3 で入っていなかった場合)
# yum -y install httpd httpd-devel
(3-5-3 で入っていた場合)
# yum -y update httpd httpd-devel

PHPをインストール
(3-5-3 で入っていなかった場合)
# yum -y install php php-common php-pdo php-mysql
(3-5-3 で入っていた場合)
# yum -y update php php-common php-pdo php-mysql

PCREをインストール
(3-5-3 で入っていなかった場合)
# yum -y install pcre pcre-devel
(3-5-3 で入っていた場合)
# yum -y update pcre pcre-devel

httpd.confの設定
# vi /etc/httpd/conf/httpd.conf
(変更前) #ServerName www.example.com:80
(変更後) ServerName dev01:80

Apacheを起動
# ps -ef | grep httpd
# /etc/init.d/httpd start
# ps -ef | grep httpd … httpdが起動したことを確認


ブラウザで以下URLにアクセスし、”It works!”と表示されることを確認する
http://localhost/

/var/www/htmlにphpinfo.phpというファイルを作成
$ sudo vi /var/www/html/phpinfo.php


※ 以下内容を入力
<?php
phpinfo();
?>

上記内容で入力後、保存して閉じる


ブラウザに下記URLを入力して、phpのインフォメーション画面が表示されればOK
http://localhost/phpinfo.php

(参考URL)
さくらのVPS (CentOS 6.5) にLAMP環境を構築

MySQL、Apache、PHPの設定

MySQLの設定

現時点のキャラクターセットを確認
$ mysql
mysql> show variables like ‘char%’;
mysql> quit

(実行結果例)
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
8 rows in set (0.01 sec)

キャラクターセットをUTF8に設定する
$ sudo cp -p /etc/my.cnf /etc/my.cnf.org
$ sudo vi /etc/my.cnf


[mysqld]セクションの最後に次の行を追加
character-set-server=utf8

ファイルの最後に次の内容を追記
[client]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

[mysql]
default-character-set=utf8

mysqlを再起動
$ sudo /etc/init.d/mysqld restart

※ rcスクリプト、ランレベルについて理解しておくこと!

キャラクターセットが変更されたことを確認
$ mysql
mysql> show variables like ‘char%’;
mysql> quit

(実行結果例)
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 | … 変更された
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 | … 変更された
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
8 rows in set (0.05 sec)

mysqlを自動起動するように設定
$ chkconfig –list mysqld … 現状を確認
$ sudo chkconfig mysqld on … 自動起動するよう設定
$ chkconfig –list mysqld … 確認

・PHPの設定
php.iniのひな形をコピー
$ sudo cp /usr/local/src/php-5.6.0/php.ini-development /usr/local/lib/php.ini

viで下記のように値を変更(コメントアウトされているものはアンコメントする)
$ cd /etc
$ cp -p php.ini php.ini.org
$ sudo vi php.ini

———————————
expose_php = Off

extension=php_mbstring.dll
extension=php_mysql.dll

date.timezone = Asia/Tokyo

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.detect_order = auto
———————————

(参考URL)
さくらのVPS (CentOS 6.5) にLAMP環境を構築