Ubuntu搭建Git服务器Gitea
我这里服务器都是
root
权限,所以没有加入sudo
,当我们在自己虚拟机的的时候,不一定是root
权限,所以每条指令前面需要加入sudo
给Gitea添加一个专用的用户管理
方法一:
1. 创建一个用户,管理Gitea项目
1 | adduser git |
2.给Gitea用户添加文件的写权限
- 使用vim编辑
/etc/sudoers
(如果第3步设置了别的用户名,那么这里也需要设置别的用户明)
1 | vim /etc/sudoers |
- 找到
User privilege specification
部分,添加如下内容:
1 | git ALL=(ALL:ALL) ALL |
如下图所示:
方法二:
- 创建一个用户,管理Gitea项目
1 | useradd git |
useradd
添加一般用户
usermod -a -G sudo
将git用户添加sudo组和权限 usermod是修改账号的指令,-a代表添加或者附加,-G代表一个群组
- 给该用户添加密码
1 |
查看已存在的用户
- 这个命令会列出系统上所有用户的信息,包括用户名和其他相关信息。
1 | getent passwd |
1 | cat /etc/passwd |
该命令会显示每个用户的详细信息,包括用户名、密码、用户ID、组ID、用户家目录、登录Shell等
- 这个命令对于查找特定用户所属的用户组或特定用户组的成员非常有用,没有上面命令那么多信息
1 | getent group |
Mysql安装以及检查
安装依赖
1 | wget http://repo.mysql.com/mysql-apt-config_0.8.32-1_all.deb |
会进入如下界面,可以通过上下 ↑↓
控制光标,通过 TAB
选中,回车确认。

图中上下移动到 MySQL Server & Cluster (Currently selected: mysql-8.4-lts)
通过 TAB
选中,光标会自动到 OK
上,点击回车,到下一步按照图片操作
上下移动到 MySQL Server & Cluster (Currently selected: mysql-8.4-lts)
通过 TAB
选中,光标会自动到 OK
上,点击回车

上下移动到 mysql-8.4-lts
通过 TAB
选中,光标会自动到 OK
上,点击回车

上下移动到 OK
通过 TAB
选中,光标会自动到 OK
上,点击回车

执行更新程序
1 | sudo apt-get upgrade |
安装 mysql
1 | sudo apt install mysql-server -y |
- 安装会出现如图,需要你输入一个
root
密码,这个密码后面要使用,要记下来,通过上下移动光标选择确认,然后回车。这里需要输入两次密码。
输入密码前

输入密码后

- 会提示让你重新输入密码,输入密码后,按下上下按键到确认,按下回车

- 如下界面按
TAB
按键,再按回车按键

4. 如下图所示,选择身份验证,加密方式。

- 接下来等待安装完成即可,
Mysql
就安装完成了。
检查 Mysql
是否安装成功
1 | sudo systemctl status mysql |
安装成功照片

使用 Mysql
数据库创建用户
使用 root
用户连接数据库
1 | sudo mysql -u root -p |
效果如下图所示:

创建用户 用户和密码可以更改
1 | CREATE USER 'gitealib' IDENTIFIED BY 'gitealib123@'; |
效果如下图所示:

创建数据库 授权 刷新权限
1 | CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'; |
效果如下图所示:

尝试 gitealib
用户登录
1 | mysql -u gitealib -p giteadb |
效果如下图所示:

Ubuntu
Gitea
后台运行
要在Ubuntu上使Gitea以后台服务的方式运行,你可以使用systemd来创建一个服务单元。以下是简化的步骤和示例代码:
创建一个systemd服务文件:
创建一个新的服务单元文件 /etc/systemd/system/gitea.service
。参考
官网文件:
1 | [Unit] |
User=
这里设置创建用户的用户 git
Environment=USER=这里设置创建用户的用户 git
Restart=always: 只要不是通过systemctl stop来停止服务,任何情况下都必须要重启服务,默认值为no
RestartSec=20: 重启间隔,比如某次异常后,等待20(s)再进行启动,默认值0.1(s)
StartLimitInterval: 无限次重启,默认是10秒内如果重启超过5次则不再重启,设置为0表示不限次数重启
1
StartLimitInterval = 0
<Gitea的安装路径>:这里不要省略路径,比如我的路径是
/opt/gitea
;ExecStart=/opt/gitea/gitea
重新加载systemd配置:
1 | sudo systemctl daemon-reload |
启动Gitea服务:
1 | sudo systemctl start gitea |
设置Gitea服务开机自启:
1 | sudo systemctl enable gitea |
以上步骤会将Gitea配置为一个后台服务,并在系统启动时自动运行。
systemctl停止运行某个任务
systemctl
是一个控制 systemd
系统和服务管理器的命令行工具。要停止运行服务,可以使用 systemctl stop
命令。
停止一个名为 service_name
的服务的命令:
1 | sudo systemctl stop service_name |
如果你遇到问题,检查gitea
服务的状态来获取更多信息:
1 | sudo systemctl status gitea |
如果你想禁用这个服务,使得它不会在下次启动时自动启动,可以使用 disable
命令:
1 | sudo systemctl disable service_name |
如果你想同时停止并禁用服务,可以使用 stop
和 disable
命令的组合:
1 | sudo systemctl stop service_name |
请确保将 service_name
替换为你想要停止的服务的实际名称。
如停止上面Gitea
,将service_name
替换成Gitea
;