wiki:integrateapache+mysql+php(linux)
Wiki: Integrate apache+mysql+php(linux)
2006/9/19
准备工作
Linux pdn 2.6.17-gentoo-r8 #3 PREEMPT Mon Sep 18 22:16:07 CST 2006 i686 Intel(R) Pentium(R) M processor 1600MHz GNU/Linux
软件版本号
Apache/1.3.37
PHP/5.1.6
mod_perl/1.29
mysql-standard-5.0.24a-linux-i686-glibc23.tar.gz
phpMyAdmin-2.8.0-beta1
安装和配置
尽量按照如下列出的顺序来安装,用数理逻辑的依赖关系表示应该是: mysql->php, apache->(mod_perl, php) :)
apache1.3
编译
./configure --prefix=/home/opt/apache \
--enable-shared=max \
--enable-module=all
mysql5
安装
因为下载的是已经编译过的二进制包,所以直接解压到硬盘即可。不过需要注意的 是,因为原来的编译路径是 /usr/local/mysql,所以你必须解压到这个目录,或 者你解压到别处,比如 /home/opt/mysql5,但是需要做一个符号链接到如上目录。
压缩包下的 INSTALL-BINARY 里边有详细的安装步骤,可以参考:
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &
php5
编译
选择你需要的功能,加入
./configure --prefix=/home/opt/php5 \
--with-apxs=/home/opt/apache/bin/apxs \
--with-zlib \
--with-gd \
--enable-mbstring \
--with-mysql=/home/opt/mysql \
--enable-zend-multibyte
当make && make install后,你会发现$apache/conf/httpd.conf被替换了,其中 自动加入了一些php的配置信息。
mod_perl 1.29
apache1.xx搭配mod_perl1.xx工作,apache2.xx搭配mod_perl2.xx工作。
编译
如下将以DSO (Dynamic Shared Object) 方式编译perl到apache中,它会在需要 perl解析的时候加载 mod_perl。
perl Makefile.PL \
USE_APXS=1 \
WITH_APXS=/home/opt/apache/bin/apxs \
EVERYTHING=1
当make && make install后,你会发现$apache/conf/httpd.conf被替换了,其中 自动加入了一些mod_perl的配置信息。
修改httpd.conf
有可能下边的某些内容已经自动添加到 httpd.conf 了。
添加php配置
添加php模块
# 在LoadModule组添加
LoadModule php5_module libexec/libphp5.so
# 在AddModule组添加
AddModule mod_php5.c
添加php文件类型
# 将下面这行添加到 <IfModule mod_mime.c> 条件块中
AddType application/x-httpd-php .php
# 如果要使用语法高亮的 .phps 文件,需要添加
AddType application/x-httpd-php-source .phps
添加index文件
# 在<IfModule mod_dir.c>之后
DirectoryIndex index.html index.php index.htm
根据需要修改默认的 <nop>DocumentRoot 位置
DocumentRoot "d:/workspace/website"
# 接着下边的
<Directory "d:/workspace/website">
添加mod_perl配置
添加mod_perl
LoadModule perl_module libexec/libperl.so
AddModule mod_perl.c
添加perl脚本路径,其中的PerlHandler设置你需要用到的解释模块
PerlModule Apache::Registry
Alias /perl/ /home/nini/web/perl/
<Location /perl>
SetHandler perl-script
PerlHandler Apache::Registry
PerlHandler HTML::Mason::ApacheHandler
...
PerlSendHeader On
Options +ExecCGI
</Location>
启动apache
在phpinfo中可以看到 php 和 mod_perl 已经加载了
Apache/1.3.37 (Unix) mod_perl/1.29 PHP/5.1.6
phpmyadmin-2.8.0b
配置config.inc.php
phpmyadmin2.8.0比以前版本有了不少更新,一个显著特点是可以使用scripts/setup.php来 定制config.inc.php文件。
若是config.inc.php不存在,则可先运行setup.php,选择Download按钮,把一个新的 config.inc.php文件保存到 config/config.inc.php,然后就可以用 setup.php 上的一系 列按钮来定制这个文件了。
定制完之后,把config/config.inc.php复制到上层目录,也就是phpmyadmin的根目录。