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

三十一、【Linux网站服务器】搭建httpd服务器演示个人主页、用户认证、https加密网站配置

httpd服务器功能演示

      • 一、安装 HTTPD 服务
      • 二、配置个人用户主页
        • 1. 启用个人空间功能
        • 2. 创建测试用户及网站目录
        • 3. 配置 SELinux 权限
      • 三、配置用户认证
        • 1. 创建密码文件
        • 2. 配置目录认证
        • 3. 重启服务生效
      • 四、配置 SSL 加密网站
        • 1. 生成自签名证书
        • 2. 配置 SSL 虚拟主机
        • 3. 重启服务验证
      • 命令总结表格
      • 功能作用详解
      • 1. 个人用户空间
      • 2. 用户认证机制
      • 3. SSL 加密网站

一、安装 HTTPD 服务

# 安装 HTTPD 服务端
[root@localhost ~]# yum install httpd mod_ssl -y
Loaded plugins: fastestmirror
Package httpd-2.4.37-56.el8.x86_64 installed# 启动服务并设置开机自启
[root@localhost ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service# 开放防火墙
[root@localhost ~]# firewall-cmd --permanent --add-service={http,https}
[root@localhost ~]# firewall-cmd --reload
  • 关键配置文件说明
配置文件路径主要功能关键参数
主配置文件/etc/httpd/conf/httpd.conf全局设置ServerRoot, Listen
模块配置/etc/httpd/conf.modules.d/加载模块LoadModule
虚拟主机/etc/httpd/conf.d/vhost.conf多站点管理VirtualHost
SSL配置/etc/httpd/conf.d/ssl.confHTTPS支持SSLEngine, SSLCertificateFile

二、配置个人用户主页

1. 启用个人空间功能
# 编辑个人主页配置文件
[root@localhost ~]# vi /etc/httpd/conf.d/userdir.conf
# 修改以下两行 👇
UserDir enabled                  # 取消第17行注释(启用功能)
UserDir public_html              # 取消第24行注释(设置用户网站目录名)
2. 创建测试用户及网站目录
# 创建用户 alice 并设置密码
[root@localhost ~]# useradd alice
[root@localhost ~]# echo "p@ssw0rd" | passwd --stdin alice# 创建个人网站目录并设置权限
[root@localhost ~]# su - alice -c "mkdir ~/public_html"
[root@localhost ~]# echo "Welcome to Alice's Homepage!" > /home/alice/public_html/index.html
[root@localhost ~]# chmod 711 /home/alice              # 开放家目录执行权限
[root@localhost ~]# chmod -R 755 /home/alice/public_html
3. 配置 SELinux 权限
# 启用 HTTPD 访问家目录
[root@localhost ~]# setsebool -P httpd_enable_homedirs=on# 设置安全上下文
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t "/home/alice/public_html(/.*)?"
[root@localhost ~]# restorecon -Rv /home/alice/public_html

三、配置用户认证

1. 创建密码文件
# 首次创建需用 -c 参数(后续添加用户省略)
[root@localhost ~]# htpasswd -c /etc/httpd/secure_passwd alice
New password: ********
Re-type new password: ********
2. 配置目录认证
# 编辑用户目录配置文件
[root@localhost ~]# vi /etc/httpd/conf.d/userdir.conf
# 在 `<Directory>` 块内追加 👇
<Directory "/home/*/public_html">AuthType Basic                      # 基础认证类型AuthName "Private Content"         # 认证提示信息AuthUserFile /etc/httpd/secure_passwd  # 密码文件路径Require valid-user                 # 允许所有认证用户访问
</Directory>
3. 重启服务生效
[root@localhost ~]# systemctl restart httpd

四、配置 SSL 加密网站

1. 生成自签名证书
# 创建证书存放目录
[root@localhost ~]# mkdir /etc/pki/tls/private/localhost
[root@localhost ~]# cd /etc/pki/tls/private/localhost# 生成私钥和证书
[root@localhost localhost]# openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout localhost.key -out localhost.crt \
-subj "/C=CN/ST=Beijing/L=Beijing/O=Localhost/CN=localhost"
2. 配置 SSL 虚拟主机
# 编辑 SSL 配置文件
[root@localhost ~]# vi /etc/httpd/conf.d/ssl.conf
# 修改以下参数 👇
<VirtualHost *:443>DocumentRoot /var/www/html          # 网站根目录ServerName localhost:443            # 服务器域名SSLEngine on                        # 启用 SSLSSLCertificateFile /etc/pki/tls/private/localhost/localhost.crtSSLCertificateKeyFile /etc/pki/tls/private/localhost/localhost.key
</VirtualHost>
3. 重启服务验证
[root@localhost ~]# systemctl restart httpd
# 浏览器访问 https://localhost/~alice 将提示安全风险(自签名证书需手动信任)

命令总结表格

演示命令功能描述关键参数/文件
yum install httpd mod_ssl -y安装HTTPD及SSL模块mod_ssl 提供HTTPS支持
vi /etc/httpd/conf.d/userdir.conf配置个人主页功能UserDir enabled 启用功能
htpasswd -c /etc/httpd/secure_passwd alice创建认证用户-c 首次创建文件
setsebool -P httpd_enable_homedirs=on允许HTTPD访问家目录SELinux策略开关
openssl req -x509 ...生成SSL证书-keyout (私钥), -out (证书)
vi /etc/httpd/conf.d/ssl.conf配置HTTPS站点SSLCertificateFile (证书路径)

功能作用详解

1. 个人用户空间

# /etc/httpd/conf.d/userdir.conf
UserDir enabled              # 启用个人主页功能
UserDir public_html          # 用户网站目录名称
  • 访问方式http://服务器IP/~用户名(如 http://192.168.1.100/~alice

  • 权限控制:

    • 家目录需 711 权限:chmod 711 /home/alice

    • 网站目录需 755权限:

      chmod 755 ~/public_html
      

2. 用户认证机制

<Directory "/home/*/public_html">AuthType BasicAuthName "Restricted Access"AuthUserFile /etc/httpd/secure_passwd  # 密码存储文件Require valid-user                 # 允许所有认证用户
</Directory>
  • 密码管理命令:

    操作命令
    添加用户htpasswd /etc/httpd/secure_passwd bob
    删除用户htpasswd -D /etc/httpd/secure_passwd bob
    SHA加密密码htpasswd -s /etc/httpd/secure_passwd carol

3. SSL 加密网站

# /etc/httpd/conf.d/ssl.conf
SSLEngine on
SSLCertificateFile /path/to/cert.crt
SSLCertificateKeyFile /path/to/private.key
  • 证书类型对比

    类型适用场景浏览器信任
    自签名证书测试环境需手动信任
    CA签发证书生产环境自动信任
  • 强制HTTPS跳转(追加到 ssl.conf):

    apache

    复制

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    
http://www.dtcms.com/a/304502.html

相关文章:

  • Solar月赛(应急响应)——攻击者使用什么漏洞获取了服务器的配置文件?
  • GESP2025年6月认证C++七级( 第三部分编程题(2)调味平衡)
  • cuda中的线程块和线程束的区别以及什么是串行化 (来自deepseek)
  • 1 + X 传感网 中级 | 任务五 Wifi通信实践
  • 向量数据库深度解析:FAISS、Qdrant、Milvus、Pinecone使用教程与实战案例
  • Excel文件批量加密工具
  • 哈希函数详解:从MD5到SHA-3的密码学基石
  • JSON-RPC 2.0 规范
  • 寻找重复元素-类链表/快慢指针
  • 【lucene】currentFrame与staticFrame
  • Springboot+vue智能家居商城的设计与实现
  • 数据赋能(341)——技术平台——模块化
  • 2024高考综合本科率对比
  • 本地安装 SQLite 的详细步骤
  • Qt模型/视图结构
  • Python入门第三课:进阶编程技能: 文件操作与数据持久化
  • 【C++算法】78.BFS解决FloodFill算法_算法简介
  • 量子计算革命:重新定义计算的边界与未来
  • react 的 useTransition 、useDeferredValue
  • ZKmall开源商城架构工具链:Docker、k8s 部署与管理技巧
  • 反射核心:invoke与setAccessible方法详解
  • SpringBoot整合RocketMQ(阿里云ONS)
  • 数据库4.0
  • Linux 文件管理高级操作:复制、移动与查找的深度探索
  • Deep Research(信息检索增强)认识和项目实战
  • 计算器4.0:新增页签功能梳理页面,通过IO流实现在用户本地存储数据
  • 点控云数据洞察智能体:让房地产决策有据可循,让业务增长稳健前行
  • 【LLM】——qwen2.5 VL模型导出到onnx
  • Python中二进制文件操作
  • 快速了解逻辑回归