Rat's

一款易搭建,运行快的Git服务器:Gitea安装教程
说明:前段时间介绍过一个Git服务器,查看:Gogs安装教程,体验还不错。现在再说个Gitea,是从Gogs发展而...
扫描右侧二维码阅读全文
05
2018/04

一款易搭建,运行快的Git服务器:Gitea安装教程

说明:前段时间介绍过一个Git服务器,查看:Gogs安装教程,体验还不错。现在再说个Gitea,是从Gogs发展而来,同样的拥有极易安装,运行快速的特点,而且更新比Gogs频繁很多,维护的人也多,个人认为Gitea还是更好一些的,这里就说下安装方法。

截图

请输入图片描述
请输入图片描述

简介

Gitea是一个极易安装,运行非常快速,安装和使用体验良好的自建Git服务。采用Go作为后端语言,这使得只要生成一个可执行程序即可。并且他还支持跨平台,支持LinuxmacOSWindows以及各种架构,除了x86amd64,还包括ARMPowerPC

Github地址:https://github.com/go-gitea/gitea

功能

  • 支持活动时间线
  • 支持SSH以及HTTP/HTTPS协议
  • 支持SMTPLDAP和反向代理的用户认证
  • 支持反向代理子路径
  • 支持用户、组织和仓库管理系统
  • 支持添加和删除仓库协作者
  • 支持仓库和组织级别Web钩子(包括Slack集成)
  • 支持仓库Git钩子和部署密钥
  • 支持仓库工单(Issue)、合并请求(Pull Request)以及Wiki
  • 支持迁移和镜像仓库以及它的Wiki
  • 支持在线编辑仓库文件和Wiki
  • 支持自定义源的GravatarFederated Avatar
  • 支持邮件服务
  • 支持后台管理面板
  • 支持MySQLPostgreSQLSQLite3MSSQLTiDB(实验性支持)数据库
  • 支持多语言本地化(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;
    }
Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2018 年 04 月 05 日 04 : 12 PM

发表评论

8 条评论

  1. dogeow

    这个网站文章滚动不觉得有点延迟吗?不是很舒服(仅代表我自己的看法)

  2. leander

    请问 docker安装是否需要再手动安装数据库,注册界面提示 数据库设置无效: dial tcp :3306: connect: no route to host 改如何解决

    1. Rat's
      @leander

      不需要,docker好像有数据库,后面不太清楚了,都忘了咋整了

  3. adapt

    你好,我都配置好了,但是关闭云服务器的终端后,就不能够运行了,怎么解决呢?

    1. Rat's
      @adapt

      用第一种方法吗?有没有把程序放在后台运行。

      1. adapt
        @Rat's

        弄好了,设置好后忘记运行了。谢谢

  4. iMoLin

    哈哈试了一下,发现服务器Git版本得大于2.1.2,不然push代码会报错,手动安装了下,最后正常了

    1. Rat's
      @iMoLin

      这个细节倒是没注意,等我有空修改下吧。