wiki:integrateapache+mysql+php(linux)

Wiki: Integrate apache+mysql+php(linux)

2006/9/19

准备工作

软件版本号

安装和配置

apache1.3

mysql5

php5

mod_perl 1.29

修改httpd.conf

phpmyadmin-2.8.0b

准备工作

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的根目录。