当前位置: 首页 > news >正文

httpd服务

文章目录

      • 1、搭建一个网络yum源
      • 2、基于域名访问的虚拟主机
      • 3、基于端口来访问+域名
      • 4、搭建个人网站
      • 5、加密访问+显示自定义网页内容

1、搭建一个网络yum源

[root@test01 conf.d]# cat repo.conf 
<virtualhost *:80>documentroot /var/www/html/ServerName 10.104.43.154alias /repo /var/www/html/repo  # 使用alias指令来进行指定访问repo的时候访问到/var/www/html/repo这个里面
</virtualhost>
<directory /var/www/html/repo>require all grantedOptions Indexes FollowSymLinks
</directory>
<FilesMatch "\.(iso|img)$">Require all denied
</FilesMatch>

2、基于域名访问的虚拟主机

  • 通过访问域名来访问对应的内容
# 创建访问网页的内容
[root@test01 share]# tree ./apache
./apache
├── a
└── b2 directories, 0 files[root@test01 apache]# echo "welcome a.com" > a/index.html
[root@test01 apache]# echo "welcome b.com" > b/index.html# 编写配置文件
[root@test01 conf.d]# cat a.conf b.conf 
<Virtualhost *:80>Documentroot /share/apache/aServerName www.a.com
</virtualhost>
<Directory /share/apache/a>require all granted
</Directory>
<Virtualhost *:80>Documentroot /share/apache/bServerName www.b.com
</virtualhost>
<Directory /share/apache/b>require all granted
</Directory># 安全放行
[root@test01 /]# firewall-cmd --permanent --add-service=http
[root@test01 /]# firewall-cmd --reload 
success# 自定义的目录需要给予上下文
[root@test01 share]# semanage fcontext -a -t httpd_sys_content_t './apache(/.*)?'
[root@test01 share]# restorecon -RFv ./apache/
restorecon reset /share/apache context unconfined_u:object_r:default_t:s0->system_u:object_r:default_t:s0
restorecon reset /share/apache/a context unconfined_u:object_r:default_t:s0->system_u:object_r:default_t:s0
restorecon reset /share/apache/a/index.html context unconfined_u:object_r:default_t:s0->system_u:object_r:default_t:s0
restorecon reset /share/apache/b context unconfined_u:object_r:default_t:s0->system_u:object_r:default_t:s0
restorecon reset /share/apache/b/index.html context unconfined_u:object_r:default_t:s0->system_u:object_r:default_t:s0# 进行访问
# 重启服务
[root@test01 conf.d]# systemctl restart httpd[root@test02 ~]# curl www.a.com
welcome a.com
[root@test02 ~]# curl www.b.com
welcome b.com

3、基于端口来访问+域名

# 配置文件
[root@test01 conf.d]# cat a.conf 
Listen 8088
<Virtualhost *:8088>Documentroot /share/apache/aServerName www.a.com
</virtualhost>
<Directory /share/apache/a>require all granted
</Directory># 添加端口
[root@test01 conf.d]# semanage port -a 8088 -t http_port_t -p tcp
[root@test01 conf.d]# semanage port -l | grep 8088
http_port_t                    tcp      8088, 80, 81, 443, 488, 8008, 8009, 8443, 9000
# 重启服务
[root@test01 conf.d]# systemctl restart httpd# 安全放行
[root@test01 conf.d]# firewall-cmd --permanent --add-port=8088/tcp
success
[root@test01 conf.d]# firewall-cmd --reload
success# 访问
[root@test02 ~]# curl www.a.com:8088
welcome a.com
[root@test02 ~]# curl www.b.com:8089
welcome b.com

4、搭建个人网站

# 修改user.conf文件 
UserDir enabled
UserDir public_html# 创建个人网站文件
[root@test01 q7]# tree public_html/
public_html/
└── index.html0 directories, 1 file
[root@test01 q7]# ll -Z public_html/
-rw-r--r--. root root unconfined_u:object_r:httpd_user_content_t:s0 index.html# 安全放行
[root@test01 q7]# setsebool -P httpd_enable_homedirs on
# 权限放行
[root@test01 q7]# ll -d
drwx--x--x. 3 q7 q7 81 Sep 27 11:35 .# 访问
http://10.104.43.154/~q7/

5、加密访问+显示自定义网页内容

# 安装加密的包
[root@test01 q7]# yum -y install mod_ssl# 生成私钥
openssl genrsa > tlsweb.key# 生成一个证书请求文件
openssl req -new -key tlsweb.key > tlsweb.csr#  生成一个证书文件
openssl req -x509 -days 365 -in tlsweb.csr -key tlsweb.key > tlsweb.crt# 将生成的私钥和证书文件移动到指定的路径
[root@test01 tls]# pwd
/etc/pki/tls
cp /root/tlsweb.key ./private/
cp /root/tlsweb.crt certs/firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload# 网页内容
[root@test01 conf.d]# cat a.conf 
<Virtualhost *:443>Documentroot /share/apache/aServerName www.a.comSSLEngine onSSLCertificateFile /etc/pki/tls/certs/tlsweb.crtSSLCertificateKeyFile /etc/pki/tls/private/tlsweb.key
</virtualhost>
<Directory /share/apache/a>require all granted
</Directory>[root@test01 conf.d]# systemctl restart httpd
# https访问
http://www.lryc.cn/news/468970.html

相关文章:

  • Linux系统安装Redis详细操作步骤(二进制发布包安装方式)
  • Jenkins和Gitlab整合构建CI/CD流水线
  • 14 C语言中的关键字
  • (11)(2.1.7) FETtec OneWire ESCs(一)
  • Python 异步编程:使用 `asyncio.to_thread` 和 `asyncio.Queue` 处理任务队列
  • 【问题解决】Flink在linux上运行成功但是无法访问webUI界面
  • 【问题解决】pnpm : 无法将“pnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
  • 微信网页授权回调地址放多个参数的方法
  • 相机工作距离计算
  • Pandas模块之垂直或水平交错条形图
  • ArcGIS必会的选择要素方法(AND、OR、R、IN等)位置选择等
  • 快速创建一个微信小程序,详细步骤以及示范程序代码
  • 【继承】讲解
  • 无人机之低空管控技术
  • 探索 DevOps:从概念到实践
  • 联通国际云视频:高清、稳定、易用的云端会议平台
  • 表达式求值(2020cspj)
  • 算法的学习笔记—数组中只出现一次的数字(牛客JZ56)
  • 《Pyhon入门:07 map与filter函数的常用用法》
  • 基于vue框架的的高校消防设施管理系统06y99(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • ffmpeg视频滤镜:定向模糊-dblur
  • 【数据结构初阶】二叉树---堆
  • Lucas带你手撕机器学习——决策树
  • OpenIPC开源FPV之Ardupilot配置
  • 合并数组的两种常用方法比较
  • qt 下载安装
  • Oracle SQL Developer 同时打开多个table的设置
  • NVIDIA发布Nemotron-70B-Instruct,超越GPT-4o和Claude 3.5的AI模型
  • 死锁(Deadlock)C#
  • 前端-基础CSS 知识总结