第六章 Centos 7 Linux配置web 实训任务:Apache服务器部署

  • ~8.07K 字
  1. 1. 前言
    1. 1.1. Apache服务器部署
      1. 1.1.1. 实训任务:
        1. 1.1.1.1. 任务1
        2. 1.1.1.2. 任务2
        3. 1.1.1.3. 任务3 启动防火墙,SELinux设置为(Enforcing)。
    2. 1.2. 一、配置Web服务器(Web Server)的IP地址
    3. 1.3. 二、在Web服务器(Web Server)上生成CA证书
      1. 1.3.1. 1. 修改OpenSSL配置文件
      2. 1.3.2. 2. 生成CA文件
      3. 1.3.3. 3. 生成公钥文件
      4. 1.3.4. 4. 创建Server.key
    4. 1.4. 三、在DNS服务器(Server)上添加记录
      1. 1.4.1. 1. 添加正向区域记录
      2. 1.4.2. 2. 添加反向区域记录
    5. 1.5. 四、在Web服务器(Web Server)上安装httpd和mod_ssl服务
      1. 1.5.1. 1.修改ssl配置文件
      2. 1.5.2. 2. 新建网页
      3. 1.5.3. 3. 新建虚拟主机
      4. 1.5.4. 5. 修改httpd.conf配置文件
      5. 1.5.5. 6. 防火墙设置
      6. 1.5.6. 7. 复制证书文件
      7. 1.5.7. 8. 客户端(Client 1)导入CA证书
        1. 1.5.7.1. 打开浏览器输入地址http://web1.ymx.com/my-ca.crt 下载证书文件并导入证书
      8. 1.5.8. 9. 最终效果
    6. 1.6. 结尾

前言

==前面的DNS一定要成功才能做!!!==

Apache服务器部署任务情境描述某公司需要搭建一台Web服务器,用于公司办公和网站宣传;还有另一台DNS服务器,用于实现Web服务器的域名解析。部署信息如下:Server1为DNS服务器,IP地址为:192.168.1.10;Server2为Web服务器,IP地址为:192.168.1.100。

虚拟机需求:1台DNS服务器(Server)、1台Web服务器(Web Server)、1台客户端(Client1)

在第五章的基础上继续实训

Apache服务器部署

任务情境描述

某公司需要搭建一台Web服务器,用于公司办公和网站宣传;还有另一台DNS服务器,用于实现Web服务器的域名解析。

网络拓扑图如下:

部署信息如下:

• Server1为DNS服务器,IP地址为:192.168.1.10;

• Server2为Web服务器,IP地址为:192.168.1.100。

实训任务:

任务1

搭建http: //web1.mydomain.com的web1服务器,主目录是/var/www/web1,只允许192.168.1.0/24网段的主机访问。

任务2

搭建基于8008端口号的安全服务器,可使用https: //web2.mydomain.com:8008地址访问,主目录是/var/www/web2,使用CA颁发证书进行安全认证。
“CSK Global Root CA”颁发机构颁发,网站证书信息如下:
C = CN
ST = China
L = GuangZhou
O = mydomain.com
OU = Operations Departments
CN = web2.mydomain.com

任务3 启动防火墙,SELinux设置为(Enforcing)。

一、配置Web服务器(Web Server)的IP地址

1
2
3
4
5
6
BOOTPROTO=static
IPADDR=192.168.1.100
GATEWAY=192.168.1.2
NETMASK=255.255.255.0
DNS1=192.168.1.10
DNS2=202.96.128.86

二、在Web服务器(Web Server)上生成CA证书

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[root@webserver webserver]# cd /etc/pki/tls/certs/
[root@webserver certs]# make server.key

[root@webserver certs]# openssl rsa -in server.key -out server.key

[root@webserver certs]# make server.csr
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:China
Locality Name (eg, city) [Default City]:GuangZhou
Organization Name (eg, company) [Default Company Ltd]:ymx.com
Organizational Unit Name (eg, section) []:Operations Deoartments
Common Name (eg, your name or your server's hostname) []:web2.ymx.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@webserver certs]# openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 365

[root@webserver certs]# chmod 400 server.*
[root@webserver certs]# yum -y install httpd mod_ssl
[root@webserver certs]# systemctl restart httpd

1. 修改OpenSSL配置文件

1
2
3
4
vim /etc/pki/tls/openssl.cnf  //打开OpenSSL配置文件修改以下
my-ca.crt
my-ca.crl
my-ca.key

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = CN
countryName_min = 2
countryName_max = 2

stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = China

localityName = Locality Name (eg, city)
localityName_default = GuangZhou

0.organizationName = Organization Name (eg, company)
0.organizationName_default = ymx.com

# we can do this but it is not needed normally :-)
#1.organizationName = Second Organization Name (eg, company)
#1.organizationName_default = World Wide Web Pty Ltd

organizationalUnitName = Organizational Unit Name (eg, section)
organizationalUnitName_default = Operations Deoartments

2

1
2
3
保存退出 :wq
cd /etc/pki/CA/ //进入CA目录
ls //查看目录

2. 生成CA文件

1
2
3
touch /etc/pki/CA/index.txt             //新建一个放数据的文件
echo 01 > /etc/pki/CA/serial //创建一个索引文件
openssl genrsa -out private/my-ca.key -des3 2048 //生成CA文件,输入两次密码(请记住)

3. 生成公钥文件

1
openssl req -new -x509 -key private/my-ca.key -days 365 > my-ca.crt //生成公钥文件

4. 创建Server.key

1
2
3
4
openssl genrsa -des3 -out server.key 2048 //创建server.key
ls //查看目录
openssl rsa -noout -text -in server.key //不输出以text文本查看server.key,输入保护密钥
cat server.key //查看

1
2
3
openssl req -new -key server.key -out server.csr  //证书申请
ls //查看目录
openssl ca -in server.csr -out server.crt //生成公钥文件,输入密码,两次确认

三、在DNS服务器(Server)上添加记录

1. 添加正向区域记录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vim /var/named/ymx.com.zone   //打开正向区域文件
$TTL 1D
@ IN SOA dns ymx.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns
dns A 192.168.1.10
www A 192.168.1.100
web1 A 192.168.1.100 //添加这两条
web2 A 192.168.1.100
mail A 192.168.1.200
ftp CNAME www
mail MX 10 mail

2. 添加反向区域记录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
vim /var/named/1.168.192.zone //打开反向区域配置文件
$TTL 1D
@ IN SOA dns ymx.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns
dns A 192.168.1.10
10 PTR dns.ymx.com.
100 PTR web1.ymx.com. //添加这两条
100 PTR web2.ymx.com.
100 PTR www.ymx.com.
100 PTR ftp.ymx.com.
200 PTR mail.ymx.com.

1
systemctl restart named     //重启dns服务

四、在Web服务器(Web Server)上安装httpd和mod_ssl服务

1
yum -y install http mod_ssl   //安装

1.修改ssl配置文件

1
2
3
4
5
6
7
8
9
vim /etc/httpd/conf.d/ssl.conf  //修改配置文件
Listen 8008 https //监听8008端口
<VirtualHost *:8008> //虚拟主机头
ServerName web2.ymx.com:8008 //服务器名
DocumentRoot "/var/www/web2" //目录
SSLCertificateFile /etc/pki/CA/server.crt //ca证书文件
SSLCertificateKeyFile /etc/pki/CA/server.key //ca公钥文件
SSLCACertificateFile /etc/pki/CA/server.crt //ca私钥文件
</VirtualHost>

2. 新建网页

1
2
3
4
5
[root@webserver CA]# mkdir /var/www/web1
[root@webserver CA]# mkdir /var/www/web2
[root@webserver CA]# vim /var/www/html/index.html
[root@webserver CA]# vim /var/www/web1/index.html
[root@webserver CA]# vim /var/www/web2/index.html

3. 新建虚拟主机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vim /etc/httpd/conf.d/vhost.conf
<VirtualHost www.ymx.com>
ServerName www.ymx.com
DocumentRoot "/var/www/html"
</VirtualHost>

<VirtualHost web1.ymx.com>
ServerName web1.ymx.com
DocumentRoot "/var/www/web1"
</VirtualHost>

<Directory '/var/www/web1'>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
allow from 192.168.1.0/24 //只允许192.168.1.0/24 通过
</Directory>

1
2
3
4
5
6
[root@webserver webserver]# systemctl restart httpd         //重启http服务
Enter SSL pass phrase for web2.ymx.com:8008 (RSA) : **** //输入密码
[root@webserver webserver]# systemctl enable httpd //开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@webserver webserver]#

5. 修改httpd.conf配置文件

1
2
[root@webserver CA]# vim /etc/httpd/conf/httpd.conf 
ServerName www.ymx.com:80

6. 防火墙设置

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@webserver CA]# firewall-cmd --permanent --zone=public --add-service=http  //开启http
success
[root@webserver CA]# firewall-cmd --permanent --zone=public --add-service=https //开启https
success
[root@webserver CA]# firewall-cmd --permanent --zone=public --add-port=8008/tcp //开启8008端口
success
[root@webserver CA]# firewall-cmd --permanent --zone=public --add-port=8008/udp
success
[root@webserver CA]# firewall-cmd --reload //重启防火墙
success
[root@webserver CA]# netstat -an | grep :8008 //查看端口
tcp6 0 0 :::8008 :::* LISTEN

7. 复制证书文件

1
2
[root@webserver CA]# cd /etc/pki/CA
[root@webserver CA]# cp my-ca.crt /var/www/web1/

8. 客户端(Client 1)导入CA证书

打开浏览器输入地址http://web1.ymx.com/my-ca.crt 下载证书文件并导入证书

9. 最终效果

http://web1.ymx.com
http: //web2.ymx.com:8008

结尾

至此,实验结束。希望对你有所帮助,有任何问题请在下方留言。可以关注我的 公众号以及订阅我的文章 ,感谢你的支持,是对我最大的动力,当然了,更多的是因为热爱。