ウェブ、ショウジン

CentOS 5.3 ServerにLAMP環境の構築

2009-8-12
Category
Linux

Mac OS X 10.5.7上のVMware FusionにインストールしたCentOS 5.3 ServerにLAMP環境を構築し、PHPとMySQLの接続が出来るかまでを確認するメモ。(PHPはパッケージマネージャを使わないでソースからコンパイルしてインストール)

Apacheの確認

インストール時のServicesのところでhttpdをauto startに設定しておいたので自動起動になっているはず。

CentOSのIPアドレスをifconfigで調べてブラウザでアクセス。

今までみたことのないページが表示された。CentOSでだと、こうなのか?

Apache 2 Test Page powered by CentOS

と、ヘッダ部に表示されるページにアクセス成功。

この時点で、あらためて/var/wwwの内容を見てみると

cgi-bin
error
html
icons
manual
usage

となっている。htmlディレクトリは空で、それぞれ見ていくと、manual内にindex.htmlがあって、これを表示しているらしい。納得。

とりあえず、これでApacheの確認は出来た。

CentOSをインストールした段階ではポートがSSHしか解放されていないので、テストページが表示されない場合はこちらも確認すること。(必要なポートを開放してあげる)

くわしくは、CentOSをインストールした際のメモ「VMware FusionにCentOS 5.3 Serverをインストール」の最後のほうにあるので参照のこと。

もしもインストール時の設定でApacheの自動起動を設定していなければ、以下のコマンドで自動起動に設定できるらしい。

# chkconfig httpd on

MySQLのインストール

$ su
Password:
[root@localhost showjin]# yum -y install mysql-server php-mysql
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
 * addons: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package mysql-server.x86_64 0:5.0.45-7.el5 set to be updated
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server
---> Package php-mysql.x86_64 0:5.1.6-23.2.el5_3 set to be updated
--> Processing Dependency: php-pdo for package: php-mysql
--> Running transaction check
---> Package php-pdo.x86_64 0:5.1.6-23.2.el5_3 set to be updated
---> Package perl-DBD-MySQL.x86_64 0:3.0007-2.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package              Arch         Version                  Repository     Size
================================================================================
Installing:
 mysql-server         x86_64       5.0.45-7.el5             base          9.7 M
 php-mysql            x86_64       5.1.6-23.2.el5_3         updates        88 k
Installing for dependencies:
 perl-DBD-MySQL       x86_64       3.0007-2.el5             base          148 k
 php-pdo              x86_64       5.1.6-23.2.el5_3         updates        65 k

Transaction Summary
================================================================================
Install      4 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 10 M
Downloading Packages:
(1/4): php-pdo-5.1.6-23.2.el5_3.x86_64.rpm               |  65 kB     00:00
(2/4): php-mysql-5.1.6-23.2.el5_3.x86_64.rpm             |  88 kB     00:00
(3/4): perl-DBD-MySQL-3.0007-2.el5.x86_64.rpm            | 148 kB     00:00
(4/4): mysql-server-5.0.45-7.el5.x86_64.rpm              | 9.7 MB     00:13
--------------------------------------------------------------------------------
Total                                           706 kB/s |  10 MB     00:14
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : php-pdo                                           [1/4]
  Installing     : perl-DBD-MySQL                                    [2/4]
  Installing     : php-mysql                                         [3/4]
  Installing     : mysql-server                                      [4/4]

Installed: mysql-server.x86_64 0:5.0.45-7.el5 php-mysql.x86_64 0:5.1.6-23.2.el5_3
Dependency Installed: perl-DBD-MySQL.x86_64 0:3.0007-2.el5 php-pdo.x86_64 0:5.1.6-23.2.el5_3
Complete!
[bash]

<h3>MySQLの起動</h3>
[bash]
# /etc/rc.d/init.d/mysqld start
Starting MySQL:                                            [  OK  ]

MySQLのパスワードの設定(rootの)

# mysqladmin -u root -h localhost password "パスワード"

MySQLの自動起動を設定

# chkconfig mysqld on

MySQLモニタを起動させて確認

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

MySQLのインストール&起動もこれで確認できた。

PHP 5.2.1のインストール(ソースから)

PHPをダウンロードするディレクトリに移動

$ cd /usr/local/src/

php-5.2.10をwgetでダウンロード

$ su
Password:
[root@localhost src]# wget http://jp.php.net/get/php-5.2.10.tar.gz/from/this/mirror
--22:17:48--  http://jp.php.net/get/php-5.2.10.tar.gz/from/this/mirror
Resolving jp.php.net... 61.195.146.164
Connecting to jp.php.net|61.195.146.164|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://jp.php.net/distributions/php-5.2.10.tar.gz [following]
--22:17:48--  http://jp.php.net/distributions/php-5.2.10.tar.gz
Connecting to jp.php.net|61.195.146.164|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11433921 (11M) [application/x-gzip]
Saving to: `php-5.2.10.tar.gz'

100%[=======================================>] 11,433,921   775K/s   in 15s

22:18:03 (769 KB/s) - `php-5.2.10.tar.gz' saved [11433921/11433921]

DLしたphp-5.2.10.tar.gzを展開

# tar zxvf php-5.2.10.tar.gz

そして、configureを実行したいところだけれども、これまで何度もやってきた失敗で足りないパッケージ(cコンパイラのgccとか、その他諸々)があるのが分かっているので、先にこれらをインストールしておく。

configure前に以下のパッケージをインストールしておく。
参考にした記事「centOS5.2 64bitにphp5.2.9をソースから入れる | tonbyブログ」。

yum install gcc
yum install gcc-c++
yum –enablerepo remi install httpd-devel
yum install libtool libtool-libs libtool-libs13
yum –enablerepo remi install php-devel
yum install libxml2-devel
yum install libpng-devel
yum install mysql-devel
yum install libjpeg libjpeg-devel
yum install freetype-devel

これでconfigureをerrorを発生させずに実行出来る準備が出来たはず。

php-5.2.10.tar.gzを展開して出現したphp-5.2.10ディレクトリへ移動し、configureを以下のオプションをつけて実行する。

./configure --prefix=/usr/local/php5 --with-apxs2 --with-zlib --enable-mbstring --enable-mbregex -with-gettext --with-kerberos --with-pdo-mysql --enable-ftp --with-openssl --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-shmop --with-curl --with-iconv --enable-soap --with-config-file-path=/usr/local/php5 --with-pear=/usr/local/php5/pear --with-mysql --with-mysqli --with-mcrypt --with-gd --with-jpeg-dir=/usr/lib --with-libdir=lib64

エラー発生。apxsが見つからないと。(該当部分だけメッセージを抜粋)

Sorry, I cannot run apxs.  Possible reasons follow:

1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)

The output of apxs follows:
./configure: line 6731: apxs: command not found
configure: error: Aborting

apxsは標準ではインストールされていないらしいので、以下のコマンドでインストール。

# yum install httpd-devel

再度configureを実行。

またエラー。

Please reinstall the libcurl distribution

curlがない(必要)らしい。よく分からないのでyumでパッケージを検索してみる。

# yum search curl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
 * addons: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
================================ Matched: curl =================================
curl.i386 : A utility for getting files from remote servers (FTP, HTTP, and
          : others).
curl.x86_64 : A utility for getting files from remote servers (FTP, HTTP, and
            : others).
curl-devel.i386 : Files needed for building applications with libcurl.
curl-devel.x86_64 : Files needed for building applications with libcurl.

ということなので、64ビット用の「curl-devel.x86_64」をインストールしてみる。

# yum install curl-devel.x86_64

そして、再度configureの実行。

またエラー。

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

これも検索して、それっぽいものを選んでインストールしてみる。

# yum install libmcrypt-devel.x86_64

そして、再度configureの実行。

やっとconfigure成功。

コンパイルをmakeで実行。

# make

コンパイルも無事成功。

Build complete.
Don’t forget to run ‘make test’.

メッセージに従って「make test」も実行する。

# make test

makeでインストール実行。(インストールログも一応残す)

# make install 2>&1 |tee install.log
Installing PHP SAPI module:       apache2handler
/usr/lib64/httpd/build/instdso.sh SH_LIBTOOL='/usr/lib64/apr-1/build/libtool' libphp5.la /usr/lib64/httpd/modules
/usr/lib64/apr-1/build/libtool --mode=install cp libphp5.la /usr/lib64/httpd/modules/
cp .libs/libphp5.so /usr/lib64/httpd/modules/libphp5.so
cp .libs/libphp5.lai /usr/lib64/httpd/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish /home/showjin/php-5.2.10/libs'
chmod 755 /usr/lib64/httpd/modules/libphp5.so
[activating module `php5' in /etc/httpd/conf/httpd.conf]
Installing PHP CLI binary:        /usr/local/php5/bin/
Installing PHP CLI man page:      /usr/local/php5/man/man1/
Installing build environment:     /usr/local/php5/lib/php/build/
Installing header files:          /usr/local/php5/include/php/
Installing helper programs:       /usr/local/php5/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php5/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /usr/local/php5/pear/

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
[PEAR] Archive_Tar    - installed: 1.3.3
[PEAR] Console_Getopt - installed: 1.2.3
[PEAR] Structures_Graph- installed: 1.0.2
[PEAR] XML_Util       - installed: 1.2.1
[PEAR] PEAR           - installed: 1.8.0
Wrote PEAR system config file at: /usr/local/php5/etc/pear.conf
You may want to add: /usr/local/php5/pear to your php.ini include_path
Installing PDO headers:          /usr/local/php5/include/php/ext/pdo/

インストール完了。PHPのversion確認。

# php -v
PHP 5.1.6 (cli) (built: Apr  7 2009 08:00:18)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

おりょ!?

versionが5.1.6だ。ほわい?
念のため、apacheの再起動。変わらず。

Webルートの/var/www/htmlに、phpinfo()を置いてブラウザでアクセスしてみる。
http://IPアドレス/phpinfo.php

PHP Version 5.2.10

がヘッダ部に表示された。良かった。きっとこれで大丈夫なんだろう。多分。

PHPとMySQLの接続を確認

次に、PHPとMySQLの接続を確認する。

phpのmysql_connect関数を使って、簡単なMySQLへの接続のスクリプトを用意する。

connect_test.php

<?php
$s = mysql_connect("servername", "username", "password") or die("接続に失敗しました");
print "接続に成功しました";
mysql_close($s);
?>

これを/var/www/htmlに置いてブラウザでアクセスする。
http://CentOSのIPアドレス/connect_test.php

「接続に成功しました」が表示された。実際にDBを用意してデータのやりとりを確認したわけじゃないけれど、とりあえず繋がるってことを確認したので、これでよしとする。現段階では。

ということで、CentOS 5.3 Serverをインストールして、LAMP環境を構築完了。

はじめてのCentOS5 Linuxサーバ構築編 (TECHNICAL MASTER)
ラクス
秀和システム
売り上げランキング: 175450

Categories

Tag Cloud

AdMob Android Apache centos CodeIgniter EC-CUBE facebookアプリ facebookページ feed Firefox Flash google googleanalytics htaccess iPad iPhone JavaScript lamp mobile nginx ogp pear php plugin rollover rss sendmail setting smarty ssh Titanium Mobile Titanium Studio tutorial ubuntu vim VirtualBox vmware vps Windows WordPress xampp youtube さくらインターネット アクセス解析 カスタム投稿