Gitea 安装和配置

2024-03-09 12:12
文章标签 配置 安装 gitea

本文主要是介绍Gitea 安装和配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Gitea 安装和配置: http://coffeelatte.vip.cpolar.top/post/software/applications/gitea/gitea_安装和配置/

1.简介

Gitea 是一个类似于 GitHub 的功能强大的代码托管平台,使用 Go 语言开发,只需要一个可执行程序文件即可部署,非常简单易用,且功能丰富。具有版本管理、组织管理、Issues讨论、版本发布等功能。内置维基百科和 SSH 子系统。

2.Gitea 安装

下载 Gitea 后直接运行,浏览器输入127.0.0.1:3000 来进行初始配置(需要先安装好数据库软件)。

3.配置文件

Gitea 的配置文件为 <Gitea可执行程序路径>/custom/conf 目录下的 app.ini 文件。全部配置均可通过修改该文件来实现。修改完配置后,需要重启 Gitea 服务才能生效。

3.1. 发送测试邮件

以管理员账户登录 Gitea,点击右上角菜单进入“管理后台->应用配置”,下拉到“Mailer 配置->发送测试邮件”,输入接收邮箱地址后点击“发送”按钮即可发送测试邮件。

4.创建/删除 Gitea 服务

4.1.Windows 服务

使用 SC 命令创建 Gitea 服务,并自动运行:

sc create Gitea start= auto binPath= ""<绝对路径>\gitea.exe" web --config "<绝对路径>\custom\conf\app.ini""

创建完服务后进入 Windows Services 找到 Gitea 并且点击运行。

如不再需要,同样使用 SC 命令删除服务,删除服务前需先停止该服务。

sc delete Gitea

4.2.Linux 服务

systemd 服务的开启过程如下,首先创建 gitea.service 文件:

sudo vim /etc/systemd/system/gitea.service

并参照以下模板填充该文件:

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
#Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE[Install]
WantedBy=multi-user.target

使用如下命令使能并启动 gitea 服务:

sudo systemctl enable gitea
sudo systemctl start gitea

使用如下命令停止 gitea 服务:

sudo systemctl stop gitea

5.使用 HTTPS 服务

可以使用 Gitea 内嵌的 HTTPS 服务。内嵌 HTTPS 服务使用自认证证书,生成 10 年期限自认证证书命令如下:

gitea cert --host <HOST0,HOST1,...> --ca --duration 87600h

参数说明:

ArgumentDescription
–host <value>Comma seperated hostnames and ips which this certificate is valid for. Wildcards are supported. Required.
–duration <value>Duration which the certificate is valid for. Optional. (default: 8760h0m0s)
–caIf provided, this cert generates it’s own certificate authority. Optional.

编辑 app.ini 文件如下:

[server]
PROTOCOL=https
ROOT_URL = https://git.example.com:3000/
HTTP_PORT = 3000
CERT_FILE = <绝对路径>/custom/https/cert.pem
KEY_FILE = <绝对路径>/custom/https/key.pem

注意,上面 CERT_FILE 和 KEY_FILE 必须使用绝对路径,否则无法正常启动 Gitea 服务。之后重启 Gitea 服务。通过浏览器访问 HTTPS 版本的 Gitea 服务,需要添加浏览器例外才能正常访问。另外客户端使用 git clone 需要关闭 git 的 ssl 认证功能。命令如下:

git config --global http.sslVerify false

另外 Gitea 还可以使用 Let’s Encrypt 提供的证书,这是 CA 认证证书,有效期为 90 天。Let’s Encrypt 的使用方法见官方手册。

6.使用内置 SSH

Gitea 有内置 SSH 服务,支持 SSH 格式的 git clone,使能方式为修改 app.ini 文件中的下列内容:

[server]
SSH_DOMAIN       = 127.0.0.1
DISABLE_SSH      = false
START_SSH_SERVER = true
SSH_PORT         = 3022
SSH_LISTEN_PORT  = 3022

7.邮箱配置

Gitea 可以通过预先配置好的电子邮件发送服务器发送服务邮件如:通知、消息、注册确认等信息。邮件发送服务器为 smtp 服务器,需要同时提供服务器端口,用户名和密码。

; Mail server
; Gmail: smtp.gmail.com:587
; QQ: smtp.qq.com:465
; 163: smtp.163.com:465
; Note, if the port ends with "465", SMTPS will be used. Using STARTTLS on port 587 is recommended per RFC 6409. If the server supports STARTTLS it will always be used.
[mailer]
ENABLED = true
; PROTOCOL: empty: One of "smtp", "smtps", "smtp+starttls", "smtp+unix", "sendmail", "dummy".
PROTOCOL    = smtp
SMTP_ADDR   = smtp.sina.com
; SMTP_PORT: empty: Mail server port. If no protocol is specified, it will be inferred by this setting. Common ports are
;   * 25: insecure SMTP
;   * 465: SMTP Secure
;   * 587: StartTLS; Mail from address, RFC 5322. This can be just an email address, or the `"Name" <email@example.com>` format
FROM    = user_name@sina.com
; Mailer user name and password
USER    = user_name@sina.com
; Use PASSWD = `your password` for quoting if you use special characters in the password. 该字段也可用于指定“设备授权码”
PASSWD  = user_password

启用邮件系统后,可以开启邮件通知功能。该功能在有提醒需要发送时,Gitea 会通过以上配置的邮件系统向用户发送邮件通知,如有 Issue 分派给了某个用户,则该用户会收到邮件提醒。

[service]
; Mail notification
ENABLE_NOTIFY_MAIL                = true

8.允许通过邮箱进行外部注册

开启邮件系统后,可以开启邮件注册功能。用户可以自己注册账号,并收到注册确认邮件。通过点击注册确认邮件中的连接,激活新账号。

[service]
; Whether a new user needs to confirm their email when registering.
REGISTER_EMAIL_CONFIRM            = true
; Disallow registration, only allow admins to create accounts.
DISABLE_REGISTRATION              = false
; Allow registration only using third part services, it works only when DISABLE_REGISTRATION is false
ALLOW_ONLY_EXTERNAL_REGISTRATION  = false
; Enable captcha validation for registration
ENABLE_CAPTCHA                    = true

其中,校验码为可选功能,建议开启。

9.配置文件示例

APP_NAME = Gitea: Git with a cup of tea
RUN_USER = Administrator
RUN_MODE = prod[security]
INTERNAL_TOKEN = <TOKEN>
INSTALL_LOCK   = true
SECRET_KEY     = <KEY>[database]
DB_TYPE  = sqlite3
HOST     = 127.0.0.1:3306
NAME     = gitea
USER     = gitea
PASSWD   =
SSL_MODE = disable
PATH     = <绝对路径>/data/gitea.db[repository]
ROOT             = <绝对路径>/gitea-repositories
DISABLE_HTTP_GIT = true[repository.upload]
ENABLED          = true
FILE_MAX_SIZE    = 1024
MAX_FILES        = 1000[server]
PROTOCOL         = https
SSH_DOMAIN       = 127.0.0.1
DOMAIN           = 127.0.0.1
HTTP_PORT        = 3000
ROOT_URL         = %(PROTOCOL)s://127.0.0.1:3000/
CERT_FILE        = <绝对路径>/Path/cert.pem
KEY_FILE         = <绝对路径>/Path/key.pem
DISABLE_SSH      = false
START_SSH_SERVER = true
SSH_PORT         = 3022
SSH_LISTEN_PORT  = 3022
LFS_START_SERVER = true
LFS_CONTENT_PATH = <绝对路径>/Path/data/lfs
LFS_JWT_SECRET   = <SECRET>
OFFLINE_MODE     = false[mailer]
ENABLED = true
HOST    = smtp.sina.com:465
FROM    = user_name@sina.com
USER    = user_name@sina.com
PASSWD  = user_password[service]
REGISTER_EMAIL_CONFIRM            = true
ENABLE_NOTIFY_MAIL                = true
DISABLE_REGISTRATION              = false
ALLOW_ONLY_EXTERNAL_REGISTRATION  = false
ENABLE_CAPTCHA                    = true
REQUIRE_SIGNIN_VIEW               = true
DEFAULT_KEEP_EMAIL_PRIVATE        = false
DEFAULT_ALLOW_CREATE_ORGANIZATION = false
DEFAULT_ENABLE_TIMETRACKING       = true
NO_REPLY_ADDRESS                  = noreply.example.org[picture]
DISABLE_GRAVATAR        = true
ENABLE_FEDERATED_AVATAR = false[openid]
ENABLE_OPENID_SIGNIN = false
ENABLE_OPENID_SIGNUP = false[session]
PROVIDER = file[attachment]
ENABLED       = true
PATH          = <绝对路径>/Path/data/attachments
ALLOWED_TYPES = image/jpeg|image/png|application/zip|application/gzip
MAX_SIZE      = 4
MAX_FILES     = 5[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = <绝对路径>/Path/log[other]
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false

9. 外部参考资料

  1. 官方网站
  2. 下载连接

这篇关于Gitea 安装和配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/790643

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能