dari88's diary

これから趣味にするプログラミング/PHP/javascript/kohana/CMS/web design/

XAMPだけでは片手落ち?・・・LAMPも構築してみる

 

 これまで Windows の XAMP 環境で PHP の勉強をしてきたんですけど、何か片手落ちな感じがしてきたので LAMP 環境も構築してみました。

 概要:Windoes7 64bit+VMware+CentOS+Apache+MySQL+PHP5.3

 30年前に Sun の OS を使ったことがあるので、Linux に対しても多少は勘があるとはいえ、慣れ親しんだ Windows とは随分と違うので違和感があります。AMP 部分は yum コマンドでパッケージインストールを使いましたが、どのバージョンがインストールされるのか予め分からない状態で作業を進めたので変な感じがします。

 それでもまあ、比較的簡単に kohana+test12 が動きました。Linax 環境での各種設定も理解できたし大変勉強になったので、メモしておきます。

 

VMware Player のインストール

 VMwareのサイトからソフトをダウンロードしてインストールするだけです。仮想マシンが簡単に作れるのには驚いちゃいますね。

 

CentOS のインストール

  1. CentOSのミラーサイトリストから例えば IIJ の HTTP を選んでバージョン6.2のisosのx86_64へ進みます。ここから CentOS-6.2-x86_64-LiveDVD.iso をダウンロードします。
  2. VMware を起動して、新規仮想マシンの作成をクリックしてインストーラディスクイメージファイルを選択して参照ボタンでダウンロードした .iso ファイルを指定します。
  3. 次へ進んでいき、OSの種類とか指定していきます。
  4. CentOSの仮ログインの画面が出ます。自動ログインまで30秒くらいでしょうか。この時に言語を日本語に指定します。もたもたしていると自動ログインしてしまいますが、この場合は最初からやり直しです。
  5. デフォルトの管理者として root が作られますが、通常のユーザーとして admin とか登録します。

 

LAMP 環境の構築

 CentOS ではフォルダーアイコンを右クリックすると端末の中に開くというメニューがあります。作業はこの端末で行います。

 端末では yum というコマンドを使って、パッケージインストールと呼ばれる手法で LAMP 環境を構築します。

 パッケージを持ってくる先は CentOS にて予めセットしてありますが、不足なので最初にリポジトリを追加しておきます。こうすると、どこから何を拾ってくるのか分からない点が難点です。この点は初心者なので、とりあえず良しとしましょう。

 CentOS では SELinux というセキュリティー強化の仕組みが組み込まれています。よく理解できるまでは使わない設定にした方が分かりやすいと思います。

 では、手順です。作業は root で行います。

・yumのリポジトリ追加
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
# rpm -Uvh epel-release-6-7.noarch.rpm remi-release-6.rpm rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

・追加リポジトリは指定しなければ使われないようにする
# gedit /etc/yum.repos.d/epel.repo
enabled=0 ← 1を0に変更
# gedit /etc/yum.repos.d/rpmforge.repo
enabled=0 ← 1を0に変更

Apache,MySQL,PHP,PEAR,phpMyAdminのインストール
# yum --enablerepo=remi,epel,rpmforge install httpd-devel php-devel php-pear mysql-server phpmyadmin -y
# yum --enablerepo=remi,epel,rpmforge install mcrypt
# yum --enablerepo=remi,epel,rpmforge install php-gd
mcryptが無いとphpMyAdminが文句を言う。GDはどうせ使うから追加)

Apacheの設定は、/etc/httpd/conf/httpd.conf
PHPの設定は /etc/php.ini
MySQLの設定は /etc/my.cnf

MySQLのユーザー登録
# service httpd start
# /usr/bin/mysql_secure_installation

phpMyAdminの設定は /usr/share/phpmyadmin/config.inc.php
/etc/httpd/conf.d/phpmyadmin.conf

Apacheの再起動
# service httpd reload

ApacheMySQLを自動起動にする
# chkconfig --list|grep -E "httpd|mysql"
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig httpd on
# chkconfig mysqld on
# chkconfig --list|grep -E "httpd|mysql"
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

.htaccessを有効にするために、Apacheを設定する
# gedit /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>

SELinuxを無効にする
# getenforce ← SELinux状態確認
Enforcing ← SELinux有効
# setenforce 0 ← SELinux無効化
# getenforce ← SELinux状態確認
Permissive ← SELinux無効
# gedit /etc/sysconfig/selinux ← SELinux設定ファイル編集
SELINUX=disabled ← システム起動時にSELinuxを無効化

ImageMagickとimagickを追加
# yum --enablerepo=remi,epel,rpmforge install ImageMagick
# convert -version ← ImageMagickの動作確認
# yum --enablerepo=remi,epel,rpmforge install php-pecl-imagick

NetBeansを導入する場合
# yum --enablerepo=remi,epel,rpmforge install php-pecl-xdebug
# gedit /php.d/xdebug.ini
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000

// jdk-7u5-linux-x64.rpm をダウンロードしてくる
# rpm -Uvh jdk-7u5-linux-x64.rpm
# gedit /etc/profile
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

// netbeans-7.1.2-ml-php-linux.sh をダウンロードしてくる
# sh netbeans-7.1.2-ml-php-linux.sh

MySQLSQL文の最大長を拡大する
# gedit /etc/my.cnf
# max_allowed_packet = 20M

ftpサーバーを導入する
# yum --enablerepo=remi,epel,rpmforge install vsftpd
CentOSのファイアウォールを無効にするか、ftpを通すようにする。
VMwareのネットワークアダプタの設定をブリッジにする。
CentOSのシステム設定のネットワーク接続を固定アドレスにする。

 

動作確認

 ドキュメントルート以下に kohana とアプリケーションを入れてサイトを立ち上げました。最初は SELinux がじゃまして ftp は動かないし、フォルダの権限設定も訳の分からない状態でした。当面は SELinux を無効にすることにします。

 フォルダの書き込み設定などで多少引っかかりましたが、kohana のテスト12が無事動くようになりました。

 今後はターゲットファイルのバージョンとかも選択してインストールできるように勉強したいと思います。