第二,进入Linux,以root身份登录,挂载文件系统。
# mkdir c# mount -t vfat /dev/hda1 /c
因为我们将Apache的源代码放在驱动器C上,所以我们需要首先将它挂载到新创建的目录/c中。
第三,把这个程序复制到/tmp进行操作。
#cp /c/apache_1.3.9.tar.gz /tmp
注意:Linux下的所有文件名都区分大小写。接下来,我们将从压缩包中提取源代码。相应的命令是:
# CD/tmp # tar zxvf Apache _ 1.3.9.tar.gz
解压后进入存放源代码的目录,使用编译好的配置脚本设置环境。
#cd /tmp/apache_1.3.9#。/configure-sysconfdir=/etc/httpd-datadir=/home/httpd-logfiledir=/var/log/httpd-enable-module=most-enable-shared=max-disable-rule=wanthsregx
这里告诉Apache将配置文件保存在/etc/httpd目录下,其他文件(如HTML手册文档和CGI-BIN目录)保存在/home/httpd目录下。还要告诉Apache把最常用的模块编译成DSO模块。DSO代表动态共享对象。通过以DSO支持的模式编译Apache,您可以随时在Apache中添加和删除模块,而无需重新编译。具体模块见下文。
第四,之后。/configure时,配置脚本将自动生成Makefile。至此,我们可以开始编译源代码了。
#制造
源代码编译完成后,使用make install将Apache安装到默认目录。当然,你也可以使用下面的命令:
#rpm -ivh apache*。每分钟转数
安装Apache的RPM包。这个方法比较简单,就不赘述了。
部署
安装Apache后,开始它的配置。它的主目录下有四个文件:httpd.conf、access.conf、srm.conf和Magic,其中httpd.conf是主配置文件,access.conf是访问控制配置文件,srm.conf是Web主机的文件资源的配置文件。Magic是mime模块的一个设置,我们一般不会更改这个文件。
Apache运行时先调用httpd.conf,再调用srm.conf,最后调用access.conf在较新的Apache版本中,建议srm.conf和access.conf的内容应该为空,设置选项应该完全存储在httpd.conf中,这样会更有利于服务器的安全。
让我们从httpd.conf开始我们神奇的网络世界
1.全局环境变量的设置
Httpd.conf从设置全局环境变量开始。我们将逐步介绍它的具体参数。
服务器类型独立服务器根'/etc/httpd '
“ServerType”的第一行表示Apache是作为一个独立的守护进程在后台运行,还是另一个守护进程(Xinetd)在收到HTTP请求时被唤醒。对于正规的互联网网站,standalone可以提供比xinetd更快的客户端响应速度。因此,我们选择独立模型。第二行代码介绍了服务器配置文件的相对根目录,通常是/etc/httpd。我们已经在安装过程中设置好了。请注意不要在此目录的末尾添加“/”。
锁文件/var/lock/httpd。lockpidfile/var/run/httpd。PID score board file/var/run/httpd。记分板锁文件在安装Apache时指定USE_FCNTL _SERIALIZED_ACCEPT、USE_FLOCK_SERIALIZED_ACCEPT等参数。作为Apache连接错误的记录文件,它会自动将进程的PID值添加到文件中。请注意,该文件应保存在本地硬盘上。PidFile记录服务器每次运行时的进程号。记分卡文件(ScoreBoardFile)是记录某些特定系统上服务程序中父进程与子进程之间通信的文件。
# resource config conf/SRM . conf # access config conf/access . conf
以上两项是指定服务器资源和控制权限的文件,默认不使用。
超时300 keepalive OnMaxKeepAliveRequests 100 keepalivetime out 15
这四项设置了服务器的连接属性。第一行解释了TCP中ack的响应时间是300秒;第二项指示是否保持服务响应的连接;接下来的两个术语定义了这个连接的最大响应数和响应时间。如果MaxKeepAliveRequests设置为0,则无限制。当然,这取决于系统的承载能力。
最小服务器5最大服务器20启动服务器8
这三项定义了服务程序的最小和最大空子进程数以及服务程序开始时的进程数。5、20和8分别是它们的默认值。
MaxClients 150 maxrequestsperchild 100
上面两行定义了客户连接的最大数量以及每个连接同时的子进程数量。
监听3000监听12 . 34 . 56 . 78:80绑定地址*
这里定义了服务程序监听来自上述IP和端口号的请求。因为BindAddress只支持*(表示所有IP),所以生成了参数Listen来更灵活地处理客户端的响应。
扩展状态开/关
本指令说明是否跟踪服务程序生成的扩展状态。
下面是对DSO的支持,分别使用LoadModule和AddModule的参数。我们可以阅读表1并加载我们需要的模块。
2.主服务器设置
设置下列主服务器(非虚拟服务主机)。
端口80
这个参数给出了服务程序开始监听的端口号是80。
用户nobodyGroup nobodyServeRadmin root @ localhostServerName localhost
上面的第一行和第二行表示开放服务流程的用户名和用户组名。第三行和第四行是管理员的电子邮件地址和该服务器的主机名。
document root '/home/httpd/html ' directory index index.html index.htm index . shtml index . cgiuserdir public _ html
前面两行定义了网页的主目录和主页名。UserDir给出了用户的绝对路径,也就是说个人主页的存储路径。AccessFileName。htaccess该指令指定每个目录中的文件权限由。htaccess。当Apache试图读取一个目录中的文件时,它将首先引用。并执行相应的操作。Mime的文件定义类型由下面两句话决定:types config/etc/Mime . typesmimemagicfile share/magicaddlanguageen . en该参数可以增加对多种语言的支持。error log/var/log/httpd/error _ logloglevelwarncustomlog/var/log/httpd/access _ log common以上代码代表了客户端访问服务器的部分日志文件。在全局设置之后,我们还需要具体配置每个目录的权限。
3.目录权限的配置。我们只以一个目录为例,其他路径都可以类比。