Linux中的Apache的编译安装步骤和配置

Linux中的Apache的编译安装步骤和配置
Linux中的Apache的编译安装步骤和配置

Apache 的编译安装和虚拟主机

将Apache源代码包做成ISO镜像,挂载到本机目录上,如图找到httpd-2.2.9.tar.gz压缩包

将压缩包解压到/usr/src目录下,如图

进入/usr/src/httpd-2.2.9这个目录中,可以看到解压后的代码文件。

运行./configure 命令进行编译源代码,--prefix=/usr/local/apach2 是设置编译安装到的系统目录。--enable-s 参数是使httpd服务能够动态加载模块功能。--enable-rewrite 是使Httpd 服务具有网页地址重写功能

如图,提示出错,没有gcc编译环境,需要安装gcc软件包。

因为安装gcc环境使用YUM库安装会非常方便,我们使用YUM安装,如图,下载YUM 链接文件,使本机可以使用YUM库

如图,安装gcc环境

如图,会安装如下几个软件包

将gcc软件包安装好后,再次进入/usr/src/httpd-2-2.9目录下,可以再次进行编译安装

如果没有提示错误,就运行make && make install 命令进行代码转换和安装,时间会比较长些,耐心等待。如图,就是编译安装时,进行的一系列操作的屏幕输出。

安装完成后,进入到/usr/local/apache2目录中,查看生成的目录,该目录是Apache服务的根目录,所有文件都放在这里。如图

1,其中conf 目录用于保存Apache服务器的配置文件,httpd.conf 就是主配置文件。如图

2,htdocs 目录是Apache服务器的文档根目录,作为WEB站点网页文件存放的根目录

其他目录的作用:

Bin 保存了用于Apache服务器的命令文件。

Manual 目录保存了Apache服务器的完整配置指南文档。

Man 目录保存了httpd apachectl 程序的帮助文件。

Lib 保存了运行Apache服务器所需的库文件。

Modules 保存了提供给Apache服务器动态加载的模块文件。

Logs 保存Apache服务器的日志文件。

Httpd.conf 主配置文件中的全局配置

将配置文件中的有效配置参数提取出来,输入到httpd.conf.bak文件中

如图,大概设置参数就是这种格式。

注释:

ServerRoot 用于设置httpd服务器的根目录

Listen 用于设置Apache 服务器监听的网络端口号,默认80

User 用于设置运行httpd进程时的用户身份。

Group用于设置运行httpd进程时的组身份。

ServerAdmin 用于设置管理员的邮箱地址。

ServerName 用于设置Apache 服务器的完整主机名(FQDN)

DocumentRoot 用于设置网页文档根目录在系统中的实际路径。

DirectoryIndex 用于设置网站的默认索引页,可以设置多个,用空格隔开。

KeepAlive 用于设置是否启用保持连接功能。

MaxKeepAliveRequests 用于设置客户端每次连接允许请求响应的最大文件数。只有

当KeepAlive启用为ON 时此设置才生效

KeepAliveTimeout 用于设置保持连接的超时秒数。默认15秒。

Include 用于包含另一个配置文件的内容,可以实现一些特殊的功能的配置单独放到一个文件中,在使用Include配置项包含到httpd.conf主配置文件中来。

使用这两个对应的参数来定义区域设置。该区域中的设置只在此区域生效。

用于虚拟主机区域设置

测试httpd服务器的性能

由于RHEL5系统中,默认允许打开的最大文件数为1024个,修改为10000个,如图

设置基本可用的Apache服务器

进入conf目录,编辑httpd.conf主配置文件,如图

找到ServerName 参数,并设置后面的域名为https://www.360docs.net/doc/b07737718.html,:80 这样,只要有DNS解析,就能够访问这个服务器页面了,如图

使用如下命令启动httpd服务,并使用netstat –anpt | grep :80命令来观察httpd服务的监听状态,如图

因为我没有装DNS服务器,所以在客户机添加主机记录,192.168.0.1就是Apache服务器的IP地址。模拟能够解析,如图

打开浏览器,输入https://www.360docs.net/doc/b07737718.html, 可以访问默认页面,环境安装成功。

配置虚拟WEB主机

这里已经安装过了BIND软件包,用于DNS解析

首先,进入/usr/local/apache2/htdocs 目录下,创建2个虚拟站点目录,并在每个目录中,创建一个页面文件,用作测试,如图

编辑httpd.conf 主配置文件,在末尾添加2段的虚拟主机配置,如图

进入/var/named/chroot/var/named 目录下,编辑DNS的区域配置文件,如图

添加两个区域,用于解析对应的虚拟WEB主机,如图

再进入到/var/named/chroot/var/named/目录下,创建对应的解析文件,如图,我拷贝了baidu 的解析文件。

依次使用vim 编辑https://www.360docs.net/doc/b07737718.html,.zone 修改为如下配置

修改https://www.360docs.net/doc/b07737718.html,.zone配置如下

重新启动DNS服务和Apache 服务,如图

在客户机上,分别使用不同的域名访问

创建基于用户的访问控制

进入/usr/local/apche2/conf 目录下,编辑主配置文件

在文件末尾,添加一个关于虚拟WEB主机https://www.360docs.net/doc/b07737718.html,域的访问控制,也就是针对其目录进行设置,如图

AuthName 定义受保护的领域名称,在弹出的验证框中显示。

AuthType Basic 定义认证类型,Basic 为基本认证

AuthUserFile 设置用于保存用户账号、密码的认证文件路径。

Require valid-user 授权给认证文件中的所有用户。

完成主配置文件设置后,进入到/usr/local/apache2/bin目录下,执行创建存储认证用户及口令的文件,如图,按提示输入密码后创建用户awuser

创建完成后,重新启动服务,如图

在客户端访问https://www.360docs.net/doc/b07737718.html,后提示输入账号和密码

点击确定后,访问页面

如果需要授予多个用户对此目录的访问,执行下列命令就可以重复添加用户

创建基于客户端地址的访问控制

只需要修改httpd.conf中的参数设置即可,如图,将基于用户的访问控制参数都注释掉,添加:

Order allow,deny //先允许后拒绝,默认拒绝所有米有被明确允许的客户端。

Allow from 192.168.0.200

设置为只允许192.168.0.200这个ip地址的客户端访问。

Ordre deny,allow //先拒绝后允许,默认允许搜有没有被明确拒绝的客户端。

客户端地址不是192.168.0.200,试着访问,提示禁止访问,如图

调整IP为192.168.0.200后,可以正常访问了

相关主题
相关文档
最新文档