如何在Ubuntu 19.04/18.04/16.04上安装Gitea Git服务
欢迎来到我们关于如何在Ubuntu 19.04/18.04/16.04上安装Gitea自主Git服务的教程。
Gitea是一种无痛的自主的Git服务,从GOGS分叉,类似于Github,Bitbucket和Gitlab。
Gitea主要目标是为建立自主托管的GIT服务提供最快,最简单,最无痛的方式。
通过Go写入,它被分发为二进制包,运行跨越支持的所有平台和体系结构。
它在Linux,MacOS和Windows上运行,位于AMD64,I386,ARM,PowerPC等体系结构上。
按照下面提供的步骤将Gitea安装在Ubuntu 19.04/18.04/16.04服务器上。
Gitea系统设置
该设置包括Ubuntu ServerMariaDB数据库ServerGit Version ControlGitea服务,具有系统D.
第1步:创建Git系统用户
运行以下命令以添加用户git来管理系统上的gitea。
sudo adduser \ --system \ --shell /bin/bash \ --gecos 'Git Version Control' \ --group \ --disabled-password \ --home /home/git \ git
命令 id
应显示用户ID和组ID
$id git uid=112(git) gid=117(git) groups=117(git)
第2步:安装MariaDB数据库服务器
我们将使用MariaDB存储Gitea数据,在服务器上安装MariaDB。
sudo apt -y install mariadb-server
为Gitea创建数据库。
$sudo mysql -u root -p CREATE DATABASE gitea; GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY "StrongPassword"; FLUSH PRIVILEGES; QUIT;
第3步:在Ubuntu上安装Gitea
现在从下载页面下载Gitea二进制文件。
在下载之前检查最新版本。
export VER=1.9.4 wget https://github.com/go-gitea/gitea/releases/download/v${VER}/gitea-${VER}-linux-amd64
将下载的二进制文件移动到 /use/local/bin
目录
chmod +x gitea-${VER}-linux-amd64 sudo mv gitea-${VER}-linux-amd64 /usr/local/bin/gitea
我们可以确认使用的版本使用。
$gitea --version Gitea version 1.9.4 built with: bindata, sqlite
创建所需的目录结构。
sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log} sudo chown git:git /var/lib/gitea/{data,indexers,log} sudo chmod 750 /var/lib/gitea/{data,indexers,log} sudo chown root:git /etc/gitea sudo chmod 770 /etc/gitea
Web安装程序将需要编写权限配置文件 /etc/gitea
创建系统服务单元
sudo vim /etc/systemd/system/gitea.service
配置文件以设置用户,组和WorkDir。
[Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target After=mysql.service [Service] # Modify these two values and uncomment them if you have # repos with lots of files and get an HTTP error 500 because # of that ### #LimitMEMLOCK=infinity #LimitNOFILE=65535 RestartSec=2s Type=simple User=git Group=git WorkingDirectory=/var/lib/gitea/ ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini Restart=always Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea # If you want to bind Gitea to a port below 1024 uncomment # the two values below ### #CapabilityBoundingSet=CAP_NET_BIND_SERVICE #AmbientCapabilities=CAP_NET_BIND_SERVICE [Install] WantedBy=multi-user.target
重新加载系统并重新启动服务
sudo systemctl daemon-reload sudo systemctl restart gitea
还启用服务开始启动
sudo systemctl enable gitea
示例状态输出。
$systemctl status gitea * gitea.service - Gitea (Git with a cup of tea) Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2016-10-01 12:25:19 PDT; 3s ago Main PID: 6919 (gitea) Tasks: 10 (limit: 1111) CGroup: /system.slice/gitea.service `-6919 /usr/local/bin/gitea web -c /etc/gitea/app.ini .......
第4步:配置nginx代理
在Debian 10上安装nginx。
sudo apt -y install nginx
如果启用了UFW,请允许HTTP和HTTPS端口。
for i in http https; do sudo ufw allow $i done
为Gitea创建nginx配置文件
sudo vim /etc/nginx/conf.d/gitea.conf
将数据粘贴到创建的文件中。
server { listen 80; server_name git.example.com; location/{ proxy_pass http://localhost:3000; } }
设置正确的域名并重新启动nginx服务。
sudo systemctl restart nginx
第5步:在Ubuntu上配置Gitea
访问http://servichostname /安装来启动安装
设置数据库身份验证
在第一页上,设置数据库连接
提供的用户名和密码应匹配数据库配置部分中提供的密码。
如果数据库服务器位于其他主机上,请在主机部分下提供IP地址。
设置应用程序常规设置
设置SSH服务器域 - 应该是nginx配置中使用的相同域。
提供应用程序URL和HTTP侦听端口。
由于我们使用nginx代理,因此无需更改默认值。
禁用用户自我注册
我们可以在"服务器和其他服务设置"下禁用用户自我登记。
这意味着管理员用户将手动创建用户帐户。
(可选)创建管理员用户帐户。
默认情况下,root用户将自动获得管理员访问权限。
完成配置后,单击"安装Gitea"按钮以完成安装。
在成功安装时,我们应该登录Gitea管理控制台。