娱乐新地带论坛  

返回   娱乐新地带论坛 > 电脑技术 > 『软件使用』

『软件使用』 交流对软件的使用心得、经验窍门、好的软件要让大家一起用

发表新主题 回复
 
主题工具 显示模式
旧 2003-10-22, 07:30 PM   #1
No1
Tony
坛主
级别:199 | 在线时长:40425小时 | 升级还需:375小时级别:199 | 在线时长:40425小时 | 升级还需:375小时级别:199 | 在线时长:40425小时 | 升级还需:375小时级别:199 | 在线时长:40425小时 | 升级还需:375小时
 
Tony 的头像
 
注册日期: 2003-10-22
帖子: 11,052
积分:6
精华:24
现金:14344金币
资产:29325301金币
Tony 是一位成功的新星Tony 是一位成功的新星Tony 是一位成功的新星Tony 是一位成功的新星
Linux+Apache+MySQL+PHP+FrontPage完全安装手册

本文介绍如何安装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而不是<a href="ht...dex.php。</a>

  DirectoryIndex index.php index.shtml index.html index.htm

  3、修改目录权限

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

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

  <Directory "/www/httpd">
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
  </Directory>
八. 运用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
  <my-new-user>:3923kw#$sdfk32$
然后复制用户和加密口令到service.pwd并且该用户即可登陆,你也必须包用户组成一组,这样对网站的修改可以进行了,这通过编辑/_vti_pvt/service.grp完成。

  pico _vti_pvt/service.grp
  administrators : administrator <my-new-user>
  authors :

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

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

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

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

  <VirtualHost *>
  ServerAdmin root@virtual.com
  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/

  <DIRECTORY /www/virtual.com>
  AllowOverride All
  Options Indexes FollowSymLinks Includes ExecCGI MultiViews
  Options All
  order allow,deny
  allow from all
  </DIRECTORY>

  <DIRECTORY /www/virtual.com/public_html/cgi-bin>
  AllowOverride None
  Options ExecCGI FollowSymLinks INcludes
  </DIRECTORY>

  LogFormat Combined
  ServerAlias virtual.com *.virtual.com
  </VirtualHost>

  首先,在这个虚拟域定义中有几点说明。<VirtualHost *〉可以改为下列任何一个。

  # To make this virtual web listen on all interfaces and all ports <VirtualHost *>

  # If you have a separate IP # for virtual hosting <VirtualHost 192.168.0.2>

  # To listen only on port 80 on 192.168.0.2
  <VirtualHost 192.168.0.2:80>

  # To listen only on port 80 on all interfaces
  <VirtualHost *:80>

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

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

  在虚拟主机中的<Directory>定义允许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 <VirtualHost>)
  : 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扩展。

  十. 测试文件

  最后的步骤是测试PHP、CGI和SSI。你可以用下列文件或创建自己的。通过FTP上传文件到网站上,然后点击浏览器测试它们。

  一、PHP测试文件:test.php

  ----------------------------------------
  <html>
  <head>
  <title>PHP Test</title>
  </head>
  <body>
  <?php echo "Hello World<P>"; ?>
  </body></html>
  ----------------------------------------

  二、CGI测试文件:test.cgi(确保至少chmod 755)

  ----------------------------------------
  #!/usr/bin/perl

  print "Content-type: text/html\n\n";
  print "
  <html>
  <head>
  <title>Perl Test</title>
  </head>
  <body>
  HEllo World
  </body></html>
  ";

  exit (0);
  ----------------------------------------

  三、SSI测试文件:test.shtml

  ----------------------------------------
  <html>
  <head>
  <title>SSI Test</title>
  </head>
  <body>
  <!--#include virtual="test.txt">
  </body></html>
  ----------------------------------------
  File : test.txt (used in SSI parsing in test.shtml file above)
  ----------------------------------------
  Hello World
  ----------------------------------------
Tony 当前离线  
回复时引用此帖
发表新主题 回复

书签


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码

论坛跳转


所有时间均为北京时间。现在的时间是 03:28 AM


©2003-2024 1819.net All rights reserved.