深入解析:搭建Jenkins gitlab 環境
Jenkins 全知道
Ubuntu 上開放 SSH 和 HTTP 服務,并重新加載防火墻配置
1. 確認防火墻狀態
Ubuntu 22.04 默認防火墻是 ufw(Uncomplicated Firewall)。
先查看防火墻狀態:
bash
如果顯示 inactive 表示防火墻未啟用。
root@user-virtual-machine:~# sudo ufw status
Status: inactive
root@user-virtual-machine:~#
2. 開放 SSH(22 端口)
SSH 默認端口是 22,允許它通過防火墻:
bash
sudo ufw allow ssh
或指定端口:
bash
sudo ufw allow 22/tcp
3. 開放 HTTP(80 端口)
HTTP 默認端口是 80:
bash
sudo ufw allow http
或指定端口:
bash
sudo ufw allow 80/tcp
4. 啟用防火墻(如果未啟用)
bash
sudo ufw enable
5. 重新加載防火墻配置
bash
sudo ufw reload
6. 查看防火墻規則
bash
sudo ufw status
你應該能看到類似:
plaintext
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
7. 額外提示
- 如果還需要 HTTPS(443 端口),可以運行:
bash
sudo ufw allow 443/tcp - 如果想允許某個特定 IP 訪問:
bash
sudo ufw allow from 192.168.1.100
? 這樣配置后,你的服務器就可以被 SSH 連接和 HTTP 訪問了。
root@user-virtual-machine:~# sudo ufw status
Status: inactive
root@user-virtual-machine:~#
root@user-virtual-machine:~#
root@user-virtual-machine:~#
root@user-virtual-machine:~# sudo ufw allow ssh
Skipping adding existing rule
Skipping adding existing rule (v6)
root@user-virtual-machine:~# sudo ufw allow http
Rules updated
Rules updated (v6)
root@user-virtual-machine:~# sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Aborted
root@user-virtual-machine:~# sudo ufw reload
Firewall not enabled (skipping reload)
root@user-virtual-machine:~# sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
root@user-virtual-machine:~# sudo ufw reload
Firewall reloaded
root@user-virtual-machine:~# sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
root@user-virtual-machine:~#
2.安裝 GitLab Community Edition(CE 社區版)。
1. 準備工作
GitLab 對服務器資源要求較高,建議:
- CPU:至少 2 核
- 內存:至少 4GB(推薦 8GB)
- 磁盤:至少 20GB 可用空間
- 已安裝并配置好 SSH
更新系統:
bash
sudo apt update && sudo apt upgrade -y
2. 安裝依賴
bash
sudo apt install -y ca-certificates curl openssh-server postfix tzdata
命令用于一次性安裝多個軟件包,其中包括:
?ca-certificates?:證書授權中心的證書,這些證書用于驗證 SSL 證書。
?curl?:一個命令行工具,用于發送和接收數據。
?openssh-server?:OpenSSH 服務器,用于提供 SSH 訪問。
?postfix?:一個郵件傳輸代理(MTA),用于發送和接收電子郵件。
?tzdata?:時區數據庫,用于正確處理日期和時間。
注意事項
- ?sudo?:這個命令需要管理員權限,使用
sudo可以提升你的權限。 - ?-y?:這個選項會自動回答所有提示為“是”,避免在安裝過程中出現交互式詢問。
后續配置
安裝完這些軟件包后,你可能需要配置一些服務:
?OpenSSH Server?:安裝完成后,你可能需要配置 SSH 服務。你可以通過編輯
/etc/ssh/sshd_config文件來配置 SSH 服務,然后重啟 SSH 服務:
sudo systemctl restart sshd
?Postfix?:安裝 Postfix 后,你可能需要配置郵件服務器。這通常涉及編輯 /etc/postfix/main.cf 文件來設置郵件服務器的相關參數。例如,設置郵件域名、SMTP 認證等。
?Timezone?:安裝 tzdata 后,系統會自動提示你選擇時區。如果你錯過了這個步驟或者想要更改時區,可以使用以下命令選擇時區:
sudo dpkg-reconfigure tzdata
確保在繼續之前檢查每個服務的配置文件,以確保它們按照你的需求正確配置
參考 :
阿里云 Ubuntu 22.04.4 LTS 安裝postfix+dovecot 搭建郵件服務器_ubuntu 22.04部署postfix+dovecot-CSDN博客

buntu 會彈出一個 藍色的配置界面(其實是 debconf 交互配置),一般會有幾個選項:
No configuration
- 不做任何配置,后續需要手動修改
/etc/postfix/main.cf。 - 適合熟悉 postfix 配置的高手。
- 不做任何配置,后續需要手動修改
Internet Site(推薦用于 GitLab)
- 服務器直接通過互聯網收發郵件,需要有 公網 IP 和 域名。
- postfix 會直接用 SMTP 與外部郵件服務器通信。
Internet with smarthost
- 服務器本身不直接對外發郵件,而是通過一個 中繼(smarthost) 轉發。
- 適合內網服務器、或者需要通過企業郵箱 / 第三方 SMTP(如 QQ、163、SendGrid)發郵件的情況。
Satellite system
- 所有郵件都通過一個固定的外部 SMTP 服務器發送和接收。
- 與 “Internet with smarthost” 類似,但更嚴格。
Local only
- 只在本機發送郵件,不與外部通信。
- 適合只需要
cron、系統告警發給本機用戶的場景。
二、GitLab 場景推薦選擇
如果你的服務器有公網 IP + 域名(直接發郵件)
- 選擇 Internet Site
- 然后會提示輸入 System mail name,輸入你的服務器域名,例如:
plaintext
gitlab.example.com - 這樣 postfix 會用這個域名作為郵件的
From地址后綴。
如果你的服務器在內網 / 需要用第三方 SMTP(如 QQ 郵箱、163、SendGrid)
- 選擇 Internet with smarthost
- System mail name 同樣填域名
- 下一步會讓你輸入 smarthost 地址,比如 QQ 郵箱的 SMTP 是
smtp.qq.com:587 - 之后還需要配置認證信息(用戶名 / 密碼)到
/etc/postfix/sasl_passwd
如果暫時不想配置,后續手動改
- 選擇 No configuration
- 安裝后手動編輯
/etc/postfix/main.cf進行配置


浙公網安備 33010602011771號