LAMP - Linux + Apache + MySQL + PHP
参考书籍:
- PHP 与 MySQL 应用实务 (O'Reilly, ISBN: 986-7794-680)
大部份的系统管理者都己习惯使用各套件厂商所准备的套件式,因为它们都很贴心的为客户们设想周到,把所有套件的功能都附加上去,但是我想应该也会有像小弟一样想要一个简单的环境,而不是需要所有的功能,此时就只能拿
source code 来编译了。
这次,小弟所写的是 Apache 2、MySQL 5 和 PHP 5 的编译笔记,小弟的需求不多,所以很多额外的进阶选项都没有加进去,如此对我来说也算是减少付担
:)
以下就是这次安装的过程:
安装 Apache 2:
在安装之前,请先确认你的 apache 要装在那里,在这里是安装到 /usr/local/httpd 这个目录,并使用了一些选项,在 configure
好了之后,就可以开始编译。
开始 configure
root # ./configure --prefix=/usr/local/httpd --enable-isapi
--enable-file-cache \
> --enable-echo --disable-charset-lite \
> --enable-charset-lite --enable-cache --enable-disk-cache
--enable-mem-cache \
> --enable-example --enable-case-filter --enable-case-filter-in
--enable-dumpio \
> --enable-ldap --enable-auth-ldap --enable-ext-filter
--enable-deflate --enable-log-forensic \
> --enable-logio --enable-mime-magic --enable-headers --enable-proxy
--enable-proxy-connect \
> --enable-proxy-ftp --enable-proxy-http --enable-ssl --enable-optional-hook-export
\
> --enable-optional-hook-import --enable-optional-fn-import
--enable-http --enable-cgi \
> --enable-cgid --enable-speling --enable-rewrite --enable-so
--with-suexec-uidmin \
> --with-suexec-gidmin --with-suexec-logfile --with-suexec-safepath
--enable-static-htpasswd \
> --enable-static-htdigest --enable-static-rotatelogs --enable-static-logresolve
|
configure 无误的话就开始编译:
安装:
启动 Apache:
root # /usr/local/httpd/bin/apachectl start |
安装 MySQL 5:
跟 Apache 一样,我们需要先 configure 一次,建立 Makefile 档案,然后才可以编译。
configure MySQL 并加入对中文 big5 的支援:
root # ./configure --prefix=/usr/local/mysql --with-charset=gb2312
--with-extra-charsets=all |
编译无误后安装:
root # make && make install |
建立 mysql 使用者:
root# useradd -s /bin/false -d /usr/local/mysql mysql |
初始化 MySQL 资料库并设定权限:
root # cd /usr/local/mysql
root # bin/mysql_install_db --user=mysql
root # chown -Rf mysql var; chgrp -Rf mysql . |
启动 MySQL:
root # bin/mysqld_safe --user=mysql & |
安装 PHP 5 模组:
安装 PHP 模组时,需要先知道 Apache 和 MySQL 的安装目录,这样才可以被支援,在本例中,Apache 是安装在 /usr/local/httpd,而
MySQL 是安装在 /usr/local/mysql 里。
root # ./configure --with-apxs2=/usr/local/httpd/bin/apxs
--enable-debug \
> --enable-magic-quotes --enable-libgcc --enable-ftp
--enable-mbstring \
> --with-mysql=/usr/local/mysql --enable-sockets --with-gnu-ld |
编译无误后安装 PHP 5
root # make && make install |
设定 httpd.conf:
root # /usr/local/httpd/conf/httpd.conf
___________________________________
#加入 php 模组
LoadModule php5_module modules/libphp5.so
#加入 php 类别
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
___________________________________
root # |
更新 PEAR 套件:
root # pear install HTML_Template_IT
root # pear upgrade PEAR
root # pear upgrade Date
root # pear upgrade DB
root # pear upgrade Mail |
重新启动 Apache:
root # /usr/local/httpd/bin/apachectl stop
root # /usr/local/httpd/bin/apachectl start |
注意事项:
以上范例为安装 Apache 2 和 PHP 5 的结合,并不适用於 PHP 4 或其它版本的设定,而在 PHP 5 里,更新了 PEAR
这个套件,所以在安装完成之后还需要设定 PEAR 才可以使用 PEAR 的功能(最明显的地方在於 DB 的连线)。而编译 PHP 时,记得是要使用
--with-apxs2 而不是 --with-apxs,因为我们是使用 Apache 2 版本。
要得知 configure 有那一些选项可以使用,请使用 --help 选项即可:
root # ./configure --help |
测试:
要测试 Apache 是否已和 PHP 整合在一起,只要写一下 PHP 程式就可以了。
root # touch /usrc/local/httpd/htdocs/phpinfo.php
root # vi /usrc/local/httpd/htdocs/phpinfo.php
----------------------------
<? phpinfo(); ?>
----------------------------
root # |
之后,请选择任一 Browser 开启就好了。

04/09/2006
|