Linux企业运维实战
丁敏 郑国华

1
2
3
4
5
6
7
8
9
10
11
12
13

任务3-常规设置Apache服务器实例

发布时间:2022-03-02 23:32   发布人:丁敏   浏览次数:468

一、根据要求设置文档根目录和首页文件的实例

默认情况下,网站的文档根目录保存在/var/www/html中,如果想把保存网站文档的根目录修改为/home/wwwroot,并且将首页文件修改为myweb.html。

① 在RHEL7-1上修改文档的根据目录为/home/www,并创建首页文件myweb.html。

[root@RHEL7-1 ~]# mkdir /home/www

[root@RHEL7-1 ~]#

echo "The Web's DocumentRoot Test " > /home/www/myweb.html

② 在RHEL7-1上,打开httpd服务程序的主配置文件,将约第119行用于定义网站数据保存路径的参数DocumentRoot修改为/home/www,同时还需要将约第124行用于定义目录权限的参数Directory后面的路径也修改为/home/www, 将第164行修改为DirectoryIndex myweb.html index.html。配置文件修改完毕后即可保存并退出。

[root@RHEL7-1 ~]# vim /etc/httpd/conf/httpd.conf

………………省略部分输出信息………………

119 DocumentRoot "/home/www"

122 # Relax access to content within /var/www.

124 <Directory "/home/www">

125    AllowOverride None

126    # Allow open access:

127    Require all granted

128 </Directory>

………………省略部分输出信息………………

163 <IfModule dir_module>

164     DirectoryIndex index.html myweb.html

165 </IfModule>

………………省略部分输出信息………………

③ 让防火墙放行http服务,重启httpd服务。

[root@RHEL7-1 ~]# firewall-cmd --permanent --add-service=http

[root@RHEL7-1 ~]# firewall-cmd --reload

[root@RHEL7-1 ~]# firewall-cmd --list-all

④ 在Client1测试(RHEL7-1和Client1都是VMnet1连接,保证互相通信),如图所示。

[root@client1 ~]# firefox https://192.168.10.1

image.png


⑤ 故障排除。

[root@RHEL7-1 ~]# getenforce

Enforcing

[root@RHEL7-1 ~]# setenforce 0

[root@RHEL7-1 ~]# getenforce

Permissive

在Client1上再次测试,如图所示。

[root@client1 ~]# firefox https://192.168.10.1

image.png

二:根据要求设置用户个人主页实例:

在IP地址为192.168.10.1的Apache服务器中,为系统中的long用户设置个人主页空间。该用户的家目录为/home/long,个人主页空间所在的目录为public_html。

① 修改用户的家目录权限,使其他用户具有读取和执行的权限。

[root@RHEL7-1 ~]# useradd long

[root@RHEL7-1 ~]# passwd long

[root@RHEL7-1 ~]# chmod  705  /home/long

② 创建存放用户个人主页空间的目录。

[root@RHEL7-1 ~]# mkdir  /home/long/public_html

③ 创建个人主页空间的默认首页文件。

[root@RHEL7-1 ~]# cd  /home/long/public_html

[root@RHEL7-1 public_html]# echo "this is long's web。">>index.html

④ 在httpd服务程序中开启个人用户主页功能。

[root@RHEL7-1 ~]# vim /etc/httpd/conf.d/userdir.conf 

17 # UserDir disabled

 24   UserDir public_html

⑤ SELnux设置为允许,让防火墙放行httpd服务,重启httpd服务。

[root@RHEL7-1 ~]# setenforce 0

[root@RHEL7-1 ~]# firewall-cmd --permanent --add-service=http

[root@RHEL7-1 ~]# firewall-cmd --reload

[root@RHEL7-1 ~]# firewall-cmd --list-allt

[root@RHEL7-1 ~]# systemctl restart httpd

⑥ 在客户端的浏览器中输入https://192.168.10.1/~long,看到的个人空间的访问效果如图所示。

image.png

思考:如果运行如下命令再在客户端测试,结果又会如何呢?试一试并思考原因。

[root@RHEL7-1 www]# setenforce 1

[root@RHEL7-1 www]# setsebool -P httpd_enable_homedirs=on

使用用setsebool 命令来修改SELinux 策略,其中上-P 参数,让修改后的SELinux 策略规则永久生效且立即生效。

三:创建虚拟目录实例

在IP地址为192.168.10.1的Apache服务器中,创建名为/test/的虚拟目录,它对应的物理路径是/virdir/,并在客户端测试。

① 创建物理目录/virdir/                                           

[root@RHEL7-1 ~]# mkdir  -p  /virdir/

② 创建虚拟目录中的默认首页文件。

[root@RHEL7-1 ~]# cd  /virdir/

[root@RHEL7-1 virdir]# echo "This is Virtual Directory sample。">>index.html

③ 修改默认文件的权限,使其他用户具有读和执行权限。

[root@RHEL7-1 virdir]# chmod 705 index.html   或者  [root@RHEL7-1 ~]# chmod 705 /virdir   -R

④ 修改/etc/httpd/conf/httpd.conf文件,添加下面的语句:

Alias  /test  "/virdir"

<Directory "/virdir">

 AllowOverride None

 Require all granted

</Directory>

⑤ SELnux设置为允许,让防火墙放行httpd服务,重启httpd服务。

[root@RHEL7-1 ~]# setenforce 0

[root@RHEL7-1 ~]# firewall-cmd --permanent --add-service=http

[root@RHEL7-1 ~]# firewall-cmd --reload

[root@RHEL7-1 ~]# firewall-cmd --list-allt

[root@RHEL7-1 ~]# systemctl restart httpd

⑥在客户端Client1的浏览器中输入:“https://192.168.10.1/test”后,看到的虚拟目录的访问效果如图所示

image.png

四:其他常规设置

1.根目录设置(ServerRoot)

设置根目录为/usr/local/httpd。         

ServerRoot   "/usr/local/httpd”

2.超时设置

Timeout字段用于设置接受和发送数据时的超时设置。默认时间单位是秒。如果超过限定的时间客户端仍然无法连接上服务器,则予以断线处理。默认时间为120秒,可以根据环境需要予以更改。

设置超时时间为300秒。       Timeout   300

.客户端连接数限制

设置客户端连接数为500。

<IfModule  prefork.c>

StartServers                       8

MinSpareServers                5

MaxSpareServers               20

ServerLimit                        500

MaxClients                        500

MaxRequestSPerChild      4000

 </IfModule>

4.设置管理员邮件地址

设置管理员的E-mail地址为root@smile.com。

ServerAdmin     root@smile.com

5.设置主机名称

设置服务器主机的名称及端口号。

ServerName     www.example.com:80

6.网页编码设置 

设置服务器的默认编码为GB2312。

AddDefaultCharset  GB2312