Gitea是用Go编写的自托管开源git服务器。这是Gogs的分叉。Gitea包括存储库文件编辑器,项目问题跟踪,用户管理,通知,内置Wiki等。Gitea是轻量级的应用程序,可以安装在轻便系统上。如果您正在寻找内存占用量少得多的Gitlab替代产品,并且不需要Gitlab提供的所有功能,那么您绝对应该尝试Gitea。本教程说明了如何在Ubuntu 18.04上安装和配置Gitea。相同的说明适用于Ubuntu 16.04和任何其他基于Debian的发行版。Gitea支持SQLite,PostgreSQL和MySQL/MariaDB作为数据库后端。我们将使用SQLite作为Gitea的数据库。如果您的Ubuntu系统上未安装SQLite,则可以通过以sudo用户身份输入以下命令来安装它:[linuxidc@linux:~/www.]$ sudo apt update[linuxidc@linux:~/www.]$ sudo apt install sqlite3Gitea提供了Docker映像,可以从源代码,二进制文件或作为软件包安装。我们将从二进制文件安装Gitea。完成以下步骤,在Ubuntu上安装Gitea。[linuxidc@linux:~/www.]$ sudo apt install git[linuxidc@linux:~/www.]$ git --version创建一个新的系统用户,将通过键入以下内容来运行Gitea应用程序:该命令将创建一个名为git的新用户和组,并将主目录设置为/home/git。输出如下所示:[linuxidc@linux:~/www.]$ sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git 正在添加系统用户'git' (UID 122)... 正在添加新组'git' (GID 127)... 正在将新用户'git' (UID 122)添加到组'git'... 创建主目录'/home/git'...访问Gitea下载页面,并下载适用于您的体系结构的最新二进制文件。在撰写本文时,最新版本为1.10.2。如果有可用的新版本,请在下面的命令中更改VERSION变量。使用以下wget命令在/tmp目录中下载Gitea二进制文件:[linuxidc@linux:~/www.]$ VERSION=1.10.2 [linuxidc@linux:~/www.]$ sudo wget -O /tmp/gitea https://dl./gitea/${VERSION}/gitea-${VERSION}-linux-amd64gitea二进制文件可以在任何位置运行。我们将遵循约定并将二进制文件移至/usr/local/bin目录:[linuxidc@linux:~/www.]$ sudo mv /tmp/gitea /usr/local/bin[linuxidc@linux:~/www.]$ sudo chmod +x /usr/local/bin/gitea[linuxidc@linux:~/www.]$ sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log} [linuxidc@linux:~/www.]$ sudo chown git: /var/lib/gitea/{data,indexers,log} [linuxidc@linux:~/www.]$ sudo chmod 750 /var/lib/gitea/{data,indexers,log} [linuxidc@linux:~/www.]$ sudo mkdir /etc/gitea [linuxidc@linux:~/www.]$ sudo chown root:git /etc/gitea [linuxidc@linux:~/www.]$ sudo chmod 770 /etc/gitea/etc/gitea目录的权限设置为770,以便安装向导可以创建配置文件。安装完成后,我们将设置更多限制性权限。Gitea提供了已配置为与我们的设置匹配的Systemd Unit文件。通过键入以下命令将文件下载到/etc/systemd/system/目录:[linuxidc@linux:~/www.]$ sudo wget https://raw./go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/[linuxidc@linux:~/www.]$ sudo systemctl daemon-reload [linuxidc@linux:~/www.]$ sudo systemctl enable --now gitea Created symlink /etc/systemd/system/mult-user.target.wants/gitea.service → /etc/systemd/system/gitea.service.现在已经下载并运行了Gitea,是时候通过Web界面完成安装了。默认情况下,Gitea会侦听所有网络接口上端口3000上的连接。如果您的服务器上运行着UFW防火墙,则需要打开Gitea端口: [linuxidc@linux:~/www.]$ sudo ufw allow 3000/tcp [sudo] linuxidc 的密码: 防火墙规则已更新 规则已更新(v6)打开浏览器,输入http://git.:3000/然后将显示类似以下的屏幕:- 路径:使用绝对路径/var/lib/gitea/data/gitea.db
站点名称:您可以在此输入您公司的名称。 存储库根路径:保留默认的/home/git/gitea-repositories。 Git LFS根路径:保留默认的/var/lib/gitea/data/lfs。 以用户名运行:git SSH服务器域:输入您的域或服务器IP地址。 SSH端口:22,如果SSH正在侦听其他端口,请更改它 Gitea HTTP侦听端口:3000 Gitea基本URL:使用http和您的域或服务器IP地址。 日志路径:保留默认的/var/lib/gitea/log 完成后,点击“安装Gitea”按钮。安装是即时的。完成后,您将被重定向到登录页面。点击“立即注册”链接。第一个注册用户将自动添加到Admin组。使用以下命令将Gitea配置文件的权限更改为只读:[linuxidc@linux:~/www.]$ sudo chmod 750 /etc/gitea[linuxidc@linux:~/www.]$ sudo chmod 640 /etc/gitea/app.ini就这样。Gitea已安装在您的Ubuntu计算机上。将Nginx配置为SSL/TLS代理(termination proxy)此步骤是可选的,但强烈建议这样做。要将Nginx用作反向代理,您需要具有一个指向服务器公共IP的域或子域。在本教程中,我们将使用git.。首先,安装Nginx并使用以下指南生成免费的“加密SSL”证书:https://www./Linux/2018-05/152257.htmhttps://www./Linux/2020-02/162228.htmsudo nano /etc/nginx/sites-enabled/git.example.comserver { listen 80; server_name git.;
include snippets/letsencrypt.conf; return 301 https://git.$request_uri; }
server { listen 443 ssl http2; server_name git.;
proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s;
client_max_body_size 50m;
# Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $emote_addr;
# SSL parameters ssl_certificate /etc/letsencrypt/live/git./fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/git./privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/git./chain.pem; include snippets/letsencrypt.conf; include snippets/ssl.conf;
# log files access_log /var/log/nginx/git..access.log; error_log /var/log/nginx/git..error.log;
# Handle / requests location / { proxy_redirect off; proxy_pass http://127.0.0.1:3000; } }
不要忘记用您的Gitea域替换git.,并为SSL证书文件设置正确的路径。HTTP流量重定向到HTTPS$sudo systemctl restart nginx接下来,更改Gitea域和根URL。为此,请打开配置文件并编辑以下行:$sudo nano /etc/gitea/app.ini[server] DOMAIN = git. ROOT_URL = https://git./sudo systemctl restart gitea至此,已经配置了Gitea代理,您可以在以下位置访问它:https://git.为了使Gitea能够发送通知电子邮件,您可以安装Postfix或使用某些事务性邮件服务,例如SendGrid,MailChimp,MailGun或SES。$sudo nano /etc/gitea/app.ini[mailer] ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORDsudo systemctl restart gitea要验证设置并发送测试电子邮件,请登录Gitea,然后转到:站点管理>配置> SMTP邮件程序配置。Gitea还允许您通过创建Web Webhook连接到Slack并将通知发送到您的Slack频道。要升级到最新的Gitea版本,只需下载并替换二进制文件即可。sudo systemctl stop gitea02、下载最新的Gitea版本并将其移至/home/git目录:VERSION=<THE_LATEST_GITEA_VERSION>wget -O /tmp/gitea https://dl./gitea/${VERSION}/gitea-${VERSION}-linux-amd64sudo mv /tmp/gitea /usr/local/bin 03、赋予二进制文件可执行权限: sudo chmod +x /usr/local/bin/gitea sudo systemctl restart gitea本教程将引导您完成在Ubuntu 18.04上安装Gitea的过程。现在,您应该访问Gitea文档页面,并学习如何配置Gitea实例并创建第一个项目。
|