三十一、【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.pswp.cn/diannao/93817.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93817.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93817.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

把Java程序部署到本地Docker

一&#xff1a;clean && install程序install之后會在target中生成jar包 二&#xff1a;準備三個文件&#xff08;1&#xff09;其中Dockerfile主要起到配置作用&#xff1a;# 基礎鏡像 FROM openjdk:17-jdk-slim # 作者 MAINTAINER "" # 配置 ENV PAR…

Java學習-------外觀模式

在軟件開發中&#xff0c;隨著系統的不斷迭代&#xff0c;模塊會越來越多&#xff0c;模塊之間的依賴關系也會變得錯綜復雜。這不僅會增加開發難度&#xff0c;還會讓系統的維護和擴展變得棘手。而外觀模式就像一位 “前臺接待員”&#xff0c;為復雜的系統提供一個簡潔統一的接…

Go語言-->變量

Go語言–>變量 在 Go 語言中&#xff0c;定義變量有幾種常見的方式。下面是一些常見的語法和用法&#xff1a; 1. 使用 var 關鍵字定義變量 最常見的方式是使用 var 關鍵字&#xff0c;后面跟上變量名和類型。你也可以為變量賦初值。 基本格式&#xff1a; var variableName…

分布式鏈路追蹤的實現原理

分布式鏈路追蹤系統的實現涉及多個核心技術環節&#xff0c;下面我將從數據采集、上下文傳播、存儲分析等維度深入解析其工作原理。 一、核心架構組件 1. 系統組成模塊 #mermaid-svg-pDlZY54w2Z0Bp1H1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-si…

Python爬蟲實戰:研究micawber庫相關技術構建網頁采集系統

1. 引言 1.1 研究背景與意義 在當今信息爆炸的時代,互聯網上的數據量呈現出爆炸式增長。如何從海量的網頁數據中提取有價值的信息,成為了一個重要的研究課題。網絡爬蟲作為一種自動獲取網頁內容的技術,為解決這一問題提供了有效的手段。通過網絡爬蟲,可以快速、高效地采集…

前端框架Vue3(三)——路由和pinia

路由的理解 路由就是一組key-value的對應關系&#xff0c;多個路由&#xff0c;需要經過路由器的管理。 路由-基本切換效果 導航區、展示區請來路由器制定路由的具體規則&#xff08;什么路徑&#xff0c;對應著什么組件&#xff09;形成一個一個的路由 【兩個注意點】 路由組件…

【go】實現BMI計算小程序與GUI/WEB端實現

好的&#xff0c;下面是用 Go 語言實現的一個簡單的 BMI&#xff08;Body Mass Index&#xff0c;身體質量指數&#xff09;計算器&#xff0c;包含中文注釋與完整代碼&#xff0c;可以直接運行。 一、BMI 計算公式 BMI體重&#xff08;kg&#xff09;身高2&#xff08;m2&…

Windows系統優化命令-記錄

閑著無聊&#xff0c;近來電腦有些卡頓&#xff0c;記錄一下相關命令。最好的命令還是格式化╮(╯▽╰)╭ 1. 磁盤清理相關命令 cleanmgr - 磁盤清理工具 cleanmgr啟動磁盤清理工具&#xff0c;可清理臨時文件、回收站等內容 diskpart - 磁盤分區工具 diskpart用于磁盤管理&…

BFCP協議學習

BFCP是為了SIP呼叫中實現presentation的二進制協議。開源庫libbfcp 如何協商角色 SIP 消息的SDP中有BFCP 的部分&#xff0c;其中s-only 代表要當服務器角色&#xff0c;c-only 代表要當client角色。confid, userid 都是需要在后續消息中對齊的。 通過port信息可以為后續bfcp…

常用設計模式系列(十七)—命令模式

常用設計模式系列&#xff08;十七&#xff09;—命令模式 第一節、前言 各位老鐵好&#xff01; 今天我來跟大家分享對象行為型模式第二章節——《命令模式》&#xff0c;“命令”一詞&#xff0c;通俗易懂&#xff0c;我們在生活中經常會發出各種各樣的命令&#xff0c;就像你…

【AI繪畫】Stable Diffusion 全面指南:安裝、版本對比、功能解析與高級應用

引言&#xff1a;Stable Diffusion 概述 在人工智能圖像生成領域&#xff0c;商業工具如Midjourney憑借其集成化服務與高質量輸出占據市場&#xff0c;而Stable Diffusion&#xff08;簡稱SD&#xff09;則以開源特性構建了差異化優勢。與商業工具依賴云端資源、受限于訂閱費用…

kafka使用kraft

window 使用kafka-storage生成生成一個uuid .\kafka-storage.bat random-uuid格式化存儲 在這里插入代碼片.\kafka-storage.bat format -t 對應的uuid D:\configure\fisher\kafka\config\kraft\server.properties 啟動命令 .\kafka-server-start.bat D:\configure\fisher\kafka…

HCIA-Datacom認證筆記:IP路由基礎——核心概念與路由分類

網絡技術學習中&#xff0c;IP路由是繞不開的核心知識點&#xff0c;對于備考HCIA-Datacom認證的朋友來說&#xff0c;掌握路由基礎能為后續學習打下良好基礎。今天帶朋友們梳理一下IP路由的核心概念、路由表結構及路由分類一、路由核心概念什么是路由&#xff1f; 簡單來說&am…

FFmpeg 安裝與使用

文章目錄1. 環境部署&#xff08;Windows&#xff09;1.1. 安裝包下載1.2. 配置環境變量1.3. 驗證安裝2. FFmpeg 基礎使用教程2.1. 常用命令格式2.2. 基礎功能示例2.2.1. 視頻轉碼&#xff08;MP4 → MKV&#xff09;2.2.2. 調整分辨率&#xff08;1080p → 480p&#xff09;2.…

Python 數據分析(四):Pandas 進階

目錄 1. 概述2. 缺失項3. 分組聚合4. 數據合并5. 數據可視化 5.1 折線圖5.2 條形圖5.3 直方圖5.4 散點圖5.5 餅圖 1. 概述 我們在上一篇文章初識 Pandas中已經對 Pandas 作了一些基本介紹&#xff0c;本文我們進一步來學習 Pandas 的一些使用。 2. 缺失項 在現實中我們獲…

結構化文本文檔的內容抽取與版本重構策略

結構化文本文檔的內容抽取與版本重構策略 摘要 本文深入探討了結構化文本文檔處理領域中的兩大核心技術——內容抽取與版本重構。文章首先分析了結構化文檔的特點及其在現代信息管理中的重要性&#xff0c;隨后系統性地介紹了文檔內容抽取的技術路線與方法論&#xff0c;包括…

【BUUCTF系列】[HCTF 2018]WarmUp1

本文僅用于技術研究&#xff0c;禁止用于非法用途。 Author:枷鎖 點開題目顯示一個圖片&#xff0c;沒有任何交互功能&#xff0c;我們直接查看網頁源代碼我們可以看到有一個歆慕的注釋source.php&#xff0c;我們進行拼接&#xff0c;訪問一下這個文件在url后加上/source.php進…

Flutter Chen Generator - IconFont Generator

Flutter Chen Generator &#x1f680; 一個強大的Flutter代碼生成工具包&#xff0c;包含多個實用的代碼生成器。 ? 功能特性 &#x1f4c1; 資源生成器 (Assets Generator) &#x1f504; 自動掃描assets目錄并生成Dart常量&#x1f9e0; 智能駝峰命名轉換&#xff0c;保…

【MATLAB】(二)基礎知識

一.MATLAB命令1.指令行“頭首”的 “>>” 是 “指令輸入提示符” &#xff0c;它是自動輸入的。“>>” 為運算提示符&#xff0c;表示MATLAB處于準備就緒狀態。如在提示符后輸入一條命令或一段程序后按Enter鍵&#xff0c;MATLAB將給出對應的結果&#xff0c;并將結…

Day36| 1049. 最后一塊石頭的重量 II、494.目標和、474.一和零

文章鏈接 1049. 最后一塊石頭的重量 II 解題關鍵&#xff1a;找到重量和盡量相等的兩堆 確定dp數組以及下標的含義 dp[j]表示容量&#xff08;這里說容量更形象&#xff0c;其實就是重量&#xff09;為j的背包&#xff0c;最多可以背最大重量為dp[j]。 確定遞推公式 01背包…