Liunx 架站技术专题  

设定 Web 服务器(Apache Server)
------------------------------------------------------------------------------------------------

1. 需要哪些 WWW 服务

2. 行前准备

3. 下载 MySQL, php, apache 套件

4. 安装 MySQL php 与 apache

5. 简易设定 apache

6. 测试 MySQL 及 PHP 套件

7. 写入第一个个人首页

其它的好用小程序(计数器、流量统计等等!)

------------------------------------------------------------------------------------------------

需要哪些 WWW 服务?


  其实,在你一安装好 Linux 时,就有两个服务开放了:一个是前面提到的 sendmail (邮件服务器),另外一个就是 WWW 服务器啦!在 RedHat 中预设的 WWW 服务器是很有名的 Apache 这一套,而这一套 www 软件目前最热门的是 1.3.XX 版,截至目前为止(2001/08/30)这一版最新出到了 1.3.20 版!以下我们要介绍的就是 Apache 这一套 Web 架站软件啦!

  先来了解一下何谓 WWW ,WWW 是 World Wide Web 的缩写,其中, Web 有广播网的意思存在,所以,简单的说,WWW就是全球信息网,可以结合文字、图形、影像及声音等多媒体,并透过超级链接(Hypertext) 的方式,将信息透过 Internet 传递到世界各处!那 WWW 的资料是如何传递的呢?如果你常上网浏览的话(不论是使用 IE 或是 Netscape),你应该会知道,台湾最大的入口网站是奇摩站(www.kimo.com.tw),所以你只要在网址列上面输入 http://www.kimo.com.tw 就可以将奇摩站的资料捉到你的浏览器中,以供你观看!这个 http://www.kimo.com.tw 就是所谓的 URL ,其中 www.kimo.com.tw 就是所谓的领域名称(Domain name)也是前面我们稍微提过的咚咚,奇摩的真实 IP 就是透过 www.kimo.com.tw 经由 DNS 的解析而找到这部计算机,然后经过 http 的功能将资料传到你的眼前来!因此,要你的 WWW 可以运作正常并且可以让大家都可以连的进来,就最好一定要申请一个名称啦!也就是说,你的 DNS 一定要设定正确无误才行!所以,进行 WWW 的设定之前,你一定要『先具有 DNS 可以找到的主机名称,并且可以连上 Internet』!

  不过,在开始进行 WWW 的设定之前,你可能要先了解一下你要你的 WWW 服务器为你作些什么?是简单的『静态网页』就够了吗?还是需要活泼热闹的 PHP+MySQL 的『动态网页』,或者是另外一套 apache + asp 的动态网页呢?如果你只要你的 WWW 提供给你最简单的静态网页空间,那你可以只安装 Apache 即可,而由于 Linux 安装完毕后即提供WWW的服务了,因此你只要去设定WWW即可。不过,如果你还要其它的较为活泼的动态网页的话,基本上,目前比较流行的就是 PHP+MySQL+Apache 以及 Apache+ASP 这两组人马,这里我们将提供的是 PHP+MySQL+Apache 的架站,不过,由于 MySQL 及 PHP 的功能也是很强大的,但是在这里我们仅将 MySQL 及 PHP 视为 Apache 的一个模块,你应该要有个观念,我们这里提供的只是很基础的咚咚, PHP 与 MySQL 并非仅是一个 Apache 的模块喔!这里要小心!

返回页首

------------------------------------------------------------------------------------------------

行前准备

  在开始进行 WWW 的实作之前,要跟大家报告的是,由于 WWW 需要在网络的情况下执行运作,因此你一定要:

· 可以连上 Internet:如果不行的话,请参考 连上 Internet 一文;

· 具有 DNS 反查的功能:由于我预设你是以 ADSL 计时制的联机方式,因此你应该要去 申请动态 DNS

  具有这两个先决条件之后,再来架设 WWW 主机吧!然后,如果你有制作过网页的话,应该会有听过所谓的Perl、ASP、Java等等的咚咚,这些咚咚的功能之一,就是可以使用来作为设计 WWW 的程序语言的一种!那 PHP 是目前新兴的一种程序语言,可以附在 WWW 中执行喔!

  好了,我们来了解一下什么是 PHP 与 MySQL 这两个套件:

· PHP:官方的说法为:『PHP is a tool that lets you create dynamic web pages. PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them the same way you normally create regular HTML pages.』所以说, PHP 可简单的视为一种程序语言,可以用来设计留言版、讨论区、或聊天室等等的动态网页的咚咚!由于他具有免费、跨平台、易学及效率高等等的优点,目前算是很盛行的一种设计网页的咚咚啦!(基本上,PHP与ASP都是使用来设计网页的程序语言,当然其功能不只如此!你可以轻易的在市面上找到相关的书籍喔)

· MySQL:将官方网站上的翻译文件中这么说:『MySQL是一个真正的多使用者、多执行绪SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器背景执行程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得储存、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及储存顾客信息,同时MySQL也足够快和灵活以允许你储存记录文件和图像。MySQL 主要目标是快速、健壮和易用。』

  简单一点来说,这个东西就是一个数据库处理模块,例如:你在设计讨论区的时候,由于讨论的文章会日渐增多,因此就会有所谓的数据库处理的情况,MySQL 的目的就是在处理你这些由客户端传送来的资料。当然,其功能还不只此,我这里仅说一些我们可能用的到的咚咚!

  OK!那你应该知道为何我们这里需要的网站型态是 Apache + MySQL + PHP 的主机状态了,为了因应未来你的主机可能会支持讨论区、留言版、等动态网页,因此需要有 PHP 这个咚咚,而由于你的讨论区数据库会越来越大,所以需要有 MySQL 套件的支持啰!当然,别忘记这些套件是附在 WWW 下执行的,所以当然就需要 apache 啦!再来当然就是又要捉网络上的东西啦!

返回页首

------------------------------------------------------------------------------------------------

下载 MySQL, php, apache 套件

  要架设这样的一个主机需要哪些套件呢?不就是: Apache、MySQL及 PHP 啰!要从何处下载呢?你可以到中山大学的 FTP 站去搜寻,因为他提供的接口鸟哥真是蛮喜欢的,而且也真的很实用喔!寻找档案快又正确!

· 中山大学 FTP 站

  当然,你也可以到各个套件的发展处去下载:

· Apache:目前 Apache 已经出到了 2.0.X 版,但是最广泛使用的还是属于 1.3.X 版本,这一版本目前出到最新的 1.3.20 版,你可以上 Apache 主网页去看看相关的信息:

o Apache 主页(英文)

o Apache 套件(由主页下载)

o 台湾的映像站台

o 由本站下载 apache-1.3.20.tar.gz

· PHP:目前最新的是 4.0.6 版(2001年6月才出来的喔),你可以上 php 的主网页去看看一些相关的咚咚喔!

o PHP 主页(英文)

o PHP 主页下载

o 台湾映像站台

o 由本站下载 php-4.0.6.tar.gz

· MySQL:目前最新的版本是 3.23.41,同样的,你也可以上 MySQL 官方网页去看看喔!

o MySQL 主页(英文)

o MySQL 主页下载

o 台湾映像站台

o 由本站下载 mysql-3.23.41.tar.gz

  也就是说,我们需要的档案有三个,分别是:
· apache-1.3.20.tar.gz

· php-4.0.6.tar.gz

· mysql-3.23.41.tar.gz

返回页首

------------------------------------------------------------------------------------------------

安装 MySQL,php 与 apache

  安装这三个套件比较需要小心,因为使用 RPM 升级的话,可能没有办法取得最新的套件版本,所以这里我们使用最原始的原始码升级方法。安装的方法如下:

· 去除旧版的咚咚与解压缩:


1. 去除相关的旧版资料,如果你是 RedHat 6.1 的话,则下面的套件你可以先去除喔!



  当然啰,如果你之前安装了旧版的 Apache 、 PHP、或 MySQL,那你也可以移除。其实这是个人习惯,有的人喜欢保存两种版本在他们的系统中,若你也想安装两种版本在你的系统中,那你也不需要移除 rpm 的安装套件喔!不过,为了怕系统冲突,你必须要以 setup 的程序来取消 httpd, php 及 mysql 的服务喔!

2. 解压缩:

  假如你将 Apache, MySQL 及 PHP 三个档案放置在 /home/test 这个目录中,而要将资料解压缩到 /usr/local 当中,则可以这样下指令:



  则在 /usr/local 中会多出三个目录,分别是:apache_1.3.20, mysql-3.23.41, php-4.0.6。

· 安装 MySQL 套件:


  如果你英文够好的话,你可以到 /usr/local/mysql-3.23.41 这个目录中察看一下 INSTALL-SOURCE 这个档案,里面对于如何安装适合你的 MySQL 有很详尽的说明。如果你要照我的步骤作的话,请往下看吧!





  上面这样就安装完毕了!完成安装后就要开始测试你的 MySQL 啰!

· 增加 PHP 模块:


  基本上,PHP 可视为 Apache 的一个模块,由于是属于 apache 的一个模块,因此我们必须先针对 Apache 进行一次 configure 的设定侦测,这样才能将 php 增加至 apache 当中,详细步骤如下:




  上面这样就安装完 php 套件啰!

· 安装 Apache 套件:

  再来就是重头戏啦,开始安装 apache 啰!由于已经安装了 php ,所以在 /usr/local/apache_1.3.20/src/modules 中就会存在 php4 的目录!


返回页首

------------------------------------------------------------------------------------------------

简易设定 apache

  要来激活 Apache 啰,在这一版(1.3.20)当中,已经只剩下一个参数设定档『httpd.conf』这个档案。如果你是使用 RedHat6.1 原本的 apache 则有三个档案,分别是:

· httpd.conf

· access.conf

· srm.conf

  以下鸟哥将以 apache_1.3.20 版进行说明,如果你是以旧版的 apache 安装的话,请在其它两个档案中找寻相关的设定吧!

Apache 的主要目录型态:

  这是蛮重要的一个地方,因为不同版本的 Redhat 及不同的安装方法,会产生蛮大差异的目录型态,以下以 Redhat6.1, RedHat7.0+CLE0.9, 及使用原始码安装 1.3.20 的目录型态:

· Redhat 6.1:若使用原始的 apache 1.3.9 的话,则你的参数设定档会在 /etc/httpd/conf 当中,而主机的网页放置于 /home/httpd/html 中,至于 cgi 的咚咚则放在 /home/httpd/cgi-bin 当中;

· RedHat7.0 + CLE 0.9:同样的,这个系统的预设 apache 的参数档,放置在 /etc/httpd/conf 中,不过主机网页移至 /var/www/html 当中,cgi-bin 则放置在 /var/www/cgi-bin 中;

· 原始码安装:若使用原始码安装,且将预设的路径设置在 /usr/local/apache 时,你的参数设定档会在 /usr/local/apache/conf 中,而更动较大的是主机网页的放置目录,更改成 /usr/local/apache/htdocs 这个目录中,至于 cgi 也是放置在 /usr/local/apache/cgi-bin 当中。

  底下将以原始码安装的方法所产生的档案来介绍 apache 的设定。

基本设定:

· 1. 激活 apache 服务:基本上,只要你激活 apache 之后,应该就可以在客户端的浏览器程序上看到你的主机预设的网页了!激活的方式为:



  同时, apachectl 还有其它的参数如下:

o apachectl stop:停止 WWW 的服务;

o apachectl restart:重新激活 WWW 的服务,这个指令比较常用在你修改了 apache 的参数后,重新激活用的。

o apachectl status:侦测 WWW 的状态。

· 2. 更改中文首页:由于 WWW 的原始设定中,指定你的首页名称为 index.html 或者是 index.htm ,然而这一版的首页支持比较多的语言,因此你必须将首页文件名称修改一下:



· 4. 设定自动执行:另外,为了让你的 WWW 及 MySQL 服务可以一开机就执行,所以你可以将下面两行激活的 scripts 写在你的 /etc/rc.d/rc.local 的最后面:



开始设定 httpd.conf 档案:


  说了一些拉拉杂杂的话后,终于要来实际设定 httpd.conf 这个档案啰,请以 vi 来编辑吧。



· 1. 基础环境设定:以下这些在 httpd.conf 中的选项分别代表的意义为:




· 2. 路径设定:以下的参数在设定每一个网页或者是服务的路径所在!(旧版在 access.conf 中)




  基本上均使用默认值也就可以了!

· 3. 开启 PHP 与其它模块:由于我们需要可以支持 php 模块的 apache ,所以需要将这个模块开启喔!



· 4. 开启 Apache 状态列:我们可以透过 IE 等浏览器来观看主机的 apache 执行情况,若你需要这个服务,就要将下面的批注取消掉:



· 5. 重新激活:只要下达 /usr/local/apache/bin/apachectl restart 即可执行 httpd 啰!到这里就设定完毕了,执行你的 IE 连上你的网络看看吧!(如果有问题的话,请重新激活 Linux 吧!)

返回页首

------------------------------------------------------------------------------------------------

测试 MySQL 及 PHP 套件

  要测试这两个套件前请先确定 MySQL 及 Apache 已经被激活了!OK,来做测试吧!

· php 测试:


  你可以编辑一个档案,文件名称可以为 test.php ,然后将这个档案放置在 /usr/local/apache/htdocs 当中(就是你的主机的网页所在地喔!)



  然后连上你的主机,以我为例,我就要输入 http://vbird.adsldns.org/test.php 这样就可以看到你的 php 状态啰!也就是你的 php 就可以执行了!

· MySQL 测试:


  同样的, MySQL 也是编辑一个档案,执行看看可不可以即可:




  然后同样的执行 http://vbird.adsldns.org/mysqltest.html 即可知道你的 mysql 是否可以执行

返回页首

------------------------------------------------------------------------------------------------

写入第一个个人首页


  如果你的网站支持给用户放置个人网页的话,那你的个人网页在哪里呢?刚刚我们有提到在 httpd.conf 的设定中,有一项关于个人首页的设定,通常如果你不设定 httpd.conf 档案的话,他的默认值都是 public_html ,好了,那要如何设定个人网页呢?假设以 vbird 这个帐号为例,我们可以这样进行:



  然后在你的目录中,亦即 /home/vbird/public_html 当中,建立一个档名为 index.html 的 HTML 档案,例如我们刚刚测试的 php 的档案,然后在 IE 的网址列打入 http://你的网站名称/~vbird/ 则 apache 会自动将 IE 的讯息传到 /home/vbird/public_html 这个目录中,并搜寻文件名为 index.html 或 index.htm 或 index.php 的檔名!所以说, index.html 是 apache 第一个找寻的档名喔!这就是你的首页啦!

  然后你就可以经由 php 写你的网页资料,并将之放置在 public_html 这个目录下,就好了!不过用这个方法写网页时,需要注意的是,附檔名是 php3 的档案将不会被执行,所以你要将 php3 改成 php 比较妥当!