在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/

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

我的微信号: xiang20200106 ,欢迎大家找我聊天

— 【 THE END 】—

在这里插入图片描述

本公众号已经整理一套包含前端和后端的全套电子书教程,限时免费赠送,请在公众号里回复「电子书」获取!
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上安装Gitea,您可以使用以下步骤: 1. 从Gitea的官方下载页面下载Gitea的二进制文件。您可以使用命令`wget -O gitea https://dl.gitea.io/gitea/1.4.0/gitea-1.4.0-linux-amd64`来下载最新版本的Gitea二进制文件。请确保根据您的系统架构选择正确的二进制文件。 2. 授予Gitea二进制文件可执行权限。您可以使用命令`chmod +x gitea`来赋予文件可执行权限。 3. 创建一个用于存储Gitea数据的目录。您可以使用命令`mkdir -p /var/lib/gitea`来创建目录。 4. 创建一个用于存储Gitea配置文件的目录。您可以使用命令`mkdir -p /etc/gitea`来创建目录。 5. 将下载的Gitea二进制文件移动到一个可执行路径下,例如`/usr/local/bin`。您可以使用命令`mv gitea /usr/local/bin`来移动二进制文件。 6. 创建一个Gitea系统用户。您可以使用命令`useradd -r -s /bin/false git`来创建一个名为git的系统用户。这个用户将用于运行Gitea。 7. 将Gitea相关文件的所有权移交给git用户。您可以使用命令`chown -R git:git /var/lib/gitea`和`chown -R git:git /etc/gitea`来移交所有权。 8. 创建一个Gitea服务配置文件。您可以使用命令`nano /etc/systemd/system/gitea.service`来创建一个Gitea服务配置文件,并将以下内容粘贴到文件中: ``` [Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target After=mysqld.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=/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 ``` 9. 保存并关闭文件。 10. 启动Gitea服务并将其设置为开机启动。您可以使用以下命令完成这一步骤: ``` systemctl daemon-reload systemctl enable gitea systemctl start gitea ``` 11. 现在,您可以通过在浏览器中输入服务器的IP地址或域名来访问Gitea的安装页面。按照页面上的指示完成安装过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值