很久之前就架設過GLPI了,當時偷懶沒留下文件,最近需要一個網站來做SSL憑證的測試,並且用Route53來驗證TXT紀錄,今天就回顧一下GLPI的安裝流程,然後最後再來幫它上個https憑證。
一.GLPI安裝流程
1.基本環境建置
\\OS用的是RockyLinux9.3
[root@glpi ~]# dnf -y update
[root@glpi ~]# dnf -y install httpd mariadb-server
[root@glpi ~]# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
[root@glpi ~]# dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
[root@glpi ~]# dnf -y install yum-utils net-tools vim wget bind-utils
[root@glpi ~]# dnf module reset php
[root@glpi ~]# dnf module enable php:remi-8.2
[root@glpi ~]# dnf -y install php
[root@glpi ~]# dnf -y install php-{gd,intl,mysqli,ldap,zip,phar,ctype,iconv,mbstring}
[root@glpi ~]# php -m
\\以上是網站架設所需要的httpd 2.4、mariadb 10.5.22和php 8.2
2.安裝網站程式和資料庫
[root@glpi ~]# cd /var/www/html
[root@glpi ~]# wget https://github.com/glpi-project/glpi/releases/download/10.0.16/glpi-10.0.16.tgz
[root@glpi ~]# tar -zxvf glpi-10.0.16.tgz
[root@glpi ~]# rm -rf glpi-10.0.16.tgz
[root@glpi ~]# chown -R apache:apache /var/www/html/glpi
[root@glpi ~]# vim /etc/httpd/conf.d/glpi.conf
<Directory /var/www/html/glpi> Order deny,allow Allow from all AllowOverride All Options Indexes FollowSymLinks DirectoryIndex index.php</Directory>
[root@glpi ~]# systemctl restart httpd
[root@glpi ~]# systemctl enable httpd
[root@glpi ~]# systemctl start mariadb
[root@glpi ~]# systemctl enable mariadb
[root@glpi ~]# mysql
\\建立資料庫和使用者
mysql > CREATE DATABASE glpi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql > GRANT ALL PRIVILEGES ON glpi.* TO 'ocs'@'localhost' IDENTIFIED BY '@WSXcde3$RFV';
mysql > FLUSH PRIVILEGES;
![]() |
語言選繁體中文 |
![]() |
閱讀條款就直接繼續 |
![]() |
首次就選擇「安裝」 |
![]() |
有噴一點錯誤,我開了SELinux,就去把它關閉就好了 |
![]() |
系統會檢查一切必要的套件,若有缺的就回去再安裝,至於一些安全性建議就看要不要處理,像前面的SELinux關閉後也會在這邊被示警,可以選擇忽略 |
![]() |
連線資料庫 |
伺服器:localhost
使用者:ocs
密碼:@WSXcde3$RFV
[root@glpi ~]# vim /etc/httpd/conf.d/ssl.conf \\設定apache的ssl.conf,並將SSL憑證路徑放在裡面
![]() |
除非有自己另外建DB,不然連結資料庫就選系統已經安裝好的glpi |
![]() |
資料庫開始初始化 |
![]() |
完成初始化後按「繼續」 |
![]() |
再按「繼續」 |
![]() |
問一堆問題不管它就直接按「繼續」 |
![]() |
安裝完成,開始使用 |
![]() |
預設的帳密都是glpi,可以進去自己再修改 |
之前花不少時間研究網站裡面的很多功能,記得有導入Windows AD,還有很多硬軟體的資料,尤其是可以設定一些快到期的軟體發告警,而這次安裝只是要做測試而已,之前的研究內容就等以後有空再補上吧!
二.安裝Certbot,用Letsencrypt產生SSL憑證
這次的lab主要是要做letsencrypt的憑證申請與自動更新,並且要靠Route53做TXT認證,其實這部分才是本章重點。
[root@glpi ~]# sudo dnf update -y
[root@glpi ~]# sudo dnf install epel-release -y
[root@glpi ~]# sudo dnf install certbot -y
[root@glpi ~]# sudo certbot certonly --manual --preferred-challenges=dns -d glpi.lab-iankuo-web.com
\\certbot指令選擇dns做challenge,domain則是自定義
[root@glpi ~]# sudo dnf install mod_ssl -y \\安裝apahce的ssl模組
![]() |
後面的問題都是填y,最後系統會提供一串文字,將這串文字複製 |
![]() |
複製文字後,將其貼上到route53指定的子網域下的值,並選擇TXT紀錄 |
![]() |
跑一段時間後,紀錄建立起來就ok了 |
![]() |
驗證通過後就馬上得到一組crt和key檔,這就是SSL憑證 |
[root@glpi ~]# vim /etc/httpd/conf.d/ssl.conf \\設定apache的ssl.conf,並將SSL憑證路徑放在裡面
[root@glpi ~]# systemctl restart httpd \\重啟網頁伺服器
檔案驗證也是一個很方便取得驗證的方式,有時候不便使用DNS驗證時(例如DNS管理者不是自己的時候),這就是很實用的手法。
LoadModule ssl_module modules/mod_ssl.soListen *:443 https<VirtualHost *:443> ServerName glpi.lab-iankuo-web.com DocumentRoot /var/www/html/glpi/ ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"<Directory /var/www/html/glpi> Order deny,allow Allow from all AllowOverride All Options Indexes FollowSymLinks DirectoryIndex index.php</Directory> SSLEngine on SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder on SSLCertificateFile /etc/letsencrypt/live/glpi.lab-iankuo-web.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/glpi.lab-iankuo-web.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/glpi.lab-iankuo-web.com/chain.pem</VirtualHost>
![]() |
設定好了以後就可以在瀏覽器上看到https已經生效,為期3個月 |
![]() |
用SSL Checker也可以看到這個domain已經有健康的了 |
三.補充:Letsencrypt的檔案驗證產出SSL憑證
補充一個不用靠DNS添加紀錄的驗證方式,就是在網站的根目錄上作檔案驗證,不過還是要記得,DNS上還是要有A紀錄存在,因為自動驗證還是要靠外部的訪問來進行,而且一定要對外開放網路訪問80 Port。
指令範例:
[root@glpi ~]# sudo certbot certonly --webroot -w /var/www/html/glpi -d glpi2.lab-iankuo-web.com
[root@glpi ~]# cd /var/www/html/glpi/
[root@glpi ~]# mkdir -p .well-known/acme-challenge/ \\建立系統指定的路徑資料夾
[root@glpi ~]#echo "YbaMVnF3ejDi4JVaQJVJpdKhyVKYPQIspVxcGv_Yqy4" > YbaMVnF3ejDi4JVaQJVJpdKhyVKYPQIspVxcGv_Yqy4 \\把系統給的檔案放在路徑下
[root@glpi ~]# mkdir -p .well-known/acme-challenge/ \\建立系統指定的路徑資料夾
[root@glpi ~]#echo "YbaMVnF3ejDi4JVaQJVJpdKhyVKYPQIspVxcGv_Yqy4" > YbaMVnF3ejDi4JVaQJVJpdKhyVKYPQIspVxcGv_Yqy4 \\把系統給的檔案放在路徑下
![]() |
輸出指令並驗證成功後,Letsenctypt就會發一個可用的SSL憑證 |
另外可用於檔案驗證的指令:
回覆刪除[root@glpi ~]# sudo certbot --manual --preferred-challenges=http certonly