0. 背景介绍
我的是某里云的服务器,配置比较轻量级。2G 2核 40Gssd(主要原因价格便宜)
为什么选择gitea而不是选择gitlab,原因是我在部署完gitlab以后,云服务器的负载直接拉满,导致我直接重装系统了。了解了一下gitlab 要4G的内存,而gitea就小的多,只需要1G。
最终软件版本如下:
系统镜像使用的是:debian 11.3
gitea版本使用的是:1.19.1
1. 开始搭建
1. 更新系统软件包
首先我们要确保自己云服务器上的软件包是最新的,所以我们先更新下软件包
sudo apt update
sudo apt upgrade -y
2. 安装必要的依赖
更新完以后就需要安装对应的一些依赖项包括git和一些库
sudo apt install -y git sqlite3 ufw
3.创建Gitea用户
为了安全起见,最好创建一个专用的用户来运行Gitea,而不是使用root用户。
sudo adduser --disabled-login --gecos 'Gitea' gitea
4. 下载并安装Gitea
接下来,需要从Gitea的官方GitHub仓库下载最新的版本。我们将Gitea二进制文件下载到/usr/local/bin目录,并给予执行权限。
# 下载Gitea最新版本(请根据Gitea的最新版本进行更新)
wget -O /usr/local/bin/gitea https://dl.gitea.io/gitea/1.19.1/gitea-1.19.1-linux-amd64
# 赋予执行权限
sudo chmod +x /usr/local/bin/gitea
5. 创建必要的目录
# 创建目录
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,log}
sudo mkdir -p /etc/gitea
sudo chown -R gitea:gitea /var/lib/gitea /etc/gitea
6. 设置Gitea服务
sudo vim /etc/systemd/system/gitea.service
在文件中添加以下内容:
[Unit]
Description=Gitea: Git with a cup of tea
Documentation=https://docs.gitea.io/
After=network.target
[Service]
User=gitea
Group=gitea
ExecStart=/usr/local/bin/gitea web
WorkingDirectory=/var/lib/gitea
Restart=always
Environment=USER=gitea HOME=/var/lib/gitea GITEA_CUSTOM=/var/lib/gitea/custom
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
保存并退出编辑器。
7. 启动并启用Gitea服务
使服务生效并启动Gitea:
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
8. 访问gitea
安装完成后,可以通过浏览器访问Gitea Web界面,开始使用它管理代码仓库。
http://your_server_ip:3000
如果正常了可以访问了。就需要点击下安装,对应配置比较简单。配置好后界面如下。
2. 遇到的问题及解决方法
1. 防火墙阻止访问
如果你的服务器防火墙不是这个状态
你需要输入下面这些指令解开限制,确保3000端口是开放的
sudo ufw allow 3000
sudo ufw reload
2. 不确定gitea是否在运行并且没有报错
要确保gitea是在运行的
sudo systemctl status gitea
3.使用其他主机访问下gitea
可以尝试从另一台机器上使用 curl 命令访问 Gitea,看看是否能够连接到服务器:
curl http://your_server_ip:3000
4. 确认没有其他进程占用端口
确保没有其他进程占用了端口 3000,导致 Gitea 无法正常绑定。可以使用以下命令检查端口占用情况:
sudo lsof -i :3000
如果有其他进程占用该端口,能需要停止该进程或修改 Gitea 使用的端口。
成功的情况下应该如下。
5. 确定下自己的服务器防火墙是不是增加了3000端口
这个地方时阿里云做的安全限制。