如何在Ubuntu上安装Gitea Git服务器

Gitea是一个类似于Github的开源版本控制平台。这可能是建立自托管Git服务的最简单、最快的方法。
Gitea是Gogs的克隆,是100%开源和免费的。所有源代码都在Github上的MIT许可下可用。它是健壮的、可扩展的,是其他git服务的绝佳替代品。
Gitea具有丰富的功能,如问题和时间跟踪、存储库分支、文件锁定和标记、合并,以及在典型的源代码管理平台中可以找到的许多其他功能。。

第3步:安装Gitea包

从下面的链接中找到其最新版本:

https://github.com/go-gitea/gitea.

下载gitea:

cd /tmp
wget https://dl.gitea.io/gitea/1.8.0/gitea-1.8.0-linux-amd64

下载文件后,将其移动到/usr/local/bin目录中并使其可执行。

sudo mv gitea-1.8.0-linux-amd64 /usr/local/bin/gitea
sudo chmod +x /usr/local/bin/gitea

接下来,为Gitea创建这些文件夹,并更新其权限。

sudo mkdir -p /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 mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

之后,运行以下命令以创建Gitea SystemD脚本。

sudo nano /etc/systemd/system/gitea.service

然后将下面的内容复制并粘贴到文件中并保存。

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.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

之后,重新加载系统并启动Gitea服务

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

检查Gitea状态:

sudo systemctl status gitea

输出示例:

● gitea.service - Gitea (Git with a cup of tea)
   Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: en
   Active: active (running) since Fri 2019-04-26 10:52:32 CDT; 11s ago
 Main PID: 7118 (gitea)
    Tasks: 6 (limit: 4683)
   CGroup: /system.slice/gitea.service
           └─7118 /usr/local/bin/gitea web -c /etc/gitea/app.ini
Apr 26 10:52:32 ubuntu1804 gitea[7118]: 2019/04/26 10:52:32 [T] Log path: /var/l
Apr 26 10:52:32 ubuntu1804 gitea[7118]: 2019/04/26 10:52:32 [I] Gitea v1.8.0 bui
Apr 26 10:52:32 ubuntu1804 gitea[7118]: 2019/04/26 10:52:32 [I] Log Mode: Consol
Apr 26 10:52:32 ubuntu1804 gitea[7118]: 2019/04/26 10:52:32 [I] XORM Log Mode: C
Apr 26 10:52:32 ubuntu1804 gitea[7118]: 2019/04/26 10:52:32 [I] Cache Service En
Apr 26 10:52:32 ubuntu1804 gitea[7118]: 2019/04/26 10:52:32 [I] Session Service 
Apr 26 10:52:32 ubuntu1804 gitea[7118]: 2019/04/26 10:52:32 [I] SQLite3 Supporte
Apr 26 10:52:32 ubuntu1804 gitea[7118]: 2019/04/26 10:52:32 [I] Run Mode: Develo
Apr 26 10:52:33 ubuntu1804 gitea[7118]: 2019/04/26 10:52:33 Serving [::]:3000 wi
Apr 26 10:52:33 ubuntu1804 gitea[7118]: 2019/04/26 10:52:33 [I] Listen: http://0
lines 1-18/18 (END)

使用浏览器打开:

http://localhost:3000/install

键入数据库连接信息并继续Gitea设置。
完成后,我们就可以使用Gitea服务了。

第2步:安装MariaDB

Gitea需要一个数据库服务器来存储它内容。

安装MariaDB:

sudo apt-get install mariadb-server mariadb-client

安装MariaDB后,下面的命令可用于停止,启动和启用MariaDB服务。

在Ubuntu 16.04 LTS上运行:

sudo systemctl stop mysql.service
sudo systemctl start mysql.service
sudo systemctl enable mysql.service

在Ubuntu 18.10和18.04 LTS上运行

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

之后,运行以下命令,通过创建root密码并禁止远程根访问来保护MariaDB服务器。

sudo mysql_secure_installation

出现提示时,通过遵循教程,回答以下问题。

  • 输入root的当前密码(输入无):只需按Enter键
  • 设置root密码? [Y/N]:Y
  • 新密码:输入密码
  • 重新输入新密码:重复密码
  • 删除匿名用户? [Y/N]:Y
  • 远程禁止root登录? [Y/N]:Y
  • 删除测试数据库并访问它? [Y/N]:Y
  • 现在重新加载权限表? [Y/N]:Y

创建空白的Gitea数据库和数据库用户

登录MariaDB数据库服务器:

sudo mysql -u root -p

将全局InnodeB_File_Per_Table更改为:

SET GLOBAL innodb_file_per_table = ON;

然后创建一个名为giteadb的数据库

CREATE DATABASE giteadb;

使用新密码创建名为GiteAuser的数据库用户

CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

然后授予用户完全访问数据库。

GRANT ALL ON giteadb.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

接下来,运行以下命令以更新数据库字符集:

ALTER DATABASE giteadb CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;

最后,保存更改并退出。

FLUSH PRIVILEGES;
EXIT;

打开MariaDB默认配置文件。

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

然后添加下面的行并保存。

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic

之后重新启动mariadb服务。

sudo systemctl restart mariadb.service
sudo systemctl restart mysql.service

第1步:安装Git并创建Git用户

运行命令在Ubuntu上安装Git包。

sudo apt update
sudo apt install git

创建Git用户以运行Gitea服务:

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

输出示例:

Output:
Adding system user `git' (UID 122) . 
Adding new group `git' (GID 127) . 
Adding new user `git' (UID 122) with group `git' . 
Creating home directory `/home/git' .
日期:2020-07-07 20:54:31 来源:oir作者:oir