当前位置:Linux教程 - Mysql - Linux+Apache 1.3.9+MySQL+PHP4+FrontPage 2000

Linux+Apache 1.3.9+MySQL+PHP4+FrontPage 2000

  本文介绍如何安装Apache以支持MySQL、PHP4、FrontPage2000服务器扩展和虚拟主机功能,本文的安装步骤在Redhat 7.0和Mandrake 7.2上测试通过,所以应该适用于任何Linux发行,它也适用于任何形式的*nix系统,只要下载不同的软件包。

一、需求

1、一个基于Intel并安装了TCP/IP和libc6的Linux系统。如果Apache或MySQL已经安装好了,建议用软件包管理程序或手工删除它们。

2、需要安装的软件包,它包括:Apache 1.3.19、MySQL服务器、PHP4和FrontPage 2000扩展、Apache支持FrontPage 2000扩展的补丁、最新的gcc编译器及其相关库。

二、准备安装

1、下载软件包

下载下列软件包到/download目录下。

Apache 1.3.19
MySQL Server
PHP4
FrontPage 2000 Extensions
2、解压缩源代码

将所有/download目录下的源代码包(除了frontpage要解压缩到/use/local目录下)解压缩:

tar zxfv apache_1.3.19.tar.gz
tar zxfv fp40.linux.tar.gz -C /usr/local
tar mysql-3.23.32.tar.gz
tar zxfv php-4.0.4pl1.tar.gz

三、安装MySQL

第一步先要安装MySQL,因为要安装支持MySQL的PHP,然后安装支持PHP的Apache,下面是具体步骤。

1、设置用户和组

首先,系统增加名为mysql的拥护和组。

groupadd mysql
useradd -g mysql mysql

2、配置并构建MySQL

进入目录/download/mysql-3.23.32并运行configure和make程序。如果想把数据库存在非缺省目录/usr/local/mysql/var/,则为configure指定选项localstatedir=/your_path。

cd mysql-3.23.32
./configure --prefix=/usr/local/mysql
make
make install

MySQL现在已经安装到/usr/local/mysql目录下。目前还没有一个数据目录,现在要运行MySQL自带的脚本创建目录并安装测试数据库。

scripts/mysql_install_db
在启动守护程序前,改变文件的属权,否则守护程序不能运行。

chown -R mysql.mysql /usr/local/mysql
3、启动MySQL守护程序

现在准备启动守护程序。safe_mysqld等价于tcpwrapper for MySQL,tcpwrapper常用于包装inet的服务以增加安装性。

/usr/local/mysql/bin/safe_mysqld --user=mysql &
4、设置root用户口令并在引导时启动MySQL。

现在MySQL正在运行,可以用mysqladmin设置root用户口令。

/usr/local/mysql/bin/mysqladmin -u root -p password ''yourpass''
最后一步是需要确保MySQL能在系统重起时启动。编辑/etc/rc/d/rc.local文件,并在末尾加入/usr/local/mysql/bin/safe_mysqld --user=mysql & 。或者可以编写一个启动/停止的脚本并符号链接到适当的运行级别。

四、为Apache打补丁

在继续下列步骤前,我们必须给Apache打上FrontPage补丁,将FrontPage补丁复制到Apache源代码目录下并做一个到FrontPage的currentversion的符号链接。

cd /usr/local/frontpage/
ln -s version4.0 currentversion
cd currentversion/apache-fp
cp fp-patch-apache_1.3.12 /downloads/apache_1.3.19

1、打补丁

现在在Apache源代码目录下打上FrontPage补丁。这将需要将二进制补丁放在你的目录下。

patch -p0 < fp-patch-apache_1.3.12
这将在apache源代码目录下生成一个mod_frontpage.c文件,它需要复制到extras模块上。

cp fp-patch-apache_1.3.12 src/modules/extra/
2、运行一个简单的apache配置

现在运行一个简单的配置,等一下再运行更高级的配置。

/downloads/apache_1.3.19/configure
五、安装PHP4

PHP4是一种服务器端、跨平台、HTML嵌入式脚本语言,它赋予我们开发动态网站的能力,并能很容易地与MySQL服务器接口。

1、配置PHP4以支持MySQL和Apache

你将安装支持位于/usr/local/mysql目录下的MySQL的PHP4。

cd /downloads/php-4.0.4pl1
./configure --with-mysql=/usr/local/mysql --with-apache=/downloads/apache_1.3.19 --enable-track-vars

2、配置apache支持MySQL和Apache

现在运行make和make install来编译Apache所需的文件。

make
make install

六、安装Apache服务器

Apache是本文的核心,所以请仔细安装下列步骤进行。现在PHP已经构建好,你将在Apache源代码目录下找到一个新目录../apache_1.3.19/src/modules/php4。现在我们再次配置apache,但这时对PHP和FrontPage的支持已经静态地构建好了。

1、创建符号链接和目录结构

创建符号链接/usr/local/httpd指向/usr/local/apache-1.3.x,这样你可以构建一个新版本apache,然后在必要时重新链接。用下列命令:

mkdir /usr/local/apache-1.3.19
ln -s /usr/local/apache-1.3.19 /usr/local/httpd

2、配置Apache支持ForntPage和PHP4

现在,我们可以用--prefix=/usr/local/httpd配置apache,它是指向apache-1.3.19的符号链接。要知道,src/modules/php4/libphp4.a毫不存在,但将要生成。要注意用--add-module加入FrontPage,--activate-module加入PHP。现在运行make和make install以构建并安装Apache。其它无关紧要的是httpd.conf放在哪里,有些人喜欢放在/etc目录下。如果像这样做,加上--localstatedir=/etc即可。

cd /downloads/apache_1.3.19
./configure --prefix=/usr/local/httpd
--activate-module=src/modules/php4/libphp4.a
--add-module=src/modules/extra/mod_frontpage.c

3、构建Apache

运行make将创建httpd二进制代码。如果你覆盖一个老版本的服务器,你要做的就是make,然后将httpd二进制代码从bin目录夫知道现有的httpd产品目录即可。这里建议你有一个全新的安装,因为这样非常容易地从原先的安装迁移www数据和conf文件。

make
make install
七、修改httpd.conf

很好,你已经安装好了Apache,并支持FrontPage、PHP和MySQL。现在整理一下其他事情以便能工作得更好。首先修改一些httpd.conf配置。

1、增加PHP标记

为了让Apache处理PHP扩展名,必须加入该类型。确保你把配置文件中的下列两行去掉注释。如果这两行不存在,必须手工添加。

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

2、改变Directory Index

改变Directory Index支持以增加index.php和index.shtml。这完全作为参考,但如果你的网站严格地用SSI或PHP编写,那么有这些额外的Directory Index文件将避免参照index文件的全路径,相反,你可以简单地键入http://www.virtual.com而不是http://www.virtual.com/index.php。

DirectoryIndex index.php index.shtml index.html index.htm
3、修改目录权限

对配置文件几个重要的修改是DocumentRoot和Directory的权限。修改DocumentRoot指向你的缺省网页文件,如

DocumentRoot /www/httpd
现在对它修改目录权限是的FrontPage能够用其.htaccess文件覆盖它们。AllowOverride从None改为All。


Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all


八、运用FrontPage Extensions到根网站

我们已经完成了支持PHP和MySQL的Apache,剩下的事情就是FrontPage服务器扩展了,你可能用或不用于你的网站。但你有多人需要编辑网站并且不是每个人都熟悉FTP和HTML时,它就有用了。

1、运行fpsrvadm.exe

我们把FrontPage扩展用于网站根目录(/www/httpd)。

cd /usr/local/frontpage/currentversion/bin/
并运行fpsrvadm.exe安装扩展到根目录。

./fpsrvadm.exe -o install

: 0 for apache (do not choose apache-fp)
: /usr/local/httpd/conf/httpd.conf (patch to server config file)
: ENTER (Just hit enter for a blank multi-hosting)
: apache (user owner of DocumentRoot (i.e. /www/httpd))
: web (group owner of DocumentRoot (i.e. /www/httpd))
: myuser (frontpage login)
: mypass (frontpage password)

注意,这里使用用户“apache”和“web”组。对于虚拟域,对每个虚拟域分开用户,但组总是“web”。

2、创建其他FrontPage用户

现在简单地为FrontPage提供一个管理员账号及该账号口令,它将是访问FrontPage的登陆名和口令。如果你保持这些与ftp登陆同步,可能更好些。你总能回来并运行./fpsrvadm.exe并用Option 7增加一个用户并输入正确的信息。或者你可以修改包含用户和加密口令的/_vti_pvt/service.pwd文件,如果需要生成一个加密口令,使用:

htpasswd temp.pass.file
Enter Password : **********
pico temp.pass.file
:3923kw#$sdfk32$

然后复制用户和加密口令到service.pwd并且该用户即可登陆,你也必须包用户组成一组,这样对网站的修改可以进行了,这通过编辑/_vti_pvt/service.grp完成。

pico _vti_pvt/service.grp
administrators : administrator
authors :

增加新用户到适当的修改网站的组中。现在尝试通过FrontPage登陆,用户再增加""author""或""administrator""后应该有权编辑了。

九、用FrontPage支持创建虚拟网站

这个过程与把它们加入根网站相同,唯一的差别是当运行fpsrvadm.exe时要提供一个muulti-hosting名而不是指打回车。多宿主名将是定义在中的ServerName。

首先,编辑htppd.conf并去掉NameVirtualHost行的注释。如果你在这台机器上只有一个IP地址,那么表中第一个虚拟主机将是你的根网站。如果有两个IP地址,那么你的根网站可能在192.168.0.1并且虚拟网站可能在192.168.0.2,这可以保持根网站的完整。

if you have 1 ip address
NameVirtualHost *
if you have a separate ip address just for your virtual webs
NameVirtualHost 192.168.0.2

确保如果你有多个IP地址,告诉Apache监听哪个IP地址,或用Listen *让Apache监听列在ifconfig中的所有接口。

# to make apache listen on all ip addresses assigned to the box
Listen *

# Listen for root web
Listen 192.168.0.1

# Listen for virtual webs
Listen 192.168.0.2

现在你已经知道该信息,假如一个虚拟网站。


ServerAdmin [email protected]
ServerName virtual.com
DocumentRoot /www/virtual.com/public_html
CustomLog logs/virtual.com/access_log combined
ScriptAlias /cgi-bin /www/virtual.com/public_html/cgi-bin/


AllowOverride All
Options Indexes FollowSymLinks Includes ExecCGI MultiViews
Options All
order allow,deny
allow from all



AllowOverride None
Options ExecCGI FollowSymLinks INcludes


LogFormat Combined
ServerAlias virtual.com *.virtual.com


首先,在这个虚拟域定义中有几点说明。

 

# To make this virtual web listen on all interfaces and all ports


# If you have a separate IP # for virtual hosting

# To listen only on port 80 on 192.168.0.2


# To listen only on port 80 on all interfaces


这里只使用,因为在机器上只有一个IP地址。记住,这的确破坏了你的根网站(/www/httpd)并使得第一个定义称为你的根网站。

在有人到达你的IP地址时,他们首先被第一个虚拟网站服务,而不是根网站。这是为什么机器要有两个IP地址并将根网站置于各自独立的IP地址的原因。或者你有整个C类地址,或一个子网,那么你可以将每一个网站赋予其自己的IP地址,这样会好些。

在虚拟主机中的定义允许FrontPage用.htaccess文件改写权限。

好了,现在你已经把一个虚拟主机加到了httpd.conf中,名为""virtual.com"",保存httpd.conf并运用FrontPage扩展。

cd /usr/local/frontpage/currentversion/bin
./fpsrvadm.exe -o install

: 0 for apache (do not choose apache-fp)
: /usr/local/httpd/conf/httpd.conf (patch to server config file.
: www.virtual.com (the name of ServerName in )
: apache (user owner of DocumentRoot (i.e. /www/httpd))
: web (group owner of DocumentRoot (i.e. /www/httpd))
: myuser (frontpage login)
: mypass (frontpage password)

注意,对虚拟网站,为每一个网站在机器上创建一个用户。

本例中用户和组为:

: virtual (virtual.com的用户)
: web (所有网站的用户组)

用户和组必须在运行./fpsrvadm.exe安装FrontPage扩展前在/etc/passwd和/etc/group中是有效的。现在FrontPage扩展已经被复制到了你的新虚拟网站的DocumentRoot(如/www/virtual/public_html)。

你可以改变该目录并检验再次有一个_vti_文件夹。

现在尝试通过FrontPage连接新虚拟网站,Open Web -> http://www.virtual.com。

它应该询问登陆名和口令,如果没问题,你可以增加更多的虚拟主机到httpd.conf中,然后以同样的方式实现FrontPage扩展。