说明:前段时间介绍过一个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系统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.8.3/gitea-1.8.3-linux-amd64chmod +x gitea./gitea web
接下来打开http://ip:3000
即可。
Docker安装
如果只是想体验下的,可以试试Docker
安装方法。
1、安装Docker和Docker Compose
#安装并启动Dockercurl -sSL https://get.docker.com/ | shservice docker start#安装Docker Composecurl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-composechmod +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: falseservices: 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
即可。
服务配置
很多设置方面的变更,可以通过修改 custom/conf/app.ini 配置文件。详见配置说明
常见问题
1、进入ip:3000打不开网站
打不开需要关闭防火墙,或者打开对应的3000
端口。
#CentOS 7systemctl stop firewalld.servicesystemctl disable firewalld.service#其它系统iptables -I INPUT -p tcp --dport 3000 -j ACCEPTservice iptables save service iptables restart
2、保持程序一直运行
程序运行建议配合 screen
或者 setsid
使用,查看:Linux/VPS 技巧:让进程在后台稳定运行的几种方法。
3、域名访问
如果想用域名访问,可以用Nginx
反代。反代配置为:
#在 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; }
4、error: 401 Unauthorized
最大可能是因为git版本太低,git版本应>1.8