Centos7全新部署Gitea

in 软件 with 0 comment

Gitea 是一个开源社区驱动的 Gogs 克隆,是一个轻量级的代码托管解决方案,私人Github。

安装CentOS7.x系统

安装系统

宝塔面板常用命令:https://www.bt.cn/btcode.html

为了方便,直接使用宝塔来安装管理

# 进入系统默认ROOT密码为cxthhhhh.com
# 下载安装脚本
wget --no-check-certificate -qO ~/Network-Reinstall-System-Modify.sh 'https://tech.cxthhhhh.com/tech-tools/Network-Reinstall-System-Modify/Network-Reinstall-System-Modify.sh' && chmod a+x ~/Network-Reinstall-System-Modify.sh
# 网络安装最新CentOS7
bash ~/Network-Reinstall-System-Modify.sh -CentOS_7

自动重装完毕并进入系统后需要修改网卡地址和ROOT密码

vim /etc/sysconfig/network-scripts/ifcfg-eth0
# 修改并增加IP设置如下,重启网络服务然后PING下测试网络
--------------------- 
BOOTPROTO="static" #dhcp改为static 
IPADDR=192.168.1.102 #静态IP
GATEWAY=192.168.1.1 #默认网关
NETMASK=255.255.255.0 #子网掩码
DNS1=223.5.5.5 #DNS 配置
--------------------- 
service network restart
ping www.baidu.com

# 修改root密码
passwd

升级系统

检查系统版本

cat /etc/redhat-release

修改源为阿里云并yum更新升级

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y update

安装宝塔面板

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

在宝塔面板中直接安装Mysql5.7 ,并在数据库中直接添加一个新的叫gitea的数据库。

安装Gitea

安装git最新版

curl https://setup.ius.io | sudo sh
yum install git2u

添加git用户

groupadd git
useradd git -g git -s /bin/false

创建Gitea目录

mkdir /home/git/gitea
mkdir -p /home/git/gitea/{custom,data,indexers,public,log}

下载Gitea

wget https://dl.gitea.io/gitea/master/gitea-master-linux-amd64 -O /home/git/gitea/gitea

添加执行权限并运行项目

chmod +x /home/git/gitea/gitea
chown -R git:git /home/git/gitea
cd /home/git/gitea
./git -web

如果打不开网站需要打开防火墙端口允许3000端口通过

firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload

OK……打开网页正常显示,下面让Gitea自动运行

wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service
vim gitea.service
# 修改配置文件适应安装前创建的目录和用户
-------------------------------------
WorkingDirectory=/home/git/gitea/
ExecStart=/home/git/gitea/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/home/git/gitea
-------------------------------------

配置好配置文件后链接到系统目录当做服务来运行

ln -s /home/git/gitea/gitea.service /lib/systemd/system/gitea.service
systemctl daemon-reload
systemctl start gitea
systemctl status gitea    # 查看运行状态,绿色代表正常运行
# 开启开机自动运行
systemctl enable gitea
systemctl is-enabled gitea    # 如果返回enable代表开机自启成功

安装Nginx做域名转发

注意,请先确保已经正确域名解析!

在宝塔面板中安装Nginx,为了方便管理可以连FTP一起安装

在宝塔面板-网站中添加git.example.com站点,只需输入域名其他默认

点击设置-弹出界面选择配置文件

修改如下,只需删除默认目录和默认主页,然后添加一个转发location即可,其他不动方便宝塔一键使用功能

server
{
    listen 80;
    listen [::]:80;
    server_name git.example.com;
    
 
    #重定向到Gitea
    client_max_body_size 20m;
    location / {
        proxy_pass http://localhost:3000;
    }
}

如果要实现SSL安全访问,需要现在宝塔中添加证书开启SSL,然后保留如下设置

server
{
    listen 80;
    listen 443 ssl http2;
    server_name git.example.com;
    
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    ssl_certificate    /www/server/panel/vhost/cert/git.example.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/git.example.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    error_page 497  https://$host$request_uri;

    #SSL-END
    
    #重定向到Gitea
    client_max_body_size 20m;
    location / {
        proxy_pass http://localhost:3000;
    }    

}

在宝塔界面重新加载下nginx的配置然后重启nginx

打开web访问http://git.example.com 出现网站页面,成功~

配置Gitea

访问IP:3000,进入网页,点击注册就可以开始配置

如果想私人用不让外人注册可以打开下面的面板,勾选如下:

安装完毕后,重新进入IP:3000,注册第一个账户(默认为管理员)

禁止其他人注册:修改/home/git/gitea/custom/conf/app.ini配置文件

vim /home/git/gitea/custom/conf/app.ini
DISABLE_REGISTRATION              = true    # 关闭注册
# 修改完毕后需重启服务
systemctl restart gitea

测试

先建立一个名为test的空仓库,然后在本地进行CLONE和提交

提交成功,再到主页上看下

和github好像……速度反映很快,值得使用!

总结

因为使用了新版Git2.x所以在提交的时候比较完美,没有出现LFS版本需求提示。

如果是最精简安装不需要任何其他服务如nginx和mysql,只用自带WEB+SQLITE3的话……感觉Debian更适合点。

Responses