一款易搭建,运行快的Git服务器:Gitea安装教程
说明:前段时间介绍过一个Git
服务器,查看:Gogs安装教程,体验还不错。现在再说个Gitea
,是从Gogs
发展而来,同样的拥有极易安装,运行快速的特点,而且更新比Gogs
频繁很多,维护的人也多,个人认为Gitea
还是更好一些的,这里就说下安装方法。
截图
简介
Gitea
是一个极易安装,运行非常快速,安装和使用体验良好的自建Git
服务。采用Go
作为后端语言,这使得只要生成一个可执行程序即可。并且他还支持跨平台,支持Linux
、macOS
和Windows
以及各种架构,除了x86
,amd64
,还包括ARM
和 PowerPC
。
Github地址:https://github.com/go-gitea/gitea
功能
- 支持活动时间线
- 支持
SSH
以及HTTP
/HTTPS
协议 - 支持
SMTP
、LDAP
和反向代理的用户认证 - 支持反向代理子路径
- 支持用户、组织和仓库管理系统
- 支持添加和删除仓库协作者
- 支持仓库和组织级别
Web
钩子(包括Slack
集成) - 支持仓库
Git
钩子和部署密钥 - 支持仓库工单(
Issue
)、合并请求(Pull Request
)以及Wiki
- 支持迁移和镜像仓库以及它的
Wiki
- 支持在线编辑仓库文件和
Wiki
- 支持自定义源的
Gravatar
和Federated Avatar
- 支持邮件服务
- 支持后台管理面板
- 支持
MySQL
、PostgreSQL
、SQLite3
、MSSQL
和TiDB
(实验性支持)数据库 - 支持多语言本地化(
21
种语言)
二进制安装
安装方法和Gogs
差不多,这里再说一遍。
1、安装MySQL数据库
建议使用CentOS
系统,查看:CentOS下Mysql 5.6安装教程及创建数据库,其他系统不会手动安装的直接使用宝塔面板。
#Centos系统
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh
安装完成后,安装MySQL
,至少5.5.3
版本。
2、安装Git
#Debian和Ubuntu系统
apt-get -y install git
#CentOS系统
yum -y install git
3、安装Gitea
最新版本下载地址:https://dl.gitea.io/gitea。
wget -O gitea https://dl.gitea.io/gitea/1.4.0/gitea-1.4.0-linux-amd64
chmod +x gitea
./gitea web
接下来打开http://ip:3000
即可。
Docker安装
如果只是想体验下的,可以试试Docker
安装方法。
1、安装Docker和Docker Compose
#安装并启动Docker
curl -sSL https://get.docker.com/ | sh
service docker start
#安装Docker Compose
curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
2、安装Gitea
#创建并进入gitea目录
mkdir gitea && cd gitea
#创建并编辑docker-compose.yml文件
nano docker-compose.yml
复制以下代码进去,数据库信息默认或者修改都可。
version: "2"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: mysql:5.7
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql
运行docker-compose.yml
文件
docker-compose up -d
最后打开http://ip:3000
即可。
常见问题
1、进入ip:3000打不开网站
打不开需要关闭防火墙,或者打开对应的3000
端口。
#CentOS 7
systemctl stop firewalld.service
systemctl disable firewalld.service
#其它系统
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
service iptables save
service iptables restart
2、保持程序一直运行
请配合screen
使用,使用方法:使用screen来实现多任务不断线操作命令。
3、域名访问
如果想用域名访问,可以用Nginx
反代。反代配置为:
#在配置文件里添加
location / {
proxy_pass http://localhost:3000
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}