Bit0r

目录

数据库准备

创建数据库

使用UTF-8字符集和排序规则创建数据库。一定要使用utf8mb4字符集而不是utf8,因为前者是支持所有Unicode字符(包括表情符号)的基本多语平面

CREATE DATABASE gitea CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';

创建用户和授予权限

创建Gitea将使用的数据库用户,通过密码进行身份验证。同时将数据库的权限全部授予该用户

CREATE USER 'gitea'@'localhost' IDENTIFIED BY '$troNgP@$$w0rd';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost';

主机名和密码可以根据自己的实际需求进行更改

安装

下载

下载页面选择匹配的平台文件,并替换下面的URL命令

wget -O gitea https://dl.gitea.io/gitea/1.12.4/gitea-1.12.4-linux-amd64
sudo install gitea /usr/local/bin/

建议的服务器配置

准备环境

检查服务器上是否安装了Git。如果没有,请先安装。

git --version

创建git用户以运行Gitea

adduser \
   --system \
   --shell /bin/sh \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   git

创建所需的目录结构

mkdir -p /var/lib/gitea/{custom,data,log}/
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea/
chown root:git /etc/gitea/
chmod 770 /etc/gitea/

注意:注:为git用户临时设置了/etc/gitea写入权限,以便Web安装程序可以编写配置文件。安装完成后,建议使用以下方式将权限设置为只读:

chmod 750 /etc/gitea
chmod 640 /etc/gitea/app.ini

运行Gitea

配置文件

参考gitea.service,配置/etc/systemd/system/gitea.service

关于systemd的配置文件,可以参考Systemd入门教程

修改userhome目录以及其他必须的初始化参数,如果使用自定义端口,则需修改PORT参数,反之如果使用默认端口则需删除-p标记。

我的配置在此处

激活单元

激活gitea并将它作为系统自启动服务:

sudo systemctl enable gitea
sudo systemctl start gitea

首次启动

打开http://localhost:3000,点击注册配置Gitea服务器

数据库设置

  1. 字符集:utf8mb4

服务器和第三方服务设置

  1. 勾选启用验证码启用页面访问限制
  2. 隐藏邮箱地址:example@example.com

管理员帐号

首个注册用户将成为管理员。

命令

此处只会介绍主要命令,详情请看gitea官方文档

web

启动服务器:

选项

实例

注意

备份与恢复

Gitea目前有一个dump命令将数据保存到zip文件。此文件可以解包并用于恢复实例。

备份

切换用户运行Gitea:su git,运行gitea dump -c /etc/gitea/app.ini。 这个命令会在目录下输出一个名叫gitea-dump-<timestamp>.zip的文件,它有如下内容:

恢复

当前不支持恢复命令,所以需要手动将文件移动到正确的位置并恢复数据库转储。

例子

unzip gitea-dump-1482906742.zip
cd gitea-dump-1482906742

mv app.ini /etc/gitea/
unzip gitea-repo.zip
mv gitea-repo/* /home/git/gitea-repositories/
chown -R git:git /etc/gitea/ /home/git/gitea-repositories/

mysql --default-character-set=utf8mb4 -u$USER -p$PASS $DATABASE <gitea-db.sql
systemctl restart gitea