在Linux上利用Gitea搭建自己的仓库

准备工作
我自己搭建的使用的存储数据库采用的是mysql,当然可以根据gitea的文档自己选择和搭建。
这里放一下gitea的官网,有需要的可以参照英文文档步骤自
己搭建。
首先要安装mysql数据库,由于之前我已经安装过了,这里就不做安装步骤的,有需要的自己上
网搜索。

Mysql
1、 以root用户登录数据库。

[root@renhj ~]# mysql -u root -p
Enter password:

2、 创建gitea所需的数据库用户,这里我用的用户名为gitea,密码为!QAZ2wsx, 你可以用你熟悉的比较安全的密码。

如果你的gitea和mysql是在同一台服务器上,按照下面的创建:

mysql> CREATE USER 'gitea' IDENTIFIED BY '!QAZ2wsx';

对于不在一台服务器上的,则可以按照下面的语句进行创建:

mysql> CREATE USER 'gitea'@'%' IDENTIFIED BY '!QAZ2wsx';

%是对于所有外部服务器进行匹配的,如果你只想限定某一台服务器登录mysql,可以把%换成你的gitea服务器的IP地址。

3、创建gitea所需的数据库giteadb,编码用utf8mb4.

mysql> CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';

4、授权数据库的权限。

git服务和mysql在一台服务器上的:

mysql> GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea';

git服务和mysql不在一台服务器上的:

mysql> GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea'@'%';

可以把%换成你的gitea服务器的IP地址。
mysql> FLUSH PRIVILEGES;

Git
检查服务器上是否安装了git

[root@renhj ~]# git --version
git version 1.8.3.1

如果没有安装的话,用yum或者二进制包进行安装

[root@renhj ~]# sudo yum install git -y

系统
1、创建运行gitea服务的系统用户

[root@renhj ~]# groupadd git
[root@renhj ~]# adduser --system --shell /bin/bash --comment 'Git Version Control' --user-group --home-dir /home/git -m git

2、创建运行所需的目录

[root@renhj ~]# mkdir -p /var/lib/gitea/{custom,data,log}
[root@renhj ~]# chown git:git /var/lib/gitea/{data,indexers,log}
[root@renhj ~]# mkdir /etc/gitea
[root@renhj ~]# chown root:git /etc/gitea/
[root@renhj ~]# chmod 770 /etc/gitea/

安装
1、下载二进制文件

[root@renhj ~]# mkdir /usr/local/bin/
[root@renhj ~]# cd /usr/local/bin/
[root@renhj bin]# wget -O gitea https://dl.gitea.io/gitea/1.9.6/gitea-1.9.6-linux-amd64
[root@renhj bin]# chmod +x gitea

2、将gitea做成服务

[root@renhj ~]# vim /etc/systemd/system/gitea.service
[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target
Requires=mysqld.service

[Service]
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

[Install]
WantedBy=multi-user.target

3、启动gitea

[root@renhj ~]# systemctl daemon-reload 
[root@renhj ~]# systemctl enable gitea
[root@renhj ~]# systemctl start gitea

启动之后可以通过http://[you ip]:3000进行访问,或者可以通过nginx做一个反向代理,nginx的安装这里就不写了,我把反向代理的配置贴出来。

4、nginx配置反向代理

[root@renhj bin]# vim /etc/nginx/conf.d/gitea.conf 
server {
	listen 80;
	server_name git.renhj.org;

	location / {
		proxy_pass http://127.0.0.1:3000/;
		proxy_set_header Host $http_host;
		proxy_set_header X-Forwarded-For $remote_addr;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection $http_connection;	
	}
}

同时不要忘了在你的域名解析上加上一条git的解析。

5、注册git管理员及配置

这里已经算是安装完成了,但是gitea的管理员是没有的,数据库其他配置也没有配置。

通过访问/install页面进行配置,这里我的地址是http://git.renhj.org/install

我这里已经配置完成了,所以就不展示了,这里你配置上自己的数据库信息就行之,之后会让你进行注册,第一个注册的用户是管理员账户。

8、配置仓库地址
我查了很多网上的教程,很多教程到上一步就结束了,其实不是。还需要配置一下git代码的地址,不然你git推送和拉取都是localhost的地址。
将/etc/gitea/app.ini文件里server标签下的SSH_DOMAIN、DOMAIN、ROOT_URL都改为你自己配置的域名如下。

[root@renhj bin]# vim /etc/gitea/app.ini 
[server]
SSH_DOMAIN       = git.renhj.org
DOMAIN           = git.renhj.org
HTTP_PORT        = 3000
ROOT_URL         = http://git.renhj.org/

当然还有一些配置如禁止注册、邮箱配置,我这里也不需要,就不配置了。如果你需要可以到官网上去找,或者联系我

©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页