linux服务器 Apache服务的源码安装与基本配置

–>

我这里实验使用的linux系统版本为:红帽6.5企业版;Apache版本为:httpd-2.2.17

一.准备工作:为了避免发生端口冲突、程序冲突等现象,我们先将使用rpm包安装的httpd服务卸载掉

说明:rpm -q httpd是查询httpd是否安装,rpm -e httpd –nodeps是将httpd卸载掉并且卸载时不检查依赖关系

二.挂载软件光盘:先使df查看磁盘分区挂载情况,看看当前是否有光盘正在挂载,如果有,则使用umount命令先卸载掉,然后在挂载有Apache软件的光盘

三.编译安装:(将光盘挂载好以后,接下来就要进入源码编译安装的流程了,源码编译安装过程分为四步解包、配置、编译、安装)

1.解包(解包就是将光盘里面的安装包解压到本地,一般解压到/usr/src目录下)

2.配置(配置是根据服务器的实际应用需要来制定不同的选项,如指定安装路径、启用字符集等等,类似于windows软件的自定义安装,只不过linux中更加灵活)

说明:执行./configure –help可以查看各种配置选项及其含义,这里的配置选项含义如下

–prefix:指定httpd的安装路径

–enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力

–enable-rewrite:启用网页地址重写功能,用于网站的优化及目录迁移维护

–enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页

–enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力

配置好选项以后回车即可

3.编译(编译就是使用”make”命令将源代码文件进行编译而生成二进制的程序模块、动态链接库、可执行文件等,输入make回车即可)

4.安装(编译完成后,执行”make install”安装命令,将软件的执行程序、配置文件、帮助文档等相关文件复制到linux系统中,进行安装,输入make install回车即可)

安装好以后可以确认下安装结果

当然我们还要对安装目录下的子目录有一定了解,下面列举一些常用的子目录

  • /usr/local/httpd/bin:存放httpd服务的各种执行程序文件,如主程序httpd、服务控制工具apachectl等

  • /usr/local/httpd/conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra等

  • /usr/local/httpd/htdocs:存放网页文档,包括默认首页文件index.html等

  • /usr/local/httpd/logs:存放httpd服务的日志文件,如access_log、error_log等

  • /usr/local/httpd/modules:存放httpd服务的各种模块文件

  • /usr/local/httpd/cgi-bin:存放各种CGI程序文件

为了使该服务在使用中更加方便,我们也可以优化下执行路径(通过源码编译安装的httpd服务,程序路径并不在默认的搜索路径中,可以使用ln命令为相关程序添加符号链接)

四.httpd服务器的基本配置

1.为服务器配置IP地址(我这里用的是第一块网卡,这个根据实际需求分配,将ONBOOT改成开机启动,并且配置BOOTPROTO为静态地址,然后添加IP地址和子网掩码)

2.打开配置文件进行相关配置(比如配置网站名称、默认首页网站根目录等等)

下面介绍一些经常用到的全局配置项

  • ServerRoot:设置httpd的根目录,该目录下包括了运行Web站点必须的子目录和文件,默认的根目录是/usr/local/httpd,与httpd的安装目录相同

  • DocumentRoot:设置网站根目录,即网页文档在系统中的实际存放路径

  • DirectoryIndex:设置网站的默认索引页,也就是首页,可以设置多个首页文件,以空格分开,默认的首页文件为index.html

  • Listen:设置httpd服务器监听的网络端口号,默认为80

  • ErrorLog:设置错误日志文件的路径,默认为log/error_log

  • LogLervl:设置记录日志级别,默认为warm(警告)

  • CustomLog:设置访问日志文件的路径、日志类型,默认为log/access_log

  • Include:包含另一个配置文件的内容,可以实现将一些特殊功能的配置放到一个单独的文件中,再使用Include配置项将其包含到主配文件中,便于独立进行配置文件的维护

除了全局配置项,我们还要知道区域配置项,接下来列举一些经常用到的区域配置项
如上图所示,在httpd的主配置文件httpd.conf中会有一些以Directory开头,以/Directory结尾的区域配置项,每个区域配置项的功能都限定了配置项的作用范围, 其中Order配置项比较重要,因为此配置项可以对客户机地址进行访问限制

  • <Directory />:定义“/”目录区域的开始

  • <Options FollowSymLinks>:控制选项,允许使用符号链接

  • <AllowOverride None>:不允许隐含控制文件中的覆盖配置

  • Order deny,allow:访问控制策略的应用顺序

  • Deny from all:禁止任何人访问此区域

  • </Directory>:定义”/”目录区域的结束

3.将httpd添加为系统服务(我们安装好的httpd默认并不是系统服务,所以需要手动添加)

说明:打开/etc/init.d/httpd脚本以后,我们在里面需要添加两行注释

chkconfig这一行是此脚本中默认设置的服务识别参数,35代表在系统级别3、5中启动;启动和关闭顺序分别为85和21

description这一行没有什么具体作用,只是服务描述信息

添加好注释后,保存退出,再将httpd添加为系统服务,并看下httpd的服务的自启动状态

4.启动httpd服务(启动前,可以先对主配置文件做一下语法检测,然后在启动后也可以查看下httpd服务的网络连接信息)

这样web服务器就搭建好了

转载于:https://blog.51cto.com/lucifer119/1732660

本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。

© 版权声明

相关文章