找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 251|回復: 0

centos 8 網站安裝指引

[複製鏈接]

301

主題

10

回帖

1312

積分

金牌會員

積分
1312
發表於 2023-9-4 00:56:51 | 顯示全部樓層 |閱讀模式
本帖最後由 issac 於 2023-9-14 00:50 編輯

以下是架網站的相關教學

0.前提你已經裝好相關虛擬機或主機,
我用vmware-workstation-full-17.0.0 序號加上github網路找,
centos8 我是下載CentOS-Stream-8-20230830.0-x86_64-boot.iso,連結:centos8總連結,
選centos8 的原因是因為9怕太新出問題不好搞,
所以選穩定多人用的版本
網路選擇橋接模式(bridge),
這樣相當於虛擬機也接上自己的一條網路線。


1.一開始請安裝各種套件,以前是用apt-get、yum,只是現在改版大部分都改用dnf安裝,以下是包含一些必要套件
dnf install httpd mariadb-server php              ---------本行為基礎套件
dnf install php-mysqlnd php-xml php-json      ---------本行為Discuz安裝時缺少需要補安裝的套件,mariadb套件看有沒有缺再補

補充1:apache在就是centos 8 就是httpd
補充2:mariadb-server就是一種mysql,只能擇一安裝

2.啟動httpd、mariadb、firewalld
systemctl start httpd
systemctl start mariadb
systemctl start firewalld

補充1:firewalld是防火牆,用來設定相關連線規則開放


3.設定防火牆
firewall-cmd --permanent --zone=public --add-service=http   --------------永遠 公開 開啟http
firewall-cmd --permanent --zone=public --add-service=https  --------------永遠 公開 開啟https

補充1:如果要刪除上面兩個新建的規則
firewall-cmd --permanent --zone=public --remove-service=http
firewall-cmd --permanent --zone=public --remove-service=https


4.修改後的重啟服務指令
systemctl restart httpd
systemctl restart mariadb
systemctl restart firewalld

5.開機後就自動啟用服務指令(防火牆已經是預設開啟)
systemctl enable httpd
systemctl enable mariadb

6.設定mysql資料庫,但我是安裝mariadb-server,但是指令一樣,這個指令包含建立root密碼比較重要,其他就看你要y/n
mysql_secure_installation

7.如有需要安裝phpmyadmin圖形介面,但我後來都沒用到
dnf install epel-release                     ---------------該套件用來新增抓取安裝來源 原本dnf來源沒有phpmyadmin
dnf install phpmyadmin



8.重启 Apache
service httpd restart

9.設定pppoe固定ip
dnf install NetworkManager-ppp             -------------------centos 8 要先安裝相關套件才能建立pppoe連線

10.cmd進入nmtui圖形介面設定網路
nmtui

10-1新增DSL連線
10-2輸入ppoe帳號密碼
10-3啟用連線

11.將要安裝的網頁檔案移動到 /var/www/html 資料夾中

12.安裝網頁時有檔案沒有建立,會說沒有權限給某些檔案 需要以下指令修改某個預設設定(預設為setenforce 1)
setenforce 0

13.安裝時要輸入mysql資料庫對應設定的密碼,先用剛改好的root密碼看看,不行就要再去研究ip問題還是mysql帳號密碼問題。

接著是申請SSL,讓網頁不會出現不安全圖示提示。


----------------------------------------------------------------------------------------------失敗經驗(可以略)------------------------------------------------------------
SSL 安裝網站教學:https://wiki.centos.org/zh-tw/HowTos/Https

dnf install mod_ssl openssl


# 產生私鑰
openssl genrsa -out ca.key 2048

# 產生 CSR
openssl req -new -key ca.key -out ca.csr

# 產生自我簽署的金鑰
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

# 複製檔案至正確位置
cp ca.crt /etc/pki/tls/certs
cp ca.key /etc/pki/tls/private/ca.key
cp ca.csr /etc/pki/tls/private/ca.csr

####假如你遷移了這些檔案而不是複製它們,你可以用以下的指命來矯正這些檔案的 SELinux 脈絡,因為 /etc/pki/* 的正確脈絡定義已包含在 SELinux 政策裡。
####restorecon -RvF /etc/pki


接著我們須要更新 Apache SSL 的設定檔
vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf
請修改路徑至金鑰檔案的儲存位置。如果你採用上面的方法,這會是
SSLCertificateFile /etc/pki/tls/certs/ca.crt
然後在再低數行的位置為憑證金鑰檔案設定正確路徑。如果你按照上面的指引,這會是:
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
儲存及離開檔案,然後重新啟動 Apache
/etc/init.d/httpd restart
假若一切正常的話,你現在應該可以透過 https 連線到你的伺服器,並看見 CentOS 的預設頁面。由於憑證是自我簽署的,瀏覽器一般會徵詢你是否接納這個憑證。

------------------------------------------------------------------------------SSL let's encrypt申請教學成功經驗------------------------------------------------------------

成功SSL let's encrypt申請教學

參考網站1:https://blog.miniasp.com/post/20 ... ypt-using-Certbot-2
參考網站2:https://www.myfreax.com/secure-n ... ncrypt-on-centos-8/

安裝套件
dnf install certbot

申請指令
certbot certonly

2: Place files in webroot directory (webroot)    -------------------------因為是apache 另一個是nginx的選項

Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): xxx@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/document ... tember-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y
Account registered.
Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): xxx.com.tw


Input the webroot for xxx.com.tw: (Enter 'c' to cancel): /var/www/html

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/xxx.com.tw/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/xxx.com.tw/privkey.pem
This certificate expires on 2023-12-01.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

以上完成申請SSL

接著進入編輯黨修改建立完成文件指定位置
vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf

以下為修改的程式碼位置
SSLCertificateFile      /etc/letsencrypt/live/www.your-domain.com.tw/cert.pem
SSLCertificateKeyFile   /etc/letsencrypt/live/www.your-domain.com.tw/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.your-domain.com.tw/chain.pem

接著重啟服務(可以沒事有修改東西就重啟)
systemctl restart httpd


使用Certbot自動更新SSL證書(但是成功那邊有寫他會自動更新,所以不確定這行有沒有一定要)
sudo certbot renew --dry-run



----------------------------------------------------------------------------------------------自動http轉https成功經驗------------------------------------------------------------

自動http轉https

參考連結1:https://stackoverflow.com/questi ... s-on-apache-servers
參考連結2:https://www.sslshopper.com/apache-redirect-http-to-https.html

1.進入/etc/httpd/conf
2.修改httpd.config
3.新增程式碼
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

4.存檔後
systemctl restart httpd

成功

祝大家都能成功在linux上架網站


777
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|小黑屋|沈長緣

GMT+8, 2024-11-1 10:19 , Processed in 0.039428 second(s), 18 queries .

Powered by shen - ♪♫*•♪!

© 2023- shen! ♪♫*•♪!.

快速回復 返回頂部 返回列表