首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >网络系统管理Linux环境——AppSrv之WEB

网络系统管理Linux环境——AppSrv之WEB

作者头像
冷影玺
修改2024-09-14 13:50:49
修改2024-09-14 13:50:49
82620
代码可运行
举报
文章被收录于专栏:冷影玺冷影玺
运行总次数:0
代码可运行

题目要求

服务器AppSrv上的工作任务

4. WEB

安装 WEB 服务;

服务以用户 webuser 系统用户运行;

限制 web 服务只能使用系统 500M 物理内存;

全站点启用 TLS 访问,使用本机上的“CSK Global Root CA”颁发机构颁发,网站证书信息如下:

C = CN

ST = China

L = BeiJing

O = skills

OU = Operations Departments

CN = *.chinaskills.cn

客户端访问 https 时应无浏览器(含终端)安全警告信息;

当用户使用 http 访问时自动跳转到 https 安全连接;

搭建 www.chinaskills.cn 站点;

网页文件放在 StorgeSrv 服务器上;

在 StorageSrv 上安装MriaDB,在本机上安装 PHP,发布 WordPress网站;

MariaDB 数据库管理员信息:User: root/ Password: Chinaskill21!

创建网站 download.chinaskills.cn 站点;

仅允许 ldsgp 用户组访问;

网页文件存放在 StorageSrv 服务器上;

在该站点的根目录下创建以下文件“test.mp3, test.mp4, test.pdf”,其中 test.mp4 文件的大小为 100M,页面访问成功后能够列出目录所有文件;

安全加固,在任何页面不会出现系统和 WEB 服务器版本信息。

项目实施

| ​​实验所需压缩包(提取码S1Qk)​​ |

|:----|

| ​​点击查看视频解析​​ |

|:----|

安装httpd软件包:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# yum install httpd mod_ssl -y

编辑配置文件:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# vim /etc/httpd/conf/httpd.conf
 66 User webuser
 67 Group webuser

创建系统用户:(使用-r表示创建系统用户)

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# useradd -r webuser

备份默认访问页:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# cd /etc/httpd/conf.d/
[root@appsrv conf.d]# mv welcome.conf welcome.conf.bak

编辑网页文件:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv conf.d]# cat vhost.conf
<Virtualhost *:80>
servername www.chinaskills.cn
Redirect 302 / https://www.chinaskills.cn
</Virtualhost>

<Virtualhost *:443> 
servername www.chinaskills.cn
Documentroot /webdata/wordpress
<Directory /webdata/wordpress>
require all granted
</Directory>
sslengine on
sslcertificatefile /csk-rootca/apache.crt
sslcertificatekeyfile /csk-rootca/apache.key
</Virtualhost>

<Virtualhost *:443> 
servername download.chinaskills.cn
Documentroot /webdata/download
<Directory /webdata/download>
Options Indexes
authname "download"
authtype basic
authuserfile "/var/passwd"
require valid-user
</Directory>
sslengine on
sslcertificatefile /csk-rootca/apache.crt
sslcertificatekeyfile /csk-rootca/apache.key
[root@appsrv conf.d]#

创建download目录并创建文件设置大小:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# mkdir /webdata/download/
[root@appsrv ~]# cd /webdata/download
[root@appsrv download]#  touch test.mp3
[root@appsrv download]# touch test.pdf
[root@appsrv download]# dd if=/dev/zero of=test.mp4 bs=100M count=1

创建用户并设置密码:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# useradd zsuser
[root@appsrv ~]# useradd lsusr
[root@appsrv ~]# useradd wuusr
[root@appsrv ~]# htpasswd -c /var/passwd lsusr
[root@appsrv ~]# htpasswd -c /var/passwd zsusr
[root@appsrv ~]# htpasswd -c /var/passwd wuusr

限制内存500M:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# vim /etc/systemd/system/multi-user.target.wants/httpd.service
# 添加
menmorylimit=500M

NFS挂载查看,如未配置​​点击跳转NFS配置​​

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# mount -a | grep /webdata

上传压缩包到root目录下,并解压到/webdata目录下:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# yum install unzip -y
[root@appsrv ~]# ls
anaconda-ks.cfg  roundcubemail-1.3.8-complete.tar.gz  wordpress-4.9.4-zh_CN.zip
[root@appsrv ~]#
[root@appsrv ~]# unzip -q wordpress-4.9.4-zh_CN.zip
[root@appsrv ~]# tar -xf roundcubemail-1.3.8-complete.tar.gz
[root@appsrv ~]# mv wordpress /webdata/
[root@appsrv ~]# mv roundcubemail-1.3.8 roundcubemail
[root@appsrv ~]# mv roundcubemail /webdata/

将​​/webdata/​​​ 目录及其所有子目录和文件的所有者(owner)和所属组(group)都修改为 ​​webuser​​​,并且使用递归(​​-R​​)方式操作,以确保所有子目录和文件都被修改。

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# chown webuser:webuser /webdata/ -R

证书传入客户端:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# scp /csk-rootca/csk-ca.pem root@192.168.0.190:/root
root@192.168.0.190's password:
csk-ca.pem            100% 1383     1.1MB/s   00:00
[root@appsrv ~]#

客户端导入证书:

代码语言:javascript
代码运行次数:0
运行
复制
[root@insidecli ~]# cp -a csk-ca.pem /etc/pki/ca-trust/source/anchors/
[root@insidecli ~]# cd /etc/pki/ca-trust/source/anchors/
[root@insidecli anchors]# update-ca-trust csk-ca.pem
[root@insidecli anchors]# reboot

StorageSrv 服务器上配置数据库:

安装数据库并启动:

代码语言:javascript
代码运行次数:0
运行
复制
[root@storagesrv ~]# yum install mariadb-server -y

[root@storagesrv ~]# systemctl enable mariadb.service --now
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@storagesrv ~]# 

--now: 这个选项用于在启用服务的同时立即启动它,而不需要等待下一次系统启动。
通常,启用服务只会在下一次系统启动时生效,但使用 --now 选项可以立即启动服务。

创建wordpress数据库:

代码语言:javascript
代码运行次数:0
运行
复制
[root@storagesrv ~]# mysql

MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on wordpress.* to root@"%" identified by "ChinaSkill23!";
Query OK, 0 rows affected (0.00 sec)
[root@storagesrv ~]# 
[root@storagesrv ~]# 

grant all: 这表示你正在授予用户 root 所有权限。

on wordpress.*: 这表示你正在将权限授予 wordpress 数据库中的所有表(* 表示通配符,匹配所有表)。

to root@"%": 这表示你将授予权限给用户 root,允许该用户从任何主机(% 是通配符,匹配所有主机)连接到数据库。

identified by "ChinaSkill23!": 这部分用于设置用户 root 的密码,密码为 "ChinaSkill23!"。

AppSrv 启动apache:

安装php:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# yum install php php-fpm php-mysql -y

启动apache:

代码语言:javascript
代码运行次数:0
运行
复制
[root@appsrv ~]# systemctl restart httpd

客户端进行访问

客户端进行访问 https://download.chinaskills.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目要求
    • 服务器AppSrv上的工作任务
  • 项目实施
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档