特 殊 说 明 \color{red}{特殊说明} 特殊说明

1、mysq数据库选用 很重要

N o t e t o M y S Q L u s e r s : p l e a s e u s e t h e I n n o D B s t o r a g e e n g i n e \color{red}{Note to MySQL users: please use the InnoDB storage engine} NotetoMySQLusers:pleaseusetheInnoDBstorageengine a n d i f y o u u s e " u t f 8 m b 4 " , y o u r I n n o D B v e r s i o n m u s t b e g r e a t e r t h a n 5.6. \color{red}{ and if you use "utf8mb4", your InnoDB version must be greater than 5.6 .} andifyouuse"utf8mb4",yourInnoDBversionmustbegreaterthan5.6.

M y S Q L 用 户 注 意 : 请 使 用 I n n o D B 存 储 引 擎 , 如 果 您 使 用 “ u t f 8 m b 4 ” 字 符 集 , \color{red}{MySQL 用户注意:请使用InnoDB 存储引擎,如果您使用“utf8mb4”字符集,} MySQL用户注意:请使用InnoDB存储引擎,如果您使用“utf8mb4”字符集, 则 您 的 m y s q l 版 本 必 须 大 于 5.6 。 . \color{red}{则您的 mysql 版本必须大于5.6。.} 则您的mysql版本必须大于5.6。.

M y S Q L 用 户 注 意 : 请 使 用 I n n o D B 存 储 引 擎 , 如 果 您 使 用 “ u t f 8 m b 4 ” 字 符 集 , \color{red}{MySQL 用户注意:请使用InnoDB 存储引擎,如果您使用“utf8mb4”字符集,} MySQL用户注意:请使用InnoDB存储引擎,如果您使用“utf8mb4”字符集, 则 您 的 m y s q l 版 本 必 须 大 于 5.6 。 . \color{red}{则您的 mysql 版本必须大于5.6。.} 则您的mysql版本必须大于5.6。.

M y S Q L 用 户 注 意 : 请 使 用 I n n o D B 存 储 引 擎 , 如 果 您 使 用 “ u t f 8 m b 4 ” 字 符 集 , \color{red}{MySQL 用户注意:请使用InnoDB 存储引擎,如果您使用“utf8mb4”字符集,} MySQL用户注意:请使用InnoDB存储引擎,如果您使用“utf8mb4”字符集, 则 您 的 m y s q l 版 本 必 须 大 于 5.6 。 . \color{red}{则您的 mysql 版本必须大于5.6。.} 则您的mysql版本必须大于5.6。.
GiteaForBt 配置详解_gitea配置

2、不支持内网穿透(花生壳、frp等动态域名)

由 于 宝 塔 官 方 限 制 了 一 个 账 号 只 能 一 个 服 务 器 i p 使 用 , \color{red}{由于宝塔官方限制了一个账号只能一个服务器ip使用,} 由于宝塔官方限制了一个账号只能一个服务器ip使用,
所 以 服 务 器 更 换 i p 或 则 使 用 内 网 穿 透 会 导 致 之 前 购 买 的 记 录 全 部 失 效 。 \color{red}{所以服务器更换ip或则使用内网穿透会导致之前购买的记录全部失效。} 所以服务器更换ip或则使用内网穿透会导致之前购买的记录全部失效。
所 以 本 插 件 不 支 持 内 网 穿 透 服 务 器 使 用 , 请 悉 知 \color{red}{所以本插件不支持内网穿透服务器使用,请悉知} 所以本插件不支持内网穿透服务器使用,请悉知
所 以 本 插 件 不 支 持 内 网 穿 透 服 务 器 使 用 , 请 悉 知 \color{red}{所以本插件不支持内网穿透服务器使用,请悉知} 所以本插件不支持内网穿透服务器使用,请悉知
所 以 本 插 件 不 支 持 内 网 穿 透 服 务 器 使 用 , 请 悉 知 \color{red}{所以本插件不支持内网穿透服务器使用,请悉知} 所以本插件不支持内网穿透服务器使用,请悉知
如 果 您 的 服 务 器 i p 发 生 变 化 或 则 更 换 服 务 器 ( 或 服 务 器 公 网 i p ) , \color{red}{如果您的服务器ip发生变化或则更换服务器(或服务器公网ip),} 如果您的服务器ip发生变化或则更换服务器(或服务器公网ip), 请 在 宝 塔 官 方 论 坛 发 帖 让 官 方 辅 助 处 理 \color{red}{请在宝塔官方论坛发帖让官方辅助处理} 请在宝塔官方论坛发帖让官方辅助处理

基本配置(只针对重要配置作详细解释)

先看下图
GiteaForBt 配置详解_git_02

配置详解

【仓库目录】:仓库存放的目录(这里注意最好不要选择当前插件所在目录因为一旦误操作卸载了插件所有文件都将无法找回)
【服务器域名】:填写gitea对外域名(git克隆代码时使用的域名本域名不起监听作用)不带http://和https://
【服务器对外域名】:这个是服务器监听域名,要求和上面的服务器域名对上(要带上http://或者https://)
【HTTP监听地址】:如果使用反向代理这里填写localhost或者127.0.0.1,如果不使用反向代理这里可以填写你的【服务器对外域名】(不带http://和https://)
【HTTP监听端口】:默认3000端口,使用下文的反向代理则这里可以不填写或者填写3000即可,注意:如果服务器已经有网站运行(有安装appache或者nginx、OpenLiteSpeed等软件)请使用反向代理,有前面说的情况切勿使用80端口,否则会导致gitea无法启动。
【允许注册】:开启则允许陌生人注册,关闭则只允许管理员创建新用户。
【强制登录】:开启则只有登录了才能看到仓库信息。

下图是我的gitea服务器配置(供大家参考)

GiteaForBt 配置详解_linux_03

反向代理

如下反向代理信息需要修改的地方无非是 localhost 修改成127.0.0.1 其他不懂不要动

  #设置最大为提交 500M如果推送报错Request Entity Too Large则需要修改client_max_body_size
    client_max_body_size 500m;
    location  ~*
    {
        proxy_pass http://localhost:3000; #这里localhost不要改
        proxy_set_header        Host $host;
        proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr; # 设置请求源地址
            proxy_set_header X-Forwarded-Proto $scheme; # 设置Http协议
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
    }
    location /
    {
        proxy_pass http://localhost:3000; #这里localhost不要改
        proxy_set_header        Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr; # 设置请求源地址
        proxy_set_header X-Forwarded-Proto $scheme; # 设置Http协议
        add_header X-Cache $upstream_cache_status;

        #Set Nginx Cache

                add_header Cache-Control no-cache;
        expires 12h;
    }

配置步骤截图如下:

1)新建一个空站点域名绑定好
GiteaForBt 配置详解_宝塔插件_04
2)选择编辑
GiteaForBt 配置详解_linux_05
3)选择伪静态将上面代码复制进去即可(至于为什么选择伪静态自己去研究一下就知道这里不做过多解释)
GiteaForBt 配置详解_gitea配置_06

ssh配置

如果你使用的是默认22端口那无需任何配置即可使用(但是目前使用22号端口有个弊端,那就是可能会造成你的ssh远程登录被gitea接管的问题,目前这个问题本人已经在着手优化了,具体的解决方案是不使用root用户启动gitea即可,但是目前程序对root用户依赖程度还是比较高)

生成并部署SSH key (感谢QQ好友【九號】提供的解决方案)

  1. 创建ssh key

    在Git的安装目录下找到git-bash,运行输入

$ ssh-keygen -t rsa -C "youremail@example.com"

记得把邮箱改成自己的,然后再用户目录就应该可以找到.ssh的文件夹(主用户目录:C盘下用户的文件夹,然后打开你用户名的文件夹),里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

GiteaForBt 配置详解_giteaforbt配置_07

2、增加密钥

找到公钥文件,通过记事本的方式打开复制后回到网站,打开设置中的SSH/GPG 密钥,选择新增密钥

GiteaForBt 配置详解_giteaforbt配置_08

创建仓库

创建仓库,拥有者与仓库名称为必填项,随后点击创建仓库GiteaForBt 配置详解_宝塔插件_09

安装git

  1. git下载传送门,下载完成后一路next即可
  2. 安装成功后,打开Git Bash会弹出一个类似于命令的窗口,安装成功后在窗口输入
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

你的名字和邮箱

创建本地仓库

  1. 创建一个空文件夹然后输入
$ mkdir learngit
$ cd learngit
$ pwd

learnfit就是你之前在GitHub创建的仓库名

  1. 通过git init命令把这个目录变成Git可以管理的仓库
$ git init
  1. 这时候在空目录下创建一个readme.txt,内容随意,规范一下可以写成
Git is a version control system.
Git is free software.
  1. git add,把文件添加到仓库
$ git add readme.txt

5.git commit,将文件提交到仓库

$ git commit -m "wrote a readme file"

-m后面输入的是本次提交的说明,可以输入任意内容

$ git remote add origin git@github.com:username/xxx.git

username改成自己的用户名,git就是你刚刚创建的仓库名

$ git push -u origin master

这样就推送完成了,以后的上传分为git add,git commit,git push