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' .