Jenkins 全知道
https://jenkins.xfoss.com/
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进行配置 
