Linux之Web服务器配置(Apache)

摘要:

Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XMLHTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。

一、安装Web软件(Apache)

yum -y install httpd

二、防火墙配置

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

三、Web站点发布--基于主机头的虚拟主机的配置

规划:发布一个基于http协议的网站--web1.junyi.com

配置:

①修改 /etc/hosts 文件,实现IP地址到域名的映射(这也是为了不用那么麻烦牢记IP地址)

4d957443f0454cc3a0dbc43b8250b679.png

0cde39fb426f49adb9678c1e5061e094.png

②进入 /etc/httpd/conf.d 目录,创建一个 .conf 后缀名的配置文件并写入内容

e2613c2757034deeb9b791eb17b8a192.png

 0f5c876fdd1342ed9bc140b6dcee08b0.png

 代码解释:

43427784b35442108f5b7b911bc3ff33.png

这段代码的是Apache访问控制策略,即只允许192.168.1.0/24网段的用户访问。

③向网站写入一点内容(方便测试)

mkdir /var/www/web1      //创建一个目录,跟②中的目录保持一致

vim /var/www/web1/index.html    //在创建好目录的基础上再创建一个hmlt文件,并写入内容

④重启web服务

systemctl restart httpd

实操到这,我们就可以简单的访问一个站点了(基于http协议)

⑤测试

http://web1.junyi.com     //打开浏览器,输入搭建好的网站

四、Web站点发布--基于端口

我们继续在上面搭建好网站的基础上操作:

①安全内核和防火墙配置

semanage port -a -t http_port_t -p tcp 8000

firewall-cmd --permanent --add-port=8000/tcp

②进入Apache主配置文件,并添加端口号(端口号自定义--我以8000为例)

61818ef2c59146419c3ec45c11a9377b.png

8fa7cc7741224a76b783e2c1529f04a0.png

 ③修改 配置文件 /etc/httpd/conf.d/web1.conf  的内容

9b6e88e34e2c46ae860a4510e251d467.png

b6de0163d76848849ee3c14827aa08e5.png

④修改完后重启Web服务

systemctl restart httpd

⑤测试

http://web1.junyi.com:8000   //在浏览器中打开(基于http协议)

然而,以单纯的HTTP协议搭建的网站是不安全的,那么我们如何做到安全有保障的网站呢?在这里引申出HTTP+SSL(即HTTPS)。

五、搭建一个基于https协议的加密网站

规划:搭建一个基于https协议的网站--https:web2.junyi.com:8008(默认端口是443)

1、安装关于https的软件

yum install mod_ssl -y

2、安全内核和防火墙配置

firewall-cmd --permanent --add-service=https

semanage port -a -t http_port_t -p tcp 8008

firewall-cmd --permanent --add-port=8008/tcp

firewall-cmd --reload

3、CA证书服务器的搭建(给自己颁发证书,我们也可以找正规的机构获取证书)

vim /etc/pki/tls/openssl.cnf   //CA认证的配置文件修改(修改部分内容)

b782b24d6f2e4551b9f2d5435af3ecfe.png

5ae4df9a809143ceb2d449cb7c729de6.png
 

cd /etc/pki/CA
touch /etc/pki/CA/index.txt   //生成证书索引数据库文件
echo 01 > /etc/pki/CA/serial   //指定一个颁发证书的序列号



openssl genrsa -out private/my-ca.key -des3 1024  //为CA创建私钥

openssl req -new -x509 -key private/my-ca.key -days 365 > my-ca.crt      //生成证书请求文件,并自签署证书

【
    openssl req -new -key my-ca.key -out my-ca.csr
    openssl x509 -rea -sha256 -days 365 -in my-ca.csr -signkey my-ca.key -out my-ca.crt
    (这两个结合即是上面的步骤)----这部分是解释说明,不必重复操作
 】

4、颁发服务器证书

cd /etc/pki/CA
openssl genrsa -des3 -out server.key 1024  //创建服务器私钥
openssl rsa -noout -text -in server.key  //以文本的形式输出密钥
openssl req -new -key server.key -out server.csr  //生成证书请求文件
openssl ca -in server.csr -out server.crt  //使用CA证书进行签署生成crt文件(证书)

5、修改 /etc/hosts  配置文件

vim /etc/hosts

65eed71006a84caabf3c39030c9839c9.png

6、进入目录/etc/http/conf.modules.d,修改配置文件 ssl.conf

f2acb5b929f14d20a6fe0b67e0275116.png

1524c4d30e1648f0aa679b3e42637c1c.png

 dc266a510c084db18fe612fc6bdda75a.png

7、向网站写入一点内容(方便测试)

mkdir /var/www/web2    //创建目录

vim /var/www/web2/index.html  //在已经创建好目录的基础上再创建html文件,并写入内容   

8、重启Web服务

systemctl restart httpd

9、测试

https://web2.junyi.com:8008

10.下载证书

打开自己数字证书保存的目录,点击保存文件即可

435b8a5e64a2484b97f5b6422b615416.png

11、导入证书(小锁变成绿色就说明成功了)

59c32b77c5ed4bffa70178c0edc23feb.png

4919be80dd55429196e6e5e209f806d6.png c3874f9b10c24d29b6e35ef3aeae9db0.png

注意:

WEB服务器的搭建是以DNS服务器为基础,我们可以自已搭建一个DNS服务器为其服务。DNS服务器的搭建转到:https://mp.csdn.net/mp_blog/creation/editor/129963557

细节处理:

DNS服务器中的正向区域文件显得十分重要了,它决定你能不能有效的访问在WEB服务端创建的网址。

cd /var/named  

vim junyi.com.zone   //junyi.com.zone是我的正向区域文件

7c667c77845a491f91e5d1c19b1c5b69.png

举个例子:

①如果你在WEB服务点创建的网址为web1.xxx.com,那么请注意

76fa94ee28f44e1c9c6b03de11365898.png

②如果 你在WEB服务点创建的网址为www.xxx.com,那么请注意

632f80c2b26244a482883912ebfbab7f.png

配置完重启DNS服务:

systemctl restart named

至此,实验结束!

如果有哪部分做错的或者老铁们不明白的地方,欢迎评论区艾特我。

ff5c0f377fba49f7a16ae08da1b9ff9b.webp

猜你喜欢

转载自blog.csdn.net/weixin_63037066/article/details/130351360