Update zh tw languages and fix some broken links (#455)

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: silverwind <2021+silverwind@noreply.gitea.com>
Reviewed-on: https://gitea.com/gitea/docs/pulls/455
Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com>
This commit is contained in:
Lunny Xiao
2026-07-09 23:41:46 +00:00
parent c0f8a04185
commit 965c269495
652 changed files with 30864 additions and 30792 deletions

View File

@@ -13,19 +13,19 @@ aliases:
## 獲取頁面
Gitea 源碼附帶了例頁面,位於 `contrib/legal` 目錄中。將它們複製到 `custom/public/assets/` 目錄下。例如,如果要添加隱私政策:
Gitea 源程式碼附帶了例頁面,位於 `contrib/legal` 目錄中。將它們複製到 `custom/public/assets/` 目錄下。例如,如果要添加隱私政策:
```
wget -O /path/to/custom/public/assets/privacy.html https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/legal/privacy.html.sample
```
現在,你需要編輯該頁面以滿足你的需求。特別是,你必須更改電子郵件地址、網址以及與 "Your Gitea Instance" 相關的引用,以匹配你的情況。
現在,你需要編輯該頁面以滿足你的需求。特別是,你必須更改電子電子郵件地址、網址以及與 "Your Gitea Instance" 相關的引用,以匹配你的情況。
請務必不要放置會暗示 Gitea 項目對你的服器負責的一般服務條款或隱私聲明。
請務必不要放置會暗示 Gitea 專案對你的服器負責的一般服務條款或隱私聲明。
## 使其可見
建或追加到 `/path/to/custom/templates/custom/extra_links_footer.tmpl` 文件中:
或追加到 `/path/to/custom/templates/custom/extra_links_footer.tmpl` 文件中:
```go
<a class="item" href="{{AppSubUrl}}/assets/privacy.html">隱私政策</a>

View File

@@ -8,206 +8,206 @@ aliases:
# 認證
## 轻量级目錄访问协议Lightweight Directory Access ProtocolLDAP
## 輕量級目錄訪問協議Lightweight Directory Access ProtocolLDAP
過 BindDN 的 LDAP 和單認證方式 LDAP 共享以下字段:
過 BindDN 的 LDAP 和單認證方式 LDAP 共享以下欄位:
- 認證名稱 **(必選)**
- 分配新授方法的名稱。
- 分配新授方法的名稱。
-**(必選)**
-**(必選)**
- LDAP 服的主地址.
- LDAP 服的主地址.
- 例如:`mydomain.com`
- 端口 **(必選)**
- 端口 **(必選)**
- LDAP 服的端口.
- LDAP 服的端口.
- 例如: LDAP `389`/ LDAPs `636`
- 安全协议 (可選)
- 安全協議 (可選)
- 接 LDAP 服务器时是否使用 TLS 协议
- 接 LDAP 伺服器時是否使用 TLS 協議
- 管理员過滤規則 (可選)
- 管理員過濾規則 (可選)
- LDAP 過器,用指定哪些使用者應該被予管理员特权。如果使用者帳戶符合過滤器条件,該使用者被授予管理员权限。
- 例:`(objectClass=adminAccount)`
- 适用于 Microsoft Active DirectoryAD例:`memberOf=CN=admin-group,OU=example,DC=example,DC=org`
- LDAP 過器,用指定哪些使用者應該被予管理員特權。如果使用者帳戶符合過濾器條件,該使用者被授予管理員權限。
- 例:`(objectClass=adminAccount)`
- 適用於 Microsoft Active DirectoryAD例:`memberOf=CN=admin-group,OU=example,DC=example,DC=org`
- 使用者名性(可選)
- 使用者名稱屬性(可選)
- 使用者 LDAP 记录中包含使用者名稱的属性。在第一次成功登入后,将使用指定的性值作為新的 Gitea 账户使用者名。若留空,使用登入表單上提供的使用者名。
- 提供的登入名与多个属性匹配时,这一選非常有用,但是有一特定性應該用 Gitea 账户名稱,請参阅"使用者過器"。
- 例:uid
- 适用于 Microsoft Active DirectoryAD例:`sAMAccountName`
- 使用者 LDAP 記錄中包含使用者名稱稱的屬性。在第一次成功登入後,將使用指定的性值作為新的 Gitea 帳號使用者名。若留空,使用登入表單上提供的使用者名
- 提供的登入名與多個屬性匹配時,這一選非常有用,但是有一特定性應該用 Gitea 帳號名稱,請參閱"使用者過器"。
- 例:uid
- 適用於 Microsoft Active DirectoryAD例:`sAMAccountName`
- 名字性(可選)
- 名字性(可選)
- 使用者 LDAP 记录中包含使用者名字的性。将用于填充他们的账户信息
- 例:givenName
- 使用者 LDAP 記錄中包含使用者名字的性。將用於填充他們的帳號資訊
- 例:givenName
- 姓氏性(可選)
- 姓氏性(可選)
- 使用者 LDAP 记录中包含使用者姓氏的性。将用于填充他们的账户信息
- 例:`sn`
- 使用者 LDAP 記錄中包含使用者姓氏的性。將用於填充他們的帳號資訊
- 例:`sn`
- 电子邮件属**(必選)**
- 使用者 LDAP 记录中包含使用者电子邮件地址的性。将用于填充他们的账户信息
- 例:`mail`
- 電子郵件屬**(必選)**
- 使用者 LDAP 記錄中包含使用者電子電子郵件地址的性。將用於填充他們的帳號資訊
- 例:`mail`
### LDAP(via BindDN)
需要额外设置以下字段:
需要額外設定以下欄位:
- 定 DN (可選)
- 定 DN (可選)
- 搜索使用者时绑定到 LDAP 服器的 DN。可以留空以執行匿名搜索。
- 例: `cn=Search,dc=mydomain,dc=com`
- 搜索使用者時綁定到 LDAP 服器的 DN。可以留空以執行匿名搜索。
- 例: `cn=Search,dc=mydomain,dc=com`
- 定密碼 (可選)
- 定密碼 (可選)
- 上述指定的 Bind DN绑定区别名)的密碼,如果有的。注意:該密碼在服器上使用 SECRET_KEY 進行加密儲。仍然建议确保 Bind DN 具有可能少的限。
- 上述指定的 Bind DN綁定區別名)的密碼,如果有的。注意:該密碼在服器上使用 SECRET_KEY 進行加密儲。仍然建議確保 Bind DN 具有可能少的限。
- 使用者搜索基 **(必選)**
- 使用者搜索基 **(必選)**
- 是用搜索使用者帳戶的 LDAP 基础路径.
- 例: `ou=Users,dc=mydomain,dc=com`
- 是用搜索使用者帳戶的 LDAP 基礎路徑.
- 例: `ou=Users,dc=mydomain,dc=com`
- 使用者過規則 **(必選)**
- LDAP 過滤器声明如何查找试图進行身份驗證的使用者记录
`%[1]s`匹配參數将替换為登入表單中出的登入名
- 例: `(&(objectClass=posixAccount)(|(uid=%[1]s)(mail=%[1]s)))`
- 例 for Microsoft Active Directory (AD): `(&(objectCategory=Person)(memberOf=CN=user-group,OU=example,DC=example,DC=org)(sAMAccountName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))`
- 如需多次替,應使用 `%[1]s`,例如在提供的登入名与多个属性(如使用者标识符、电子邮件甚至电话号码)進行匹配
- 例: `(&(objectClass=Person)(|(uid=%[1]s)(mail=%[1]s)(mobile=%[1]s)))`
- 用使用者同步
- 这个選项启用了一个周期性任,用于将 Gitea 使用者 LDAP 服器進行同步。默认的同步期是每 24 小
- 使用者過規則 **(必選)**
- LDAP 過濾器聲明如何查找試圖進行身份驗證的使用者記錄
`%[1]s`匹配參數將替換為登入表單中出的登入名
- 例: `(&(objectClass=posixAccount)(|(uid=%[1]s)(mail=%[1]s)))`
- 例 for Microsoft Active Directory (AD): `(&(objectCategory=Person)(memberOf=CN=user-group,OU=example,DC=example,DC=org)(sAMAccountName=%s)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))`
- 如需多次替,應使用 `%[1]s`,例如在提供的登入名與多個屬性(如使用者標識符、電子郵件甚至電話號碼)進行匹配
- 例: `(&(objectClass=Person)(|(uid=%[1]s)(mail=%[1]s)(mobile=%[1]s)))`
- 用使用者同步
- 這個選項啟用了一個週期性任,用於將 Gitea 使用者 LDAP 服器進行同步。預設的同步期是每 24 小
但您可以在 app.ini 文件中進行更改。
此部分的详细说明,請参阅[sample
此部分的詳細說明,請參閱[sample
app.ini](https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini)
的*cron.sync_external_users* 部分的注释。前面提到的*User Search Base*和*User Filter*
设置将限制哪些使用者可以使用 Gitea 以及哪些使用者被同步。
在初始行任务时,将根据给定的设置建立所有 LDAP 匹配的使用者,因此在使用大型企 LDAP 目錄需要小心。
的*cron.sync_external_users* 部分的註釋。前面提到的*User Search Base*和*User Filter*
設定將限制哪些使用者可以使用 Gitea 以及哪些使用者被同步。
在初始行任務時,將根據給定的設定建立所有 LDAP 匹配的使用者,因此在使用大型企 LDAP 目錄需要小心。
### LDAP(simple auth)
需要额外设置以下字段:
需要額外設定以下欄位:
- 使用者 DN **(必選)**
- 用作使用者 DN 的模板。匹配參數 `%s` 将替换為登入表單中的登入名。
- 例: `cn=%s,ou=Users,dc=mydomain,dc=com`
- 例: `uid=%s,ou=Users,dc=mydomain,dc=com`
- 用作使用者 DN 的模板。匹配參數 `%s` 將替換為登入表單中的登入名。
- 例: `cn=%s,ou=Users,dc=mydomain,dc=com`
- 例: `uid=%s,ou=Users,dc=mydomain,dc=com`
- 使用者搜索基 (可選)
- 使用者搜索基 (可選)
- 使用者搜索基准声明哪些使用者帳戶被搜索.
- 例: `ou=Users,dc=mydomain,dc=com`
- 使用者搜索基準聲明哪些使用者帳戶被搜索.
- 例: `ou=Users,dc=mydomain,dc=com`
- 使用者過規則 **(必選)**
- LDAP 過滤器声明何时允许使用者登入
`%[1]s`匹配參數将替换為登入表單中出的登入名。
- 例: `(&(objectClass=posixAccount)(|(cn=%[1]s)(mail=%[1]s)))`
- 例: `(&(objectClass=posixAccount)(|(uid=%[1]s)(mail=%[1]s)))`
- 使用者過規則 **(必選)**
- LDAP 過濾器聲明何時允許使用者登入
`%[1]s`匹配參數將替換為登入表單中出的登入名。
- 例: `(&(objectClass=posixAccount)(|(cn=%[1]s)(mail=%[1]s)))`
- 例: `(&(objectClass=posixAccount)(|(uid=%[1]s)(mail=%[1]s)))`
### 使用 LDAP 驗證分组成员
### 使用 LDAP 驗證分組成員
使用以下字段:
使用以下欄位:
-搜索基 DN(可選)
-搜索基 DN(可選)
- 使用的 LDAP DN。
- 例: `ou=group,dc=mydomain,dc=com`
- 使用的 LDAP DN。
- 例: `ou=group,dc=mydomain,dc=com`
- 名過器 (可選)
- 名過器 (可選)
- LDAP 過器,明如何在上述 DN 中查找有效
- 例: `(|(cn=gitea_users)(cn=admins))`
- LDAP 過器,明如何在上述 DN 中查找有效
- 例: `(|(cn=gitea_users)(cn=admins))`
- 中的使用者性 (可選)
- 中的使用者性 (可選)
- 中列出了哪使用者的 LDAP 性。
- 例: `uid`
- 中列出了哪使用者的 LDAP 性。
- 例: `uid`
- 使用者组属性 (可選)
-个组的 LDAP 性包含一个高于使用者性名稱的数组
- 例: `memberUid`
- 使用者組屬性 (可選)
-個組的 LDAP 性包含一個高於使用者性名稱的數組
- 例: `memberUid`
## 可插拔式認證模組(Pluggable Authentication Module,PAM)
这个過程用了 PAMPluggable Authentication Modules認證。使用者仍然可以過使用者管理手添加到系中。
PAM 提供了一機制,通過使用者進行 PAM 認證来自动将其添加到当前数据库中。為了普通的 Linux 密碼一起使用,
行 Gitea 的使用者還必須具有`/etc/shadow`读取权限,以便在使用公登入时检查账户的有效性。
這個過程用了 PAMPluggable Authentication Modules認證。使用者仍然可以過使用者管理手添加到系中。
PAM 提供了一機制,通過使用者進行 PAM 認證來自動將其添加到當前資料庫中。為了普通的 Linux 密碼一起使用,
行 Gitea 的使用者還必須具有`/etc/shadow`讀取權限,以便在使用公登入時檢查帳號的有效性。
**注意**:如果使用者已 SSH 公添加到 Gitea 中,使用些密可能会绕過登入查系。因此,
如果您希望禁用使用 PAM 進行身份驗證的使用者,應該在 Gitea 中手禁用該账户,使用置的使用者管理功能。
**注意**:如果使用者已 SSH 公添加到 Gitea 中,使用些密可能會繞過登入查系。因此,
如果您希望禁用使用 PAM 進行身份驗證的使用者,應該在 Gitea 中手禁用該帳號,使用置的使用者管理功能。
1. 配置和安裝准备.
-您建立一管理使用者.
-取消自动注册.
1. 一旦数据库已初始化完成,使用新建立的管理员账户登入.
1. 航至使用者设置(右上角的图标),然后選择
`Site Administration` -> `Authentication Sources`, 並選
1. 設定和安裝準備.
-您建立一管理使用者.
-取消自動註冊.
1. 一旦資料庫已初始化完成,使用新建立的管理員帳號登入.
1. 航至使用者設定(右上角的圖標),然後選擇
`Site Administration` -> `Authentication Sources`, 並選
`Add Authentication Source`.
1.写字段如下:
1.寫欄位如下:
- 認證類型:`PAM`
- 名稱:任何有效的值都可以,如果您意,可以使用"System Authentication"。
- PAM 服名稱:/etc/pam.d/目錄下選择适用于所需認證的正文件[^1]。
- PAM 电子邮件域:使用者認證要附加的电子邮件后缀。例如,如果登入系期望一名為 gituse 的使用者,
並且将此字段设置為 mail.com Gitea 在驗證一 GIT 例的使用者时将期望 user emai 字段為gituser@mail.com[^2]。
- 名稱:任何有效的值都可以,如果您意,可以使用"System Authentication"。
- PAM 服名稱:/etc/pam.d/目錄下選擇適用於所需認證的正文件[^1]。
- PAM 電子郵件域:使用者認證要附加的電子郵件後綴。例如,如果登入系期望一名為 gituse 的使用者,
並且將此欄位設定為 mail.com Gitea 在驗證一 GIT 例的使用者時將期望 user emai 欄位為gituser@mail.com[^2]。
**Note**: PAM 支通過[build-time flags](installation/from-source.md#build)添加,
而官方提供的二進制文件通常不会默认启用此功能。PAM 需要保系上有必要的 libpam 动态库,並且编译器可以访问必要的 PAM 开发头文件。
**Note**: PAM 支通過[build-time flags](installation/from-source.md)添加,
而官方提供的二進制文件通常不會預設啟用此功能。PAM 需要保系上有必要的 libpam 動態庫,並且編譯器可以訪問必要的 PAM 開發頭文件。
[^1]:
例如,在 Debian "Bullseye"上使用标准 Linux 登入,可以使用`common-session-noninteractive`这个值對於其他版本的 Debian
包括 Ubuntu 和 Mint可能也是有效的請查您所使用行版的文檔以确认
例如,在 Debian "Bullseye"上使用標準 Linux 登入,可以使用`common-session-noninteractive`這個值對於其他版本的 Debian
包括 Ubuntu 和 Mint可能也是有效的請查您所使用行版的文件以確認
[^2]: **PAM 的必選** 請注意:在上面的例中,使用者作為`gituser`而不是`gituser@mail.com`登入到 Gitea 的 Web 面。
[^2]: **PAM 的必選** 請注意:在上面的例中,使用者作為`gituser`而不是`gituser@mail.com`登入到 Gitea 的 Web 面。
## 简單邮件传输协议(Simple Mail Transfer Protocol,SMTP)
## 簡單郵件傳輸協議(Simple Mail Transfer Protocol,SMTP)
此選项允许 Gitea 以 Gitea 使用者身份登入 SMTP 主。請设置以下字段:
此選項允許 Gitea 以 Gitea 使用者身份登入 SMTP 主。請設定以下欄位:
- 身份驗證名稱 **(必選)**
- 分配新授方法的名稱
- 分配新授方法的名稱
- SMTP 驗證類型 **(必選)**
-于连接 SMTP 主的驗證類型plain 或 login
-於連接 SMTP 主的驗證類型plain 或 login
-**(必選)**
-**(必選)**
- SMTP 服的主地址
- SMTP 服的主地址
- 例如:`smtp.mydomain.com`
- 端口 **(必選)**
- 端口 **(必選)**
- SMTP 服的端口
- SMTP 服的端口
- 例如: `587`
-的域名
-的域名
- 如果使用公共 SMTP 主或有多域的 SMTP 主,限制哪些域可以登入
- 如果使用公共 SMTP 主或有多域的 SMTP 主,限制哪些域可以登入
限制哪些域可以登入。
- 例: `gitea.com,mydomain.com,mydomain2.com`
- 例: `gitea.com,mydomain.com,mydomain2.com`
- 制使用 SMTPS
- 默认情况下将使用 SMTPS 接到端口 465.如果您希望 smtp 用其他端口,自行设置
-,如果服器提供' STARTTLS '展名,则将使用此展名
- 制使用 SMTPS
- 預設情況下將使用 SMTPS 接到端口 465.如果您希望 smtp 用其他端口,自行設定
-,如果服器提供' STARTTLS '展名,則將使用此展名
- 跳過 TLS 驗證
- 禁用 TLS 驗證身份.
- 該認證源处于激活状态
- 用或禁用此身份驗證源
- 該認證源處於激活狀態
- 用或禁用此身份驗證源
## FreeIPA
- 要使用 FreeIPA 凭据登入 Gitea需要為 Gitea 建立一个绑定帳戶。
建立一个绑定帳戶:
- 在 FreeIPA 服器上建立一 gitea.ldif 文件,並`dc=example,dc=com`為您的`dn`,然提供一个适当安全的密碼。
- 要使用 FreeIPA 憑據登入 Gitea需要為 Gitea 建立一個綁定帳戶。
建立一個綁定帳戶:
- 在 FreeIPA 服器上建立一 gitea.ldif 文件,並`dc=example,dc=com`為您的`dn`,然提供一個適當安全的密碼。
```sh
dn: uid=gitea,cn=sysaccounts,cn=etc,dc=example,dc=com
@@ -220,76 +220,76 @@ PAM 提供了一种機制,通過对使用者進行 PAM 認證来自动将其
nsIdleTimeout: 0
```
- 入 LDIF 文件(如果需要,請 localhost 更改為 IPA 服器)。系统会提示您入 Directory Manager 的密碼。:
- 入 LDIF 文件(如果需要,請 localhost 更改為 IPA 服器)。系統會提示您入 Directory Manager 的密碼。:
```sh
ldapmodify -h localhost -p 389 -x -D \
"cn=Directory Manager" -W -f gitea.ldif
```
- 為`gitea_users`添加 IPA :
- 為`gitea_users`添加 IPA :
```sh
ipa group-add --desc="Gitea Users" gitea_users
```
- **提示**:對於 IPA 凭证错误,运行' kinit admin '並提供域管理帳戶密碼.
- 以管理身份登入 Gitea點擊 Admin Panel 下的`Authentication`。然單擊`Add New Source`並填写详细信息,更改所有适当的地方。
- **提示**:對於 IPA 憑證錯誤,運行' kinit admin '並提供域管理帳戶密碼.
- 以管理身份登入 Gitea點擊 Admin Panel 下的`Authentication`。然單擊`Add New Source`並填寫詳細資訊,更改所有適當的地方。
## SPNEGO with SSPI (Kerberos/NTLM, for Windows only)
Gitea 支通過 Windows 置的安全支提供程序接口Security Support Provider InterfaceSSPI現 SPNEGO 單登入認證(由 RFC4559 定的方案),用于服务器的 Web 部分。SSPI 僅在 Windows 境中工作,即当服务器和客端都在 Windows 操作系统上运行时
Gitea 支通過 Windows 置的安全支提供程式介面Security Support Provider InterfaceSSPI現 SPNEGO 單登入認證(由 RFC4559 定的方案),用於伺服器的 Web 部分。SSPI 僅在 Windows 境中工作,即當伺服器和客端都在 Windows 操作系統上運行時
在激活 SSPI 單登入認證SSO之前您需要准备您的境:
在激活 SSPI 單登入認證SSO之前您需要準備您的境:
- 在 Active Directory 中建立一个單独的使用者账户gitea.exe 進程在該账户下运行(例如,在 domain.local 域下建立一名為 user 的账户:
- 為行 gitea.exe 的主建立一个服务主體名稱Service Principal NameSPN类别為 HTTP:
- 在 Active Directory 中建立一個單獨的使用者帳號gitea.exe 進程在該帳號下運行(例如,在 domain.local 域下建立一名為 user 的帳號:
- 為行 gitea.exe 的主建立一個服務主體名稱Service Principal NameSPN類別為 HTTP:
- 以特域使用者(例如域管理)的身份启动“命令提示符”或“PowerShell”。
- 行下面的命令, host.domain.local 替為 Web 應用程序将运行的服务器的完全限定域名FQDN domain\user 替為在前一步中建立的账户名稱:
- 以特域使用者(例如域管理)的身份啟動“命令提示符”或“PowerShell”。
- 行下面的命令, host.domain.local 替為 Web 應用程式將運行的伺服器的完全限定域名FQDN domain\user 替為在前一步中建立的帳號名稱:
```sh
setspn -A HTTP/host.domain.local domain\user
```
在遵循上述步之前,請保您按照以下流程進行操作:
在遵循上述步之前,請保您按照以下流程進行操作:
1. 用之前建立的使用者登入(如果已登入,請先注销)。
2. 保在`custom/conf/app.ini`文件的`[server]`部分中,`ROOT_URL`设置為 Web 應用程序将运行的服务器的完全限定域名FQDN之前建立服主體名稱使用的一致(例如,`host.domain.local`)。
3. 启动 Web 服器(行 `gitea.exe web`)。
4. 在 `Site Administration -> Authentication Sources` 中添加一 `SPNEGO with SSPI` 認證源,以用 SSPI 認證。
5. 在域中的客户端计算机上,使用任何域使用者登入(与运行`gitea.exe`的服器不同)。
6. 如果您使用 Chrome 或 Edge 浏览器,請 Web 應用程的 URL 添加到“本地站”(`Internet選 -> 安全 -> 本地站 -> 站`)。
7. 启动 Chrome 或 Edge 浏览器,航到 Gitea 的 FQDN URL例如`http://host.domain.local:3000`)。
8. 在控制面板中點擊“Sign In”按,然后選择 SSPI将会自动使用前登入到计算机的使用者進行登入。
9. 如果無法正常工作,請保:
- 您不是在行`gitea.exe`的同一台服务器上行 Web 浏览器。應該在与服务器不同的域加入计算机(客端)上行 Web 浏览器。如果客端和服器都在同一台计算机上运行, NTLM 将优先于 Kerberos。
- 主上只有一`HTTP/...`的 SPN。
- SPN 中只包含主名,不包含端口
- Web 應用程的 URL 添加到"本地站"。
- 服器和客端的时钟差异不超過 5 分(取决于组策略)。
- 在 Internet Explorer 中用了"集成 Windows 身份驗證"(在"高级设置"下)。
1. 用之前建立的使用者登入(如果已登入,請先註銷)。
2. 保在`custom/conf/app.ini`文件的`[server]`部分中,`ROOT_URL`設定為 Web 應用程式將運行的伺服器的完全限定域名FQDN之前建立服主體名稱使用的一致(例如,`host.domain.local`)。
3. 啟動 Web 服器(行 `gitea.exe web`)。
4. 在 `Site Administration -> Authentication Sources` 中添加一 `SPNEGO with SSPI` 認證源,以用 SSPI 認證。
5. 在域中的客戶端計算機上,使用任何域使用者登入(與運行`gitea.exe`的服器不同)。
6. 如果您使用 Chrome 或 Edge 瀏覽器,請 Web 應用程的 URL 添加到“本地站”(`Internet選 -> 安全 -> 本地站 -> 站`)。
7. 啟動 Chrome 或 Edge 瀏覽器,航到 Gitea 的 FQDN URL例如`http://host.domain.local:3000`)。
8. 在控制面板中點擊“Sign In”按,然後選擇 SSPI將會自動使用前登入到計算機的使用者進行登入。
9. 如果無法正常工作,請保:
- 您不是在行`gitea.exe`的同一臺伺服器上行 Web 瀏覽器。應該在與伺服器不同的域加入計算機(客端)上行 Web 瀏覽器。如果客端和服器都在同一臺計算機上運行, NTLM 將優先於 Kerberos。
- 主上只有一`HTTP/...`的 SPN。
- SPN 中只包含主名,不包含端口
- Web 應用程的 URL 添加到"本地站"。
- 服器和客端的時鐘差異不超過 5 分(取決於組策略)。
- 在 Internet Explorer 中用了"整合 Windows 身份驗證"(在"高級設定"下)。
遵循些步,您應該能成功用和使用 SSPI 單登入認證SSO
遵循些步,您應該能成功用和使用 SSPI 單登入認證SSO
## 反向代理認證
Gitea 支通過取反向代理传递的 HTTP 中的登入名或者 email 地址来支持反向代理認證。默认是不用的,你可以用以下配置启用。
Gitea 支通過取反向代理傳遞的 HTTP 中的登入名或者 email 地址來支援反向代理認證。預設是不用的,你可以用以下設定啟用。
```ini
[service]
ENABLE_REVERSE_PROXY_AUTHENTICATION = true
```
默认的登入使用者名的 HTTP 是 `X-WEBAUTH-USER`,你可以過修改 `REVERSE_PROXY_AUTHENTICATION_USER` 来变更它。如果使用者不存在,可以自建立使用者,然你需要修改 `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION=true` 来启用它。
預設的登入使用者名的 HTTP 是 `X-WEBAUTH-USER`,你可以過修改 `REVERSE_PROXY_AUTHENTICATION_USER` 來變更它。如果使用者不存在,可以自建立使用者,然你需要修改 `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION=true` 來啟用它。
默认的登入使用者 Email 的 HTTP 是 `X-WEBAUTH-EMAIL`,你可以過修改 `REVERSE_PROXY_AUTHENTICATION_EMAIL` 来变更它。如果使用者不存在,可以自建立使用者,然你需要修改 `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION=true` 来启用它。你也可以過修改 `ENABLE_REVERSE_PROXY_EMAIL` 来启用或停用这个 HTTP
預設的登入使用者 Email 的 HTTP 是 `X-WEBAUTH-EMAIL`,你可以過修改 `REVERSE_PROXY_AUTHENTICATION_EMAIL` 來變更它。如果使用者不存在,可以自建立使用者,然你需要修改 `ENABLE_REVERSE_PROXY_AUTO_REGISTRATION=true` 來啟用它。你也可以過修改 `ENABLE_REVERSE_PROXY_EMAIL` 來啟用或停用這個 HTTP
如果设置了 `ENABLE_REVERSE_PROXY_FULL_NAME=true`使用者的全名会从 `X-WEBAUTH-FULLNAME` 取,这样在自建立使用者时将使用这个字段作為使用者全名,你也可以過修改 `REVERSE_PROXY_AUTHENTICATION_FULL_NAME` 来变更 HTTP
如果設定了 `ENABLE_REVERSE_PROXY_FULL_NAME=true`使用者的全名會從 `X-WEBAUTH-FULLNAME` 取,這樣在自建立使用者時將使用這個欄位作為使用者全名,你也可以過修改 `REVERSE_PROXY_AUTHENTICATION_FULL_NAME` 來變更 HTTP
你也可以過修改 `REVERSE_PROXY_TRUSTED_PROXIES` 来设置反向代理的 IP 地址范围,加安全性,默认值是 `127.0.0.0/8,::1/128`。 通過 `REVERSE_PROXY_LIMIT` 可以设置最多信任几级反向代理。
你也可以過修改 `REVERSE_PROXY_TRUSTED_PROXIES` 來設定反向代理的 IP 地址範圍,加安全性,預設值是 `127.0.0.0/8,::1/128`。 通過 `REVERSE_PROXY_LIMIT` 可以設定最多信任幾級反向代理。
你可以過以下配置為 API 用此認證方法:
你可以過以下設定為 API 用此認證方法:
```ini
[service]
@@ -297,5 +297,5 @@ ENABLE_REVERSE_PROXY_AUTHENTICATION_API = true
```
:::note
此方法用 API ,反向代理负责处理 CSRF 保
此方法用 API ,反向代理負責處理 CSRF 保
:::

View File

@@ -7,19 +7,19 @@ aliases:
- /zh-tw/backup-and-restore
---
# 备份与恢复
# 備份與恢復
Gitea 已经实現了 `dump` 命令可以用来备份所有需要的文件到一 zip 压缩文件。該压缩文件可以被用進行数据恢复
Gitea 已經實現了 `dump` 命令可以用來備份所有需要的文件到一 zip 壓縮文件。該壓縮文件可以被用進行資料恢復
## 份一致性
## 份一致性
為了保 Gitea 例的一致性,在份期必須关闭它。
為了保 Gitea 例的一致性,在份期必須關閉它。
Gitea 包括数据库、文件和 Git 存放庫,它被使用所有些都会发生变化。例如,当迁移正在進行,在数据库中建立一个事务,而 Git 存放庫正在被制。如果备份发生在移的中Git 存放庫可能是不完整的,尽管数据库声稱它是完整的,因為它是在之后被转儲的。避免这种竞争条件的唯一方法是在份期停止 Gitea 例。
Gitea 包括資料庫、文件和 Git 存放庫,它被使用所有些都會發生變化。例如,當遷移正在進行,在資料庫中建立一個事務,而 Git 存放庫正在被制。如果備份發生在移的中Git 存放庫可能是不完整的,儘管資料庫聲稱它是完整的,因為它是在之後被轉儲的。避免這種競爭條件的唯一方法是在份期停止 Gitea 例。
## 份命令 (`dump`)
## 份命令 (`dump`)
到 git 使用者的限: `su git`. 再 Gitea 目錄`./gitea dump`。一般会显示类似如下的出:
到 git 使用者的限: `su git`. 再 Gitea 目錄`./gitea dump`。一般會顯示類似如下的出:
```
2016/12/27 22:32:09 Creating tmp work dir: /tmp/gitea-dump-417443001
@@ -30,20 +30,20 @@ Gitea 包括数据库、文件和 Git 存放庫,当它被使用时所有这些
2016/12/27 22:32:34 Finish dumping in file gitea-dump-1482906742.zip
```
生成的 `gitea-dump-1482906742.zip` 文件将会包含如下容:
生成的 `gitea-dump-1482906742.zip` 文件將會包含如下容:
- `app.ini` - 如果原先存儲在默认的 custom/ 目錄之外,则是配置文件的可選副本
- `custom/` - 所有保存在 `custom/` 目錄下的配置和自定义的文件。
- `data/` - 数据目錄APP_DATA_PATH如果使用文件会话,则不包括会话。該目錄包括 `attachments``avatars``lfs``indexers`、如果使用 SQLite 包括 SQLite 文件。
- `app.ini` - 如果原先儲存在預設的 custom/ 目錄之外,則是設定文件的可選副本
- `custom/` - 所有保存在 `custom/` 目錄下的設定和自訂的文件。
- `data/` - 資料目錄APP_DATA_PATH如果使用文件會話,則不包括會話。該目錄包括 `attachments``avatars``lfs``indexers`、如果使用 SQLite 包括 SQLite 文件。
- `repos/` - 存放庫目錄的完整副本。
- `gitea-db.sql` - 数据库 dump 出的 SQL。
- `log/` - Logs 文件,如果用作移不是必須的。
- `gitea-db.sql` - 資料庫 dump 出的 SQL。
- `log/` - Logs 文件,如果用作移不是必須的。
间备份文件将会在临时目錄進行建立,如果您要重新指定临时目錄,可以用 `--tempdir` 參數,或者用 `TMPDIR` 环境变量。
間備份文件將會在臨時目錄進行建立,如果您要重新指定臨時目錄,可以用 `--tempdir` 參數,或者用 `TMPDIR` 環境變量。
## 备份数据库
## 備份資料庫
`gitea dump` 建立的 SQL 儲使用 XORMGitea 管理可能更喜使用本地的 MySQL 和 PostgreSQL 儲工具。使用 XORM 转儲数据库时仍然存在一些问题,可能会导致在尝试恢复时出現问题
`gitea dump` 建立的 SQL 儲使用 XORMGitea 管理可能更喜使用本地的 MySQL 和 PostgreSQL 儲工具。使用 XORM 轉儲資料庫時仍然存在一些問題,可能會導致在嘗試恢復時出現問題
```sh
# mysql
@@ -54,23 +54,23 @@ pg_dump -U $USER $DATABASE > gitea-db.sql
### 使用 Docker `dump`
在使用 Docker ,使用 `dump` 命令有一些注意事
在使用 Docker ,使用 `dump` 命令有一些注意事
必須以 `gitea/conf/app.ini` 中指定的 `RUN_USER = <OS_USERNAME>` 執行該命令;並且,為了让备份文件夹的压缩過程能够顺利執行,`docker exec` 命令必須在 `--tempdir` 部執行。
必須以 `gitea/conf/app.ini` 中指定的 `RUN_USER = <OS_USERNAME>` 執行該命令;並且,為了讓備份文件夾的壓縮過程能夠順利執行,`docker exec` 命令必須在 `--tempdir` 部執行。
例:
例:
```none
docker exec -u <OS_USERNAME> -it -w <--tempdir> $(docker ps -qf 'name=^<NAME_OF_DOCKER_CONTAINER>$') bash -c '/usr/local/bin/gitea dump -c </path/to/app.ini>'
```
\*注意:`--tempdir` 指的是 Gitea 使用的 Docker 境的临时目錄;如果您有指定自定义`--tempdir`,那 Gitea 使用 `/tmp` 或 Docker 容器的 `TMPDIR` 环境变量。對於 `--tempdir`,請相應整您的 `docker exec` 命令選
\*注意:`--tempdir` 指的是 Gitea 使用的 Docker 境的臨時目錄;如果您有指定自`--tempdir`,那 Gitea 使用 `/tmp` 或 Docker 容器的 `TMPDIR` 環境變量。對於 `--tempdir`,請相應調整您的 `docker exec` 命令選
果應該是一文件,儲在指定的 `--tempdir` 中,类似于`gitea-dump-1482906742.zip`
果應該是一文件,儲在指定的 `--tempdir` 中,類似於`gitea-dump-1482906742.zip`
## 恢命令 (`restore`)
## 恢命令 (`restore`)
前還有恢命令,恢需要人工進行。主要是把文件和数据库進行恢
前還有恢命令,恢需要人工進行。主要是把文件和資料庫進行恢
例如:
@@ -93,54 +93,54 @@ psql -U $USER -d $DATABASE < gitea-db.sql
service gitea restart
```
如果安裝方式生了化(例如 二進制 -> Docker或者 Gitea 安裝到了之前安裝不同的目錄,需要重新生成存放庫 Git 子。
如果安裝方式生了化(例如 二進制 -> Docker或者 Gitea 安裝到了之前安裝不同的目錄,需要重新生成存放庫 Git 子。
在 Gitea 运行时,並 Gitea 二進制文件所在的目錄執行:`./gitea admin regenerate hooks`
在 Gitea 運行時,並 Gitea 二進制文件所在的目錄執行:`./gitea admin regenerate hooks`
这样可以保存放庫 Git 子中的應用程序和配置文件路径与当前安裝一致。如果些路径没有更新,存放庫的 `push` 操作将失败
這樣可以保存放庫 Git 子中的應用程式和設定文件路徑與當前安裝一致。如果些路徑沒有更新,存放庫的 `push` 操作將失敗
### 使用 Docker (`restore`)
在基 Docker 的 Gitea 例中,也有恢命令的支。恢過程前面描述的步相同,但路不同。
在基 Docker 的 Gitea 例中,也有恢命令的支。恢過程前面描述的步相同,但路不同。
例:
例:
```sh
# 在容器中打 bash 会话
# 在容器中打 bash 會話
docker exec --user git -it 2a83b293548e bash
# 在容器内解压您的份文件
# 在容器內解壓您的份文件
unzip gitea-dump-1610949662.zip
cd gitea-dump-1610949662
# 恢 Gitea 数据
# 恢 Gitea 數據
mv data/* /data/gitea
# 恢存放庫本身
# 恢存放庫本身
mv repos/* /data/git/gitea-repositories/
# 整文件
# 調整文件
chown -R git:git /data
# 重新生成 Git
# 重新生成 Git
/usr/local/bin/gitea -c '/data/gitea/conf/app.ini' admin regenerate hooks
```
Gitea 容器中的默认使用者是 `git`1000:1000。請用您的 Gitea 容器 ID 或名稱替 `2a83b293548e`
Gitea 容器中的預設使用者是 `git`1000:1000。請用您的 Gitea 容器 ID 或名稱替 `2a83b293548e`
### 使用 Docker-rootless (`restore`)
在 Docker-rootless 容器中的恢工作流程只是要使用的目錄不同:
在 Docker-rootless 容器中的恢工作流程只是要使用的目錄不同:
```sh
# 在容器中打 bash 会话
# 在容器中打 bash 會話
docker exec --user git -it 2a83b293548e bash
# 在容器内解压您的份文件
# 在容器內解壓您的份文件
unzip gitea-dump-1610949662.zip
cd gitea-dump-1610949662
# 恢 app.ini
# 恢 app.ini
mv data/conf/app.ini /etc/gitea/app.ini
# 恢 Gitea 数据
# 恢 Gitea 數據
mv data/* /var/lib/gitea
# 恢存放庫本身
# 恢存放庫本身
mv repos/* /var/lib/gitea/git/gitea-repositories
# 整文件
# 調整文件
chown -R git:git /etc/gitea/app.ini /var/lib/gitea
# 重新生成 Git
# 重新生成 Git
/usr/local/bin/gitea -c '/etc/gitea/app.ini' admin regenerate hooks
```

View File

@@ -7,37 +7,37 @@ aliases:
- /zh-tw/cmd-embedded
---
# 嵌入源提取工具
# 嵌入源提取工具
Gitea 的可執行文件包含了行所需的所有源:模板、片、式表和翻文件。你可以過在 `custom` 目錄下的相應路中放置替文件来覆盖其中的任何源(详见 [定义 Gitea 配置](../administration/customizing-gitea.md))。
Gitea 的可執行文件包含了行所需的所有源:模板、片、式表和翻文件。你可以過在 `custom` 目錄下的相應路中放置替文件來覆蓋其中的任何源(詳見 [ Gitea 設定](../administration/customizing-gitea.md))。
取嵌入源的副本以進行编辑,可以使用 CLI 中的 `embedded` 命令,通過操作系的 shell 執行。
取嵌入源的副本以進行編輯,可以使用 CLI 中的 `embedded` 命令,通過操作系的 shell 執行。
**注意:** 嵌入源提取工具包含在 Gitea 1.12 及以上版本中。
**注意:** 嵌入源提取工具包含在 Gitea 1.12 及以上版本中。
## 源列表
## 源列表
要列出嵌入在 Gitea 可執行文件中的源,請使用以下法:
要列出嵌入在 Gitea 可執行文件中的源,請使用以下法:
```sh
gitea embedded list [--include-vendored] [patterns...]
```
`--include-vendored` 标志使命令包括被供應的文件,些文件通常被排除在外;即自外部的文件,些文件是 Gitea 所需的(例如 [octicons](https://octicons.github.com/) 等)。
`--include-vendored` 標誌使命令包括被供應的文件,些文件通常被排除在外;即自外部的文件,些文件是 Gitea 所需的(例如 [octicons](https://octicons.github.com/) 等)。
可以提供一系列文件搜索模式。Gitea 使用 [gobwas/glob](https://github.com/gobwas/glob) 作為其 glob 法。以下是一些例:
可以提供一系列文件搜索模式。Gitea 使用 [gobwas/glob](https://github.com/gobwas/glob) 作為其 glob 法。以下是一些例:
- 列出所有模板文件,無在哪个虚拟目錄下:`**.tmpl`
- 列出所有件模板文件:`templates/mail/**.tmpl`
- 列出所有模板文件,無在哪個虛擬目錄下:`**.tmpl`
- 列出所有件模板文件:`templates/mail/**.tmpl`
列出 `public/assets/img` 目錄下的所有文件:`public/assets/img/**`
不要忘為模式使用引,因為空格、`*` 和其他字符可能命令行解器有特殊含
不要忘為模式使用引,因為空格、`*` 和其他字符可能命令行解器有特殊含
如果未提供模式,列出所有文件。
如果未提供模式,列出所有文件。
### 例:列出所有嵌入文件
### 例:列出所有嵌入文件
列出所有路中包含 `openid` 的嵌入文件:
列出所有路中包含 `openid` 的嵌入文件:
```sh
$ gitea embedded list '**openid**'
@@ -51,33 +51,33 @@ templates/user/auth/signup_openid_register.tmpl
templates/user/settings/security_openid.tmpl
```
## 提取
## 提取
要提取嵌入在 Gitea 可執行文件中的源,請使用以下法:
要提取嵌入在 Gitea 可執行文件中的源,請使用以下法:
```sh
gitea [--config {file}] embedded extract [--destination {dir}|--custom] [--overwrite|--rename] [--include-vendored] {patterns...}
```
`--config`项用于告知 Gitea `app.ini` 配置文件的位置(如果不在默认位置)。此選僅在使用 `--custom` 标志时使用。
`--config`項用於告知 Gitea `app.ini` 設定文件的位置(如果不在預設位置)。此選僅在使用 `--custom` 標誌時使用。
`--destination`项用于指定提取文件的目目錄。默认為当前目錄。
`--destination`項用於指定提取文件的目目錄。預設為當前目錄。
`--custom` 标志告知 Gitea 直接文件提取到 `custom` 目錄中。為使其正常工作,該命令需要知道 `app.ini` 配置文件的位置(通過 `--config` 指定),並且根据配置的不同,需要 Gitea 通常启动的目錄行。有关详细信息,請参阅 [定义 Gitea 配置](../administration/customizing-gitea.md)。
`--custom` 標誌告知 Gitea 直接文件提取到 `custom` 目錄中。為使其正常工作,該命令需要知道 `app.ini` 設定文件的位置(通過 `--config` 指定),並且根據設定的不同,需要 Gitea 通常啟動的目錄行。有關詳細資訊,請參閱 [ Gitea 設定](../administration/customizing-gitea.md)。
`--overwrite` 标志允许覆盖目标目錄中的任何現有文件。
`--overwrite` 標誌允許覆蓋目標目錄中的任何現有文件。
`--rename` 标志告知 Gitea 将目标目錄中的任何現有文件重命名為 `filename.bak`。之前的 `.bak` 文件被覆
`--rename` 標誌告知 Gitea 將目標目錄中的任何現有文件重命名為 `filename.bak`。之前的 `.bak` 文件被覆
至少需要提供一文件搜索模式;有模式的法和例,請参阅上述 `list` 子命令。
至少需要提供一文件搜索模式;有模式的法和例,請參閱上述 `list` 子命令。
### 重要提示
保**只提取需要自定义的文件**。位 `custom` 目錄中的文件不受到 Gitea 的升過程的影響。 Gitea 升到新版本(通過替可執行文件)时,许多嵌入文件将发生变化。Gitea 尊重並使用在 `custom` 目錄中找到的任何文件,即使些文件是的和不容的。
保**只提取需要自的文件**。位 `custom` 目錄中的文件不受到 Gitea 的升過程的影響。 Gitea 升到新版本(通過替可執行文件)時,許多嵌入文件將發生變化。Gitea 尊重並使用在 `custom` 目錄中找到的任何文件,即使些文件是的和不容的。
### 例:提取件模板
### 例:提取件模板
将邮件模板提取到临时目錄:
將郵件模板提取到臨時目錄:
```sh
$ mkdir tempdir

View File

@@ -11,523 +11,523 @@ aliases:
## 用法
`gitea [全局選项] 命令 [命令或全局選项] [參數...]`
`gitea [全域選項] 命令 [命令或全域選項] [參數...]`
## 全局選项
## 全域選項
所有全局選项均可被放置在命令级别
所有全域選項均可被放置在命令級別
- `--help``-h`显示帮助文本並退出。可選。
- `--version``-v`示版本信息並退出。可選。 (例:`Gitea version 1.1.0+218-g7b907ed built with: bindata, sqlite`)。
- `--custom-path path``-C path`Gitea 自定义文件的路。可選。 (默认值:`AppWorkPath`/custom 或 `$GITEA_CUSTOM`)。
- `--config path``-c path`Gitea 配置文件的路。可選。 (默认值:`custom`/conf/app.ini)。
- `--work-path path``-w path`Gitea 的 `AppWorkPath`。可選。 (默认LOCATION_OF_GITEA_BINARY 或 `$GITEA_WORK_DIR`)
- `--help``-h`顯示幫助文本並退出。可選。
- `--version``-v`示版本資訊並退出。可選。 (例:`Gitea version 1.1.0+218-g7b907ed built with: bindata, sqlite`)。
- `--custom-path path``-C path`Gitea 自文件的路。可選。 (預設值:`AppWorkPath`/custom 或 `$GITEA_CUSTOM`)。
- `--config path``-c path`Gitea 設定文件的路。可選。 (預設值:`custom`/conf/app.ini)。
- `--work-path path``-w path`Gitea 的 `AppWorkPath`。可選。 (預設LOCATION_OF_GITEA_BINARY 或 `$GITEA_WORK_DIR`)
注意:默认的 custom-path、config 和 work-path 也可以在构建时更改(如果需要)。
注意:預設的 custom-path、config 和 work-path 也可以在構建時更改(如果需要)。
## 命令
### web
启动服务器:
啟動伺服器:
-
- `--port number``-p number`:端口。可選。 (默认3000)。覆盖配置文件中的设置
- `--install-port number`行安裝面的端口。可選。 (默认3000)。覆盖配置文件中的设置
- `--pid path``-P path`Pid 文件的路。可選。
- `--quiet``-q`:只在控制台上输出 Fatal 日,用于在设置日志之前出的日
- `--verbose`:在控制台上输出跟踪日志,用于在设置日志之前出的日
- 例:
-
- `--port number``-p number`:端口。可選。 (預設3000)。覆蓋設定文件中的設定
- `--install-port number`行安裝面的端口。可選。 (預設3000)。覆蓋設定文件中的設定
- `--pid path``-P path`Pid 文件的路。可選。
- `--quiet``-q`:只在控制檯上輸出 Fatal 日,用於在設定日誌之前出的日
- `--verbose`:在控制檯上輸出跟蹤日誌,用於在設定日誌之前出的日
- 例:
- `gitea web`
- `gitea web --port 80`
- `gitea web --config /etc/gitea.ini --pid /some/custom/gitea.pid`
- 注意:
- Gitea 不應以 root 使用者身份行。要定到低 1024 的端口,您可以在 Linux 上使用 setcap 命令:`sudo setcap 'cap_net_bind_service=+ep' /path/to/gitea`。每次更新 Gitea 都需要重新執行此操作。
- Gitea 不應以 root 使用者身份行。要定到低 1024 的端口,您可以在 Linux 上使用 setcap 命令:`sudo setcap 'cap_net_bind_service=+ep' /path/to/gitea`。每次更新 Gitea 都需要重新執行此操作。
### admin
管理操作:
管理操作:
- 命令:
- `user`
- `list`
-
- `--admin`:僅列出管理使用者。可選。
-
- `--admin`:僅列出管理使用者。可選。
- 描述:列出所有現有使用者。
- 例:
- 例:
- `gitea admin user list`
- `delete`
-
- `--email`:要除的使用者的电子邮件。
- `--username`:要除的使用者的使用者名。
- `--id`:要除的使用者的 ID。
- 必須提供 `--id``--username``--email` 中的一。如果提供多个,则所有件必須匹配。
- 例:
-
- `--email`:要除的使用者的電子郵件。
- `--username`:要除的使用者的使用者名
- `--id`:要除的使用者的 ID。
- 必須提供 `--id``--username``--email` 中的一。如果提供多個,則所有件必須匹配。
- 例:
- `gitea admin user delete --id 1`
- `create`
-
- `--name value`:使用者名。必填。自 Gitea 1.9.0 版本起,請改用 `--username` 标志
- `--username value`使用者名。必填。Gitea 1.9.0 新增。
-
- `--name value`:使用者名。必填。自 Gitea 1.9.0 版本起,請改用 `--username` 標誌
- `--username value`:使用者名。必填。Gitea 1.9.0 新增。
- `--password value`:密碼。必填。
- `--email value`箱。必填。
- `--admin`:如果提供此選项,将建立一管理使用者。可選。
- `--access-token`:如果提供,為使用者建立访问令牌。可選。(默认false
- `--must-change-password`:如果提供,建立的使用者在初始登入需要選择一个新密碼。可選。(默认true
- `--random-password`:如果提供,使用随机生成的密碼作為建立使用者的密碼。`--password` 的值被忽略。可選。
- `--random-password-length`:如果提供,将用于配置随机生成密碼的度。可選。(默认12
- 例:
- `--email value`箱。必填。
- `--admin`:如果提供此選項,將建立一管理使用者。可選。
- `--access-token`:如果提供,為使用者建立存取權杖。可選。(預設false
- `--must-change-password`:如果提供,建立的使用者在初始登入需要選擇一個新密碼。可選。(預設true
- `--random-password`:如果提供,使用隨機生成的密碼作為建立使用者的密碼。`--password` 的值被忽略。可選。
- `--random-password-length`:如果提供,將用於設定隨機生成密碼的度。可選。(預設12
- 例:
- `gitea admin user create --username myname --password asecurepassword --email me@example.com`
- `change-password`
-
- `--username value``-u value`:使用者名。必填。
-
- `--username value``-u value`:使用者名。必填。
- `--password value``-p value`:新密碼。必填。
- 例:
- 例:
- `gitea admin user change-password --username myname --password asecurepassword`
- `must-change-password`
- 參數:
- `[username...]`:需要更改密碼的使用者
-
- `--all``-A`制所有使用者更改密碼
- `--exclude username``-e username`:排除定的使用者。可以多次设置
- `--unset`:撤销对给定使用者的制密碼更改
-
- `--all``-A`制所有使用者更改密碼
- `--exclude username``-e username`:排除定的使用者。可以多次設定
- `--unset`:撤銷對給定使用者的制密碼更改
- `regenerate`
-
-
- `hooks`:重新生成所有存放庫的 Git Hooks。
- `keys`:重新生成 authorized_keys 文件。
- 例:
- 例:
- `gitea admin regenerate hooks`
- `gitea admin regenerate keys`
- `auth`
- `list`
- 描述:列出所有存在的外部認證源。
- 例:
- 例:
- `gitea admin auth list`
- `delete`
-
- `--id`:要除的源的 ID。必填。
- 例:
-
- `--id`:要除的源的 ID。必填。
- 例:
- `gitea admin auth delete --id 1`
- `add-oauth`
-
- `--name`:應用程名稱。
-
- `--name`:應用程名稱。
- `--provider`OAuth2 提供者。
- `--key`:客端 IDKey
- `--secret`:客端密
- `--auto-discover-url`OpenID Connect 自动发現 URL僅在使用 OpenID Connect 作為提供程序时需要)。
- `--use-custom-urls`:在 GitLab/GitHub OAuth 端上使用自定义 URL。
- `--custom-tenant-id`:在 OAuth 端上使用自定义租户 ID。
- `--custom-auth-url`:使用自定义授权 URLGitLab/GitHub 的選)。
- `--custom-token-url`:使用自定义令牌 URLGitLab/GitHub 的選)。
- `--custom-profile-url`:使用自定义配置文件 URLGitLab/GitHub 的選)。
- `--custom-email-url`:使用自定义电子邮件 URLGitHub 的選)。
- `--icon-url`OAuth2 登入源的自定义图标 URL。
- `--skip-local-2fa`:允源覆本地 2FA。可選
- `--scopes`:請求此 OAuth2 源的附加范围。(可選)
- `--required-claim-name`:必須设置的声明名稱,以允使用者使用此源登入。(可選)
- `--required-claim-value`:必須设置的声明值,以允使用者使用此源登入。(可選)
- `--group-claim-name`:提供此源的名的明名稱。(可選)
- `--admin-group`:管理使用者的组声明值。(可選)
- `--restricted-group`:受限使用者的组声明值。(可選)
- `--group-team-map`组与組織团队之间的 JSON 映射。(可選)
- `--group-team-map-removal`:根据组自动激活团队成员资格的除。(可選)
- 例:
- `--key`:客端 IDKey
- `--secret`:客端密
- `--auto-discover-url`OpenID Connect 自動發現 URL僅在使用 OpenID Connect 作為提供程式時需要)。
- `--use-custom-urls`:在 GitLab/GitHub OAuth 端上使用自 URL。
- `--custom-tenant-id`:在 OAuth 端上使用自訂租戶 ID。
- `--custom-auth-url`:使用自訂授權 URLGitLab/GitHub 的選)。
- `--custom-token-url`:使用自令牌 URLGitLab/GitHub 的選)。
- `--custom-profile-url`:使用自訂設定文件 URLGitLab/GitHub 的選)。
- `--custom-email-url`:使用自訂電子郵件 URLGitHub 的選)。
- `--icon-url`OAuth2 登入源的自訂圖標 URL。
- `--skip-local-2fa`:允源覆本地 2FA。可選
- `--scopes`:請求此 OAuth2 源的附加範圍。(可選)
- `--required-claim-name`:必須設定的聲明名稱,以允使用者使用此源登入。(可選)
- `--required-claim-value`:必須設定的聲明值,以允使用者使用此源登入。(可選)
- `--group-claim-name`:提供此源的名的明名稱。(可選)
- `--admin-group`:管理使用者的組聲明值。(可選)
- `--restricted-group`:受限使用者的組聲明值。(可選)
- `--group-team-map`組與組織團隊之間的 JSON 映射。(可選)
- `--group-team-map-removal`:根據組自動激活團隊成員資格的除。(可選)
- 例:
- `gitea admin auth add-oauth --name external-github --provider github --key OBTAIN_FROM_SOURCE --secret OBTAIN_FROM_SOURCE`
- `update-oauth`
-
-
- `--id`:要更新的源的 ID。必填。
- `--name`:應用程名稱。
- `--name`:應用程名稱。
- `--provider`OAuth2 提供者。
- `--key`:客端 IDKey
- `--secret`:客端密
- `--auto-discover-url`OpenID Connect 自动发現 URL僅在使用 OpenID Connect 作為提供程序时需要)。
- `--use-custom-urls`:在 GitLab/GitHub OAuth 端上使用自定义 URL。
- `--custom-tenant-id`:在 OAuth 端上使用自定义租户 ID。
- `--custom-auth-url`:使用自定义授权 URLGitLab/GitHub 的選)。
- `--custom-token-url`:使用自定义令牌 URLGitLab/GitHub 的選)。
- `--custom-profile-url`:使用自定义配置文件 URLGitLab/GitHub 的選)。
- `--custom-email-url`:使用自定义电子邮件 URLGitHub 的選)。
- `--icon-url`OAuth2 登入源的自定义图标 URL。
- `--skip-local-2fa`:允源覆本地 2FA。可選
- `--scopes`:請求此 OAuth2 源的附加范围
- `--required-claim-name`:必須设置的声明名稱,以允使用者使用此源登入。(可選)
- `--required-claim-value`:必須设置的声明值,以允使用者使用此源登入。(可選)
- `--group-claim-name`:提供此源的名的明名稱。(可選)
- `--admin-group`:管理使用者的组声明值。(可選)
- `--restricted-group`:受限使用者的组声明值。(可選)
- 例:
- `--key`:客端 IDKey
- `--secret`:客端密
- `--auto-discover-url`OpenID Connect 自動發現 URL僅在使用 OpenID Connect 作為提供程式時需要)。
- `--use-custom-urls`:在 GitLab/GitHub OAuth 端上使用自 URL。
- `--custom-tenant-id`:在 OAuth 端上使用自訂租戶 ID。
- `--custom-auth-url`:使用自訂授權 URLGitLab/GitHub 的選)。
- `--custom-token-url`:使用自令牌 URLGitLab/GitHub 的選)。
- `--custom-profile-url`:使用自訂設定文件 URLGitLab/GitHub 的選)。
- `--custom-email-url`:使用自訂電子郵件 URLGitHub 的選)。
- `--icon-url`OAuth2 登入源的自訂圖標 URL。
- `--skip-local-2fa`:允源覆本地 2FA。可選
- `--scopes`:請求此 OAuth2 源的附加範圍
- `--required-claim-name`:必須設定的聲明名稱,以允使用者使用此源登入。(可選)
- `--required-claim-value`:必須設定的聲明值,以允使用者使用此源登入。(可選)
- `--group-claim-name`:提供此源的名的明名稱。(可選)
- `--admin-group`:管理使用者的組聲明值。(可選)
- `--restricted-group`:受限使用者的組聲明值。(可選)
- 例:
- `gitea admin auth update-oauth --id 1 --name external-github-updated`
- `add-smtp`
-
- `--name`:應用程名稱。必填。
- `--auth-type`SMTP 認證類型PLAIN/LOGIN/CRAM-MD5默认為 PLAIN。
- `--host`SMTP 主。必填。
-
- `--name`:應用程名稱。必填。
- `--auth-type`SMTP 認證類型PLAIN/LOGIN/CRAM-MD5預設為 PLAIN。
- `--host`SMTP 主。必填。
- `--port`SMTP 端口。必填。
- `--force-smtps`SMTPS 始在端口 465 上使用。设置此選项以强制在其他端口上使用 SMTPS。
- `--force-smtps`SMTPS 始在端口 465 上使用。設定此選項以強制在其他端口上使用 SMTPS。
- `--skip-verify`:跳過 TLS 驗證。
- `--helo-hostname`送 HELO 使用的主名。留空以发送当前主名。
- `--helo-hostname`送 HELO 使用的主名。留空以發送當前主名。
- `--disable-helo`:禁用 SMTP helo。
- `--allowed-domains`:留空以允所有域。使用逗',')分隔多域。
- `--allowed-domains`:留空以允所有域。使用逗',')分隔多域。
- `--skip-local-2fa`:跳過 2FA 登入。
- `--active`用此認證源。
备注
`--force-smtps``--skip-verify``--disable-helo``--skip-local-2fs``--active`可以用以下形式使用:
- `--option``--option=true`用選
- `--option=false` 以禁用選
如果未指定些選项,则`update-smtp` 中不更改值,或者在 `add-smtp`使用默认`false` 值。
- 例:
- `--active`用此認證源。
備註
`--force-smtps``--skip-verify``--disable-helo``--skip-local-2fs``--active`可以用以下形式使用:
- `--option``--option=true`用選
- `--option=false` 以禁用選
如果未指定些選項,則`update-smtp` 中不更改值,或者在 `add-smtp`使用預設`false` 值。
- 例:
- `gitea admin auth add-smtp --name ldap --host smtp.mydomain.org --port 587 --skip-verify --active`
- `update-smtp`
-
-
- `--id`:要更新的源的 ID。必填。
- 其他選项与 `add-smtp` 共享
- 例:
- 其他選項與 `add-smtp` 共享
- 例:
- `gitea admin auth update-smtp --id 1 --host smtp.mydomain.org --port 587 --skip-verify=false`
- `gitea admin auth update-smtp --id 1 --active=false`
- `add-ldap`:添加新的 LDAP通過 Bind DN認證源
-
-
- `--name value`:認證名稱。必填。
- `--not-active`:停用認證源。
- `--security-protocol value`:安全协议名稱。必填。
- `--security-protocol value`:安全協議名稱。必填。
- `--skip-tls-verify`:禁用 TLS 驗證。
- `--host value`LDAP 服器的地址。必填。
- `--port value`接到 LDAP 服务器时使用的端口。必填。
- `--user-search-base value`:使用者帳戶在其中搜索的 LDAP 基础路径。必填。
- `--user-filter value`明如何查找试图進行身份驗證的使用者记录的 LDAP 過器。必填。
- `--admin-filter value`:指定是否應授予使用者管理员特权的 LDAP 過器。
- `--restricted-filter value`:指定是否應使用者设置為受限状态的 LDAP 過器。
- `--username-attribute value`:使用者 LDAP 记录中包含使用者名的属性。
- `--firstname-attribute value`:使用者 LDAP 记录中包含使用者名字的性。
- `--surname-attribute value`:使用者 LDAP 记录中包含使用者姓氏的性。
- `--email-attribute value`:使用者 LDAP 记录中包含使用者电子邮件地址的性。必填。
- `--public-ssh-key-attribute value`:使用者 LDAP 记录中包含使用者公共 SSH 密钥的属性。
- `--avatar-attribute value`:使用者 LDAP 记录中包含使用者像的性。
- `--bind-dn value`:在搜索使用者时绑定到 LDAP 服器的 DN。
- `--bind-password value`定 DN 的密碼(如果有)。
- `--attributes-in-bind`:在定 DN 上下文中获取属性。
- `--synchronize-users`用使用者同步。
- `--page-size value`:搜索面大小。
- 例:
- `--host value`LDAP 服器的地址。必填。
- `--port value`接到 LDAP 伺服器時使用的端口。必填。
- `--user-search-base value`:使用者帳戶在其中搜索的 LDAP 基礎路徑。必填。
- `--user-filter value`明如何查找試圖進行身份驗證的使用者記錄的 LDAP 過器。必填。
- `--admin-filter value`:指定是否應授予使用者管理員特權的 LDAP 過器。
- `--restricted-filter value`:指定是否應使用者設定為受限狀態的 LDAP 過器。
- `--username-attribute value`:使用者 LDAP 記錄中包含使用者名稱的屬性。
- `--firstname-attribute value`:使用者 LDAP 記錄中包含使用者名字的性。
- `--surname-attribute value`:使用者 LDAP 記錄中包含使用者姓氏的性。
- `--email-attribute value`:使用者 LDAP 記錄中包含使用者電子電子郵件地址的性。必填。
- `--public-ssh-key-attribute value`:使用者 LDAP 記錄中包含使用者公共 SSH 密鑰的屬性。
- `--avatar-attribute value`:使用者 LDAP 記錄中包含使用者像的性。
- `--bind-dn value`:在搜索使用者時綁定到 LDAP 服器的 DN。
- `--bind-password value`定 DN 的密碼(如果有)。
- `--attributes-in-bind`:在定 DN 上下文中獲取屬性。
- `--synchronize-users`用使用者同步。
- `--page-size value`:搜索面大小。
- 例:
- `gitea admin auth add-ldap --name ldap --security-protocol unencrypted --host mydomain.org --port 389 --user-search-base "ou=Users,dc=mydomain,dc=org" --user-filter "(&(objectClass=posixAccount)(|(uid=%[1]s)(mail=%[1]s)))" --email-attribute mail`
- `update-ldap`:更新現有的 LDAP通過 Bind DN認證源
-
-
- `--id value`:認證源的 ID。必填。
- `--name value`:認證名稱。
- `--not-active`:停用認證源。
- `--security-protocol value`:安全协议名稱。
- `--security-protocol value`:安全協議名稱。
- `--skip-tls-verify`:禁用 TLS 驗證。
- `--host value`LDAP 服器的地址。
- `--port value`接到 LDAP 服务器时使用的端口。
- `--user-search-base value`:使用者帳戶在其中搜索的 LDAP 基础路径
- `--user-filter value`明如何查找试图進行身份驗證的使用者记录的 LDAP 過器。
- `--admin-filter value`:指定是否應授予使用者管理员特权的 LDAP 過器。
- `--restricted-filter value`:指定是否應使用者设置為受限状态的 LDAP 過器。
- `--username-attribute value`:使用者 LDAP 记录中包含使用者名的属性。
- `--firstname-attribute value`:使用者 LDAP 记录中包含使用者名字的性。
- `--surname-attribute value`:使用者 LDAP 记录中包含使用者姓氏的性。
- `--email-attribute value`:使用者 LDAP 记录中包含使用者电子邮件地址的性。
- `--public-ssh-key-attribute value`:使用者 LDAP 记录中包含使用者公共 SSH 密钥的属性。
- `--avatar-attribute value`:使用者 LDAP 记录中包含使用者像的性。
- `--bind-dn value`:在搜索使用者时绑定到 LDAP 服器的 DN。
- `--bind-password value`定 DN 的密碼(如果有)。
- `--attributes-in-bind`:在定 DN 上下文中获取属性。
- `--synchronize-users`用使用者同步。
- `--page-size value`:搜索面大小。
- 例:
- `--host value`LDAP 服器的地址。
- `--port value`接到 LDAP 伺服器時使用的端口。
- `--user-search-base value`:使用者帳戶在其中搜索的 LDAP 基礎路徑
- `--user-filter value`明如何查找試圖進行身份驗證的使用者記錄的 LDAP 過器。
- `--admin-filter value`:指定是否應授予使用者管理員特權的 LDAP 過器。
- `--restricted-filter value`:指定是否應使用者設定為受限狀態的 LDAP 過器。
- `--username-attribute value`:使用者 LDAP 記錄中包含使用者名稱的屬性。
- `--firstname-attribute value`:使用者 LDAP 記錄中包含使用者名字的性。
- `--surname-attribute value`:使用者 LDAP 記錄中包含使用者姓氏的性。
- `--email-attribute value`:使用者 LDAP 記錄中包含使用者電子電子郵件地址的性。
- `--public-ssh-key-attribute value`:使用者 LDAP 記錄中包含使用者公共 SSH 密鑰的屬性。
- `--avatar-attribute value`:使用者 LDAP 記錄中包含使用者像的性。
- `--bind-dn value`:在搜索使用者時綁定到 LDAP 服器的 DN。
- `--bind-password value`定 DN 的密碼(如果有)。
- `--attributes-in-bind`:在定 DN 上下文中獲取屬性。
- `--synchronize-users`用使用者同步。
- `--page-size value`:搜索面大小。
- 例:
- `gitea admin auth update-ldap --id 1 --name "my ldap auth source"`
- `gitea admin auth update-ldap --id 1 --username-attribute uid --firstname-attribute givenName --surname-attribute sn`
- `add-ldap-simple`:添加新的 LDAP單身份驗證)認證源
-
- `add-ldap-simple`:添加新的 LDAP單身份驗證)認證源
-
- `--name value`:認證名稱。必填。
- `--not-active`:停用認證源。
- `--security-protocol value`:安全协议名稱。必填。
- `--security-protocol value`:安全協議名稱。必填。
- `--skip-tls-verify`:禁用 TLS 驗證。
- `--host value`LDAP 服器的地址。必填。
- `--port value`接到 LDAP 服务器时使用的端口。必填。
- `--user-search-base value`:使用者帳戶在其中搜索的 LDAP 基础路径
- `--user-filter value`明如何查找试图進行身份驗證的使用者记录的 LDAP 過器。必填。
- `--admin-filter value`:指定是否應授予使用者管理员特权的 LDAP 過器。
- `--restricted-filter value`:指定是否應使用者设置為受限状态的 LDAP 過器。
- `--username-attribute value`:使用者 LDAP 记录中包含使用者名的属性。
- `--firstname-attribute value`:使用者 LDAP 记录中包含使用者名字的性。
- `--surname-attribute value`:使用者 LDAP 记录中包含使用者姓氏的性。
- `--email-attribute value`:使用者 LDAP 记录中包含使用者电子邮件地址的性。必填。
- `--public-ssh-key-attribute value`:使用者 LDAP 记录中包含使用者公共 SSH 密钥的属性。
- `--avatar-attribute value`:使用者 LDAP 记录中包含使用者像的性。
- `--host value`LDAP 服器的地址。必填。
- `--port value`接到 LDAP 伺服器時使用的端口。必填。
- `--user-search-base value`:使用者帳戶在其中搜索的 LDAP 基礎路徑
- `--user-filter value`明如何查找試圖進行身份驗證的使用者記錄的 LDAP 過器。必填。
- `--admin-filter value`:指定是否應授予使用者管理員特權的 LDAP 過器。
- `--restricted-filter value`:指定是否應使用者設定為受限狀態的 LDAP 過器。
- `--username-attribute value`:使用者 LDAP 記錄中包含使用者名稱的屬性。
- `--firstname-attribute value`:使用者 LDAP 記錄中包含使用者名字的性。
- `--surname-attribute value`:使用者 LDAP 記錄中包含使用者姓氏的性。
- `--email-attribute value`:使用者 LDAP 記錄中包含使用者電子電子郵件地址的性。必填。
- `--public-ssh-key-attribute value`:使用者 LDAP 記錄中包含使用者公共 SSH 密鑰的屬性。
- `--avatar-attribute value`:使用者 LDAP 記錄中包含使用者像的性。
- `--user-dn value`:使用者的 DN。必填。
- 例:
- 例:
- `gitea admin auth add-ldap-simple --name ldap --security-protocol unencrypted --host mydomain.org --port 389 --user-dn "cn=%s,ou=Users,dc=mydomain,dc=org" --user-filter "(&(objectClass=posixAccount)(cn=%s))" --email-attribute mail`
- `update-ldap-simple`:更新現有的 LDAP單身份驗證)認證源
-
- `update-ldap-simple`:更新現有的 LDAP單身份驗證)認證源
-
- `--id value`:認證源的 ID。必填。
- `--name value`:認證名稱。
- `--not-active`:停用認證源。
- `--security-protocol value`:安全协议名稱。
- `--security-protocol value`:安全協議名稱。
- `--skip-tls-verify`:禁用 TLS 驗證。
- `--host value`LDAP 服器的地址。
- `--port value`接到 LDAP 服务器时使用的端口。
- `--user-search-base value`:使用者帳戶在其中搜索的 LDAP 基础路径
- `--user-filter value`明如何查找试图進行身份驗證的使用者记录的 LDAP 過器。
- `--admin-filter value`:指定是否應授予使用者管理员特权的 LDAP 過器。
- `--restricted-filter value`:指定是否應使用者设置為受限状态的 LDAP 過器。
- `--username-attribute value`:使用者 LDAP 记录中包含使用者名的属性。
- `--firstname-attribute value`:使用者 LDAP 记录中包含使用者名字的性。
- `--surname-attribute value`:使用者 LDAP 记录中包含使用者姓氏的性。
- `--email-attribute value`:使用者 LDAP 记录中包含使用者电子邮件地址的性。
- `--public-ssh-key-attribute value`:使用者 LDAP 记录中包含使用者公共 SSH 密钥的属性。
- `--avatar-attribute value`:使用者 LDAP 记录中包含使用者像的性。
- `--host value`LDAP 服器的地址。
- `--port value`接到 LDAP 伺服器時使用的端口。
- `--user-search-base value`:使用者帳戶在其中搜索的 LDAP 基礎路徑
- `--user-filter value`明如何查找試圖進行身份驗證的使用者記錄的 LDAP 過器。
- `--admin-filter value`:指定是否應授予使用者管理員特權的 LDAP 過器。
- `--restricted-filter value`:指定是否應使用者設定為受限狀態的 LDAP 過器。
- `--username-attribute value`:使用者 LDAP 記錄中包含使用者名稱的屬性。
- `--firstname-attribute value`:使用者 LDAP 記錄中包含使用者名字的性。
- `--surname-attribute value`:使用者 LDAP 記錄中包含使用者姓氏的性。
- `--email-attribute value`:使用者 LDAP 記錄中包含使用者電子電子郵件地址的性。
- `--public-ssh-key-attribute value`:使用者 LDAP 記錄中包含使用者公共 SSH 密鑰的屬性。
- `--avatar-attribute value`:使用者 LDAP 記錄中包含使用者像的性。
- `--user-dn value`:使用者的 DN。
- 例:
- 例:
- `gitea admin auth update-ldap-simple --id 1 --name "my ldap auth source"`
- `gitea admin auth update-ldap-simple --id 1 --username-attribute uid --firstname-attribute givenName --surname-attribute sn`
### cert
生成自名的 SSL 证书。将输出到前目錄下的`cert.pem``key.pem`文件中,並且会覆盖任何現有文件。
生成自名的 SSL 證書。將輸出到前目錄下的`cert.pem``key.pem`文件中,並且會覆蓋任何現有文件。
-
- `--host value`:逗分隔的主名和 IP 地址列表,此证书适用于这些主。支使用通配符。必填。
- `--ecdsa-curve value`:用生成密的 ECDSA 曲线。可選。有效選為 P224、P256、P384、P521。
- `--rsa-bits value`:要生成的 RSA 密的大小。可選。如果设置了--ecdsa-curve忽略此選。(默认3072
- `--start-date value`证书的建立日期。可選。(格式:`Jan 1 15:04:05 2011`)。
- `--duration value`证书有效期。可選。(默认8760h0m0s
- `--ca`:如果提供此選项,则证书将生成自己的证书颁发机构。可選。
- 例:
-
- `--host value`:逗分隔的主名和 IP 地址列表,此證書適用於這些主。支使用通配符。必填。
- `--ecdsa-curve value`:用生成密的 ECDSA 曲。可選。有效選為 P224、P256、P384、P521。
- `--rsa-bits value`:要生成的 RSA 密的大小。可選。如果設定了--ecdsa-curve忽略此選。(預設3072
- `--start-date value`證書的建立日期。可選。(格式:`Jan 1 15:04:05 2011`)。
- `--duration value`證書有效期。可選。(預設8760h0m0s
- `--ca`:如果提供此選項,則證書將生成自己的證書頒發機構。可選。
- 例:
- `gitea cert --host git.example.com,example.com,www.example.com --ca`
### dump
所有文件和数据库导出到一 zip 文件中。出文件保存在前目錄下,类似于`gitea-dump-1482906742.zip`
所有文件和資料庫導出到一 zip 文件中。出文件保存在前目錄下,類似於`gitea-dump-1482906742.zip`
-
- `--file name``-f name`:指定要建立的出文件的名稱。可選。(默认gitea-dump-[timestamp].zip
- `--tempdir path``-t path`:指定临时目錄的路。可選。(默认值:/tmp
- `--skip-repository``-R`:跳過存放庫的出。可選。
- `--skip-custom-dir`:跳過自定义目錄的出。可選。
- `--skip-lfs-data`:跳過 LFS 数据的导出。可選。
- `--skip-attachment-data`:跳過附件数据的导出。可選。
- `--skip-package-data`:跳過包数据的导出。可選。
- `--skip-log`:跳過日志数据的导出。可選。
- `--database``-d`:指定数据库的 SQL 法。可選。
- `--verbose``-V`:如果提供此選项,显示附加详细信息。可選。
- `--type`设置导出的格式。可選。(默认zip
- 例:
-
- `--file name``-f name`:指定要建立的出文件的名稱。可選。(預設gitea-dump-[timestamp].zip
- `--tempdir path``-t path`:指定臨時目錄的路。可選。(預設值:/tmp
- `--skip-repository``-R`:跳過存放庫的出。可選。
- `--skip-custom-dir`:跳過自目錄的出。可選。
- `--skip-lfs-data`:跳過 LFS 資料的導出。可選。
- `--skip-attachment-data`:跳過附件資料的導出。可選。
- `--skip-package-data`:跳過包資料的導出。可選。
- `--skip-log`:跳過日誌資料的導出。可選。
- `--database``-d`:指定資料庫的 SQL 法。可選。
- `--verbose``-V`:如果提供此選項,顯示附加詳細資訊。可選。
- `--type`設定導出的格式。可選。(預設zip
- 例:
- `gitea dump`
- `gitea dump --verbose`
### generate
于在配置文件中生成随机值和令牌。對於自部署生成值非常有用。
於在設定文件中生成隨機值和令牌。對於自部署生成值非常有用。
- 命令:
- `secret`:
-:
- `INTERNAL_TOKEN`: 用于内部 API 用身份驗證的令牌。
- `JWT_SECRET`: 用 LFS 和 OAUTH2 JWT 身份驗證的密LFS_JWT_SECRET 是此選项的别名,用于向后兼容)。
- `SECRET_KEY`: 全局密钥
- 例:
-:
- `INTERNAL_TOKEN`: 用於內部 API 調用身份驗證的令牌。
- `JWT_SECRET`: 用 LFS 和 OAUTH2 JWT 身份驗證的密LFS_JWT_SECRET 是此選項的別名,用於向後相容)。
- `SECRET_KEY`: 全域密鑰
- 例:
- `gitea generate secret INTERNAL_TOKEN`
- `gitea generate secret JWT_SECRET`
- `gitea generate secret SECRET_KEY`
### keys
提供一 SSHD AuthorizedKeysCommand。需要在 sshd 配置文件中進行配置:
提供一 SSHD AuthorizedKeysCommand。需要在 sshd 設定文件中進行設定:
```ini
...
# -e 的值和 AuthorizedKeysCommandUser 應与运行 Gitea 的使用者名匹配
# -e 的值和 AuthorizedKeysCommandUser 應與運行 Gitea 的使用者名匹配
AuthorizedKeysCommandUser git
AuthorizedKeysCommand /path/to/gitea keys -e git -u %u -t %t -k %k
```
該命令返回适用于提供的密的合 authorized_keys 行。您還應在 `app.ini``[server]` 部分设置`SSH_CREATE_AUTHORIZED_KEYS_FILE=false`
該命令返回適用於提供的密的合 authorized_keys 行。您還應在 `app.ini``[server]` 部分設定`SSH_CREATE_AUTHORIZED_KEYS_FILE=false`
注意: opensshd 要求 Gitea 程由 root 有,並且不可由或其他人入。程必須使用绝对路径指定。
注意: Gitea 必須在行此命令时处于运行状态才能成功。
注意: opensshd 要求 Gitea 程由 root 有,並且不可由或其他人入。程必須使用絕對路徑指定。
注意: Gitea 必須在行此命令時處於運行狀態才能成功。
### migrate
迁移数据库。該命令可用在首次启动服务器之前行其他命令。此命令是等的。
遷移資料庫。該命令可用在首次啟動伺服器之前行其他命令。此命令是等的。
### doctor check
Gitea 例進行诊断,可以修一些可修复的问题
默认只运行部分查,外的查可以考:
Gitea 例進行診斷,可以修一些可修復的問題
預設只運行部分查,外的查可以考:
- `gitea doctor check --list` - 列出所有可用的
- `gitea doctor check --all` - 行所有可用的
- `gitea doctor check --default` - 运行默认的检
- `gitea doctor check --run [check(s),]...` - 行指定的名字的
- `gitea doctor check --list` - 列出所有可用的
- `gitea doctor check --all` - 行所有可用的
- `gitea doctor check --default` - 運行預設的檢
- `gitea doctor check --run [check(s),]...` - 行指定的名字的
有些问题可以通過设置 `--fix`進行自动修复
外的日可以`--log-file=...` 進行设置
有些問題可以透過設定 `--fix`進行自動修復
外的日可以`--log-file=...` 進行設定
#### doctor recreate-table
,在迁移时,旧的列和默认值可能会在数据库模式中保持不变。这可能会导致警告,如下所示:
,在遷移時,舊的列和預設值可能會在資料庫模式中保持不變。這可能會導致警告,如下所示:
```
2020/08/02 11:32:29 ...rm/session_schema.go:360:Sync() [W] Table user Column keep_activity_private db default is , struct default is 0
```
您可以過以下方式 Gitea 重新建立些表,並将旧数据复制到新表中,並适当设置默认值:
您可以過以下方式 Gitea 重新建立些表,並將舊資料複製到新表中,並適當設定預設值:
```
gitea doctor recreate-table user
```
您可以使用以下方式 Gitea 重新建立多表:
您可以使用以下方式 Gitea 重新建立多表:
```
gitea doctor recreate-table table1 table2 ...
```
如果您希望 Gitea 重新建立所有表,請直接用:
如果您希望 Gitea 重新建立所有表,請直接調用:
```
gitea doctor recreate-table
```
烈建议在运行这些命令之前份您的数据库
烈建議在運行這些命令之前份您的資料庫
### doctor convert
現有的 MySQL 数据库从 utf8 转换為 utf8mb4或者把 MSSQL 数据库从 varchar 转换為 nvarchar。
現有的 MySQL 資料庫從 utf8 轉換為 utf8mb4或者把 MSSQL 資料庫從 varchar 轉換為 nvarchar。
### manager
管理行中的服器操作:
管理行中的服器操作:
- 命令:
- `shutdown`: 雅地关闭运行中的進程
- `restart`: 雅地重新启动运行中的進程(對於 Windows 服器尚未現)
- `flush-queues`: 刷新行中的進程中的
-:
- `--timeout value`: 刷新過程的超时时间(默认值: 1m0s
- `--non-blocking`: 设置為 true以在返回之前不等待刷新完成
- `logging`: 整日命令
- `shutdown`: 雅地關閉運行中的進程
- `restart`: 雅地重新啟動運行中的進程(對於 Windows 服器尚未現)
- `flush-queues`: 刷新行中的進程中的
-:
- `--timeout value`: 刷新過程的超時時間(預設值: 1m0s
- `--non-blocking`: 設定為 true以在返回之前不等待刷新完成
- `logging`: 調整日命令
- 命令:
- `pause`: 停日志记录
- `pause`: 停日誌記錄
- 注意:
- 如果日志级别低于此级别,日志级别将被临时提升為 INFO。
- Gitea 在一定程度上缓冲日志,並在超過該点后丢弃日志
- `resume`: 恢复日志记录
- `release-and-reopen`: 使 Gitea 放和重新打开用于日志记录的文件和接(相当于向 Gitea 送 SIGUSR1 信)。
- `remove name`: 除指定的日志记录
-:
- `--group group`, `-g group`: 从中删除子记录器的组(默认`default`
- `add`: 添加日志记录
- 如果日誌級別低於此級別,日誌級別將被臨時提升為 INFO。
- Gitea 在一定程度上緩衝日誌,並在超過該點後丟棄日誌
- `resume`: 恢復日誌記錄
- `release-and-reopen`: 使 Gitea 放和重新打開用於日誌記錄的文件和接(相當於向 Gitea 送 SIGUSR1 信)。
- `remove name`: 除指定的日誌記錄
-:
- `--group group`, `-g group`: 從中刪除子記錄器的組(預設`default`
- `add`: 添加日誌記錄
- 命令:
- `console`: 添加控制台日志记录
-:
- `--group value`, `-g value`: 要添加日志记录器的 - 默认為"default"
- `--name value`, `-n value`: 新日志记录器的名稱 - 默认為模式
- `--level value`, `-l value`: 新日志记录器的日志级别
- `--stacktrace-level value`, `-L value`: 堆栈跟踪日志级别
- `--flags value`, `-F value`: 日志记录器的标志
- `--expression value`, `-e value`: 日志记录器的匹配表
- `--prefix value`, `-p value`: 日志记录器的前
- `--color`: 在日中使用
- `--stderr`: 控制台日志输出到 stderr - 僅适用于控制
- `file`: 添加文件日志记录
-:
- `--group value`, `-g value`: 要添加日志记录器的 - 默认為"default"
- `--name value`, `-n value`: 新日志记录器的名稱 - 默认為模式
- `--level value`, `-l value`: 新日志记录器的日志级别
- `--stacktrace-level value`, `-L value`: 堆栈跟踪日志级别
- `--flags value`, `-F value`: 日志记录器的标志
- `--expression value`, `-e value`: 日志记录器的匹配表
- `--prefix value`, `-p value`: 日志记录器的前
- `--color`: 在日中使用
- `--filename value`, `-f value`: 日志记录器的文件名
- `--rotate`, `-r`: 轮转日志
- `--max-size value`, `-s value`: 在轮转之前的最大大小(以字节為單位)
- `--daily`, `-d`: 每天轮转日志
- `--max-days value`, `-D value`: 保留的每日日的最大
- `--compress`, `-z`: 压缩轮转的日
- `--compression-level value`, `-Z value`: 使用的压缩级别
- `conn`: 添加网络连接日志记录
-:
- `--group value`, `-g value`: 要添加日志记录器的 - 默认為"default"
- `--name value`, `-n value`: 新日志记录器的名稱 - 默认為模式
- `--level value`, `-l value`: 新日志记录器的日志级别
- `--stacktrace-level value`, `-L value`: 堆栈跟踪日志级别
- `--flags value`, `-F value`: 日志记录器的标志
- `--expression value`, `-e value`: 日志记录器的匹配表
- `--prefix value`, `-p value`: 日志记录器的前
- `--color`: 在日中使用
- `--reconnect-on-message`, `-R`: 對於每消息重新接主
- `--reconnect`, `-r`: 接中断时重新接主
- `--protocol value`, `-P value`: 设置要使用的协议tcp、unix 或 udp默认為 tcp
- `--address value`, `-a value`: 要接到的主地址和端口(默认為:7020
- `smtp`: 添加 SMTP 日志记录
-:
- `--group value`, `-g value`: 要添加日志记录器的 - 默认為"default"
- `--name value`, `-n value`: 新日志记录器的名稱 - 默认為模式
- `--level value`, `-l value`: 新日志记录器的日志级别
- `--stacktrace-level value`, `-L value`: 堆栈跟踪日志级别
- `--flags value`, `-F value`: 日志记录器的标志
- `--expression value`, `-e value`: 日志记录器的匹配表
- `--prefix value`, `-p value`: 日志记录器的前
- `--color`: 在日中使用
- `--username value`, `-u value`: 邮件服务器使用者名
- `--password value`, `-P value`: 邮件服务器密碼
- `--host value`, `-H value`: 邮件服务器主机(默认為: 127.0.0.1:25
- `--send-to value`, `-s value`: 要送到的电子邮件地址
- `--subject value`, `-S value`: 发送电子邮件的主题标题
- `processes`: 示 Gitea 進程和 Goroutine 信息
-:
- `--flat`: 以平面表格形式示進程,而不是树形结构
- `--no-system`: 不示系進程
- `--stacktraces`: 显示与進程关联的 Goroutine 的堆栈跟踪
- `--json`: 出為 JSON 格式
- `--cancel PID`: 向具有 PID 的進程送取消命令(僅适用于非系進程)
- `console`: 添加控制檯日誌記錄
-:
- `--group value`, `-g value`: 要添加日誌記錄器的 - 預設為"default"
- `--name value`, `-n value`: 新日誌記錄器的名稱 - 預設為模式
- `--level value`, `-l value`: 新日誌記錄器的日誌級別
- `--stacktrace-level value`, `-L value`: 堆棧跟蹤日誌級別
- `--flags value`, `-F value`: 日誌記錄器的標誌
- `--expression value`, `-e value`: 日誌記錄器的匹配表
- `--prefix value`, `-p value`: 日誌記錄器的前
- `--color`: 在日中使用
- `--stderr`: 控制檯日誌輸出到 stderr - 僅適用於控制
- `file`: 添加文件日誌記錄
-:
- `--group value`, `-g value`: 要添加日誌記錄器的 - 預設為"default"
- `--name value`, `-n value`: 新日誌記錄器的名稱 - 預設為模式
- `--level value`, `-l value`: 新日誌記錄器的日誌級別
- `--stacktrace-level value`, `-L value`: 堆棧跟蹤日誌級別
- `--flags value`, `-F value`: 日誌記錄器的標誌
- `--expression value`, `-e value`: 日誌記錄器的匹配表
- `--prefix value`, `-p value`: 日誌記錄器的前
- `--color`: 在日中使用
- `--filename value`, `-f value`: 日誌記錄器的文件名
- `--rotate`, `-r`: 輪轉日誌
- `--max-size value`, `-s value`: 在輪轉之前的最大大小(以位元組為單位)
- `--daily`, `-d`: 每天輪轉日誌
- `--max-days value`, `-D value`: 保留的每日日的最大
- `--compress`, `-z`: 壓縮輪轉的日
- `--compression-level value`, `-Z value`: 使用的壓縮級別
- `conn`: 添加網路連接日誌記錄
-:
- `--group value`, `-g value`: 要添加日誌記錄器的 - 預設為"default"
- `--name value`, `-n value`: 新日誌記錄器的名稱 - 預設為模式
- `--level value`, `-l value`: 新日誌記錄器的日誌級別
- `--stacktrace-level value`, `-L value`: 堆棧跟蹤日誌級別
- `--flags value`, `-F value`: 日誌記錄器的標誌
- `--expression value`, `-e value`: 日誌記錄器的匹配表
- `--prefix value`, `-p value`: 日誌記錄器的前
- `--color`: 在日中使用
- `--reconnect-on-message`, `-R`: 對於每消息重新接主
- `--reconnect`, `-r`: 接中斷時重新接主
- `--protocol value`, `-P value`: 設定要使用的協議tcp、unix 或 udp預設為 tcp
- `--address value`, `-a value`: 要接到的主地址和端口(預設為:7020
- `smtp`: 添加 SMTP 日誌記錄
-:
- `--group value`, `-g value`: 要添加日誌記錄器的 - 預設為"default"
- `--name value`, `-n value`: 新日誌記錄器的名稱 - 預設為模式
- `--level value`, `-l value`: 新日誌記錄器的日誌級別
- `--stacktrace-level value`, `-L value`: 堆棧跟蹤日誌級別
- `--flags value`, `-F value`: 日誌記錄器的標誌
- `--expression value`, `-e value`: 日誌記錄器的匹配表
- `--prefix value`, `-p value`: 日誌記錄器的前
- `--color`: 在日中使用
- `--username value`, `-u value`: 郵件伺服器使用者名
- `--password value`, `-P value`: 郵件伺服器密碼
- `--host value`, `-H value`: 郵件伺服器主機(預設為: 127.0.0.1:25
- `--send-to value`, `-s value`: 要送到的電子電子郵件地址
- `--subject value`, `-S value`: 發送電子郵件的主題標題
- `processes`: 示 Gitea 進程和 Goroutine 資訊
-:
- `--flat`: 以平面表格形式示進程,而不是樹形結構
- `--no-system`: 不示系進程
- `--stacktraces`: 顯示與進程關聯的 Goroutine 的堆棧跟蹤
- `--json`: 出為 JSON 格式
- `--cancel PID`: 向具有 PID 的進程送取消命令(僅適用於非系進程)
### dump-repo
`dump-repo` Git/GitHub/Gitea/GitLab 中转儲存儲库数据
`dump-repo` Git/GitHub/Gitea/GitLab 中轉儲儲存庫資料
-
- `--git_service service`Git 服,可以是 `git``github``gitea``gitlab`。如果 `clone_addr` 可以被识别,则可以忽略此選
- `--repo_dir dir``-r dir`存儲数据的存儲库目錄路
- `--clone_addr addr`被克隆的 URL目前可以是 git/github/gitea/gitlab 的 http/https URL。例如https://github.com/lunny/tango.git
- `--auth_username lunny`访问 `clone_addr` 的使用者名。
- `--auth_password <password>`访问 `clone_addr` 的密碼。
- `--auth_token <token>`访问 `clone_addr`人令牌。
- `--owner_name lunny`:如果非空,数据将存儲在具有所有者名稱的目錄中。
- `--repo_name tango`:如果非空,数据将存儲在具有存儲库名稱的目錄中。
- `--units <units>`:要移的项目,一或多个项目應以逗分隔。允许的项目有 wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments。如果為空表示所有项目
-
- `--git_service service`Git 服,可以是 `git``github``gitea``gitlab`。如果 `clone_addr` 可以被識別,則可以忽略此選
- `--repo_dir dir``-r dir`儲存資料的儲存庫目錄路
- `--clone_addr addr`被克隆的 URL目前可以是 git/github/gitea/gitlab 的 http/https URL。例如https://github.com/lunny/tango.git
- `--auth_username lunny`訪問 `clone_addr` 的使用者名
- `--auth_password <password>`訪問 `clone_addr` 的密碼。
- `--auth_token <token>`訪問 `clone_addr`人令牌。
- `--owner_name lunny`:如果非空,資料將儲存在具有所有者名稱的目錄中。
- `--repo_name tango`:如果非空,資料將儲存在具有儲存庫名稱的目錄中。
- `--units <units>`:要移的專案,一或多個專案應以逗分隔。允許的專案有 wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments。如果為空表示所有專案
### restore-repo
`restore-repo` 硬碟目錄中還原存儲库数据
`restore-repo` 硬碟目錄中還原儲存庫資料
-
- `--repo_dir dir``-r dir`:還原数据的存儲库目錄路
- `--owner_name lunny`:還原目所有者名稱。
- `--repo_name tango`:還原目标存儲库名稱。
- `--units <units>`:要還原的项目,一或多个项目應以逗分隔。允许的项目有 wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments。如果為空表示所有项目
-
- `--repo_dir dir``-r dir`:還原資料的儲存庫目錄路
- `--owner_name lunny`:還原目所有者名稱。
- `--repo_name tango`:還原目標儲存庫名稱。
- `--units <units>`:要還原的專案,一或多個專案應以逗分隔。允許的專案有 wiki, issues, labels, releases, release_assets, milestones, pull_requests, comments。如果為空表示所有專案
### actions generate-runner-token
生成一供 Runner 使用的新令牌,用于向服务器注册
生成一供 Runner 使用的新令牌,用於向伺服器註冊
-
- `--scope {owner}[/{repo}]``-s {owner}[/{repo}]`:限制 Runner 的范围,没有范围表示該 Runner 可用所有存放庫,但你也可以其限制為特定的存放庫或所有者。
-
- `--scope {owner}[/{repo}]``-s {owner}[/{repo}]`:限制 Runner 的範圍,沒有範圍表示該 Runner 可用所有存放庫,但你也可以其限制為特定的存放庫或所有者。
注册全局 Runner
註冊全域 Runner
```
gitea actions generate-runner-token
```
注册特定組織的 Runner例如 `org`
註冊特定組織的 Runner例如 `org`
```
gitea actions generate-runner-token -s org
```
注册特定存放庫的 Runner例如 `username/test-repo`
註冊特定存放庫的 Runner例如 `username/test-repo`
```
gitea actions generate-runner-token -s username/test-repo

View File

@@ -7,77 +7,77 @@ aliases:
- /zh-tw/customizing-gitea
---
# 自定义 Gitea 配置
# 自 Gitea 設定
Gitea 引用 `custom` 目錄中的自定义配置文件来覆盖配置、模板等默认配置
Gitea 引用 `custom` 目錄中的自訂設定文件來覆蓋設定、模板等預設設定
如果二進制部署 Gitea 所有默认路径都将相對於該 gitea 二進制文件;如果从发行版安裝,可能会将这些路修改為 Linux 文件系统标准。Gitea
将会自动建立包括 `custom/`的必要應用目錄,應用本身的配置存放在
`custom/conf/app.ini` 中。在行版中可能`/etc/gitea/` 的形式為 `custom` 设置一个符号链接,查看配置详情請移步:
如果二進制部署 Gitea 所有預設路徑都將相對於該 gitea 二進制文件;如果從發行版安裝,可能會將這些路修改為 Linux 文件系統標準。Gitea
將會自動建立包括 `custom/`的必要應用目錄,應用本身的設定存放在
`custom/conf/app.ini` 中。在行版中可能`/etc/gitea/` 的形式為 `custom` 設定一個符號鏈接,查看設定詳情請移步:
- [快速忘單](../administration/config-cheat-sheet.md)
- [完整配置清單](https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini)
- [快速忘單](../administration/config-cheat-sheet.md)
- [完整設定清單](https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini)
如果您在 binary 同目錄下無法找到 `custom` 文件,請查您的 `GITEA_CUSTOM`
环境变量配置 因為它可能被配置到了其他地方(可能被一些启动脚本设置指定了目錄)。
如果您在 binary 同目錄下無法找到 `custom` 文件,請查您的 `GITEA_CUSTOM`
環境變量設定 因為它可能被設定到了其他地方(可能被一些啟動腳本設定指定了目錄)。
- [环境变量清單](../administration/environment-variables.md)
- [環境變量清單](../administration/environment-variables.md)
**注:** 必須完全重 Gitea 以使配置生效。
**注:** 必須完全重 Gitea 以使設定生效。
## 使用自定义 /robots.txt
## 使用自 /robots.txt
[想要展示的](http://www.robotstxt.org/) 存放在 `custom` 目錄中的
`robots.txt` 文件来让 Gitea 使用自定义`/robots.txt` 默认:空 404
[想要展示的](http://www.robotstxt.org/) 存放在 `custom` 目錄中的
`robots.txt` 文件來讓 Gitea 使用自`/robots.txt` 預設:空 404
## 使用自定义的公共文件
## 使用自的公共文件
将自定义的公共文件(比如面和片)作為 webroot 放在 `custom/public/`来让 Gitea 提供些自定义内容(符号链接将被追)。
將自訂的公共文件(比如面和片)作為 webroot 放在 `custom/public/`來讓 Gitea 提供些自訂內容(符號鏈接將被追)。
举例说明:`image.png` 存放在 `custom/public/assets/`中,那它可以通過链接 http://gitea.domain.tld/assets/image.png 访问
舉例說明:`image.png` 存放在 `custom/public/assets/`中,那它可以透過鏈接 http://gitea.domain.tld/assets/image.png 訪問
## 修改默认头
## 修改預設頭
以下目錄中的 png 片: `custom/public/assets/img/avatar\_default.png`
以下目錄中的 png 片: `custom/public/assets/img/avatar\_default.png`
## 自定义 Gitea
## 自 Gitea
您可以改 Gitea `custom/templates` 的每个單页面。您可以在 Gitea 源`templates` 目錄中找到用于覆盖的模板文件,應用将根据
`custom/templates` 目錄下的路径结构進行匹配和覆
您可以改 Gitea `custom/templates` 的每個單頁面。您可以在 Gitea 源`templates` 目錄中找到用於覆蓋的模板文件,應用將根據
`custom/templates` 目錄下的路徑結構進行匹配和覆
包含在 `{{``}}` 中的任何句都是 Gitea 的模板法,如果您不完全理解这些组件,不建议您对它们進行修改。
包含在 `{{``}}` 中的任何句都是 Gitea 的模板法,如果您不完全理解這些元件,不建議您對它們進行修改。
### 添加接和页签
### 添加接和頁籤
如果您只是想添加外的接到顶部导航栏或额外的選卡到存儲库视图,您可以将它们放在您 `custom/templates/custom/` 目錄下的 `extra_links.tmpl``extra_tabs.tmpl` 文件中。
如果您只是想添加外的接到頂部導航欄或額外的選卡到儲存庫視圖,您可以將它們放在您 `custom/templates/custom/` 目錄下的 `extra_links.tmpl``extra_tabs.tmpl` 文件中。
举例说明:假您需要在站放置一个静态的“关于”页面,您只需将該页面放在您的
"custom/public/"目錄下(比如 `custom/public/impressum.html`)並且将它与 `custom/templates/custom/extra_links.tmpl` 接起即可。
舉例說明:假您需要在站放置一個靜態的“關於”頁面,您只需將該頁面放在您的
"custom/public/"目錄下(比如 `custom/public/impressum.html`)並且將它與 `custom/templates/custom/extra_links.tmpl` 接起即可。
这个链接應使用一名為“item”的 class 匹配当前样式,您可以使用 `{{AppSubUrl}}` 来获取 base URL:
這個鏈接應使用一名為“item”的 class 匹配當前樣式,您可以使用 `{{AppSubUrl}}` 來獲取 base URL:
`<a class="item" href="{{AppSubUrl}}/assets/impressum.html">Impressum</a>`
同理,您可以将页签添加到 `extra_tabs.tmpl` 中,使用同的方式添加页签。它的具體式需要
`templates/repo/header.tmpl` 中已有的其他選卡的式匹配
同理,您可以將頁籤添加到 `extra_tabs.tmpl` 中,使用同的方式添加頁籤。它的具體式需要
`templates/repo/header.tmpl` 中已有的其他選卡的式匹配
([source in GitHub](https://github.com/go-gitea/gitea/blob/main/templates/repo/header.tmpl))
### 面的其他新增
### 面的其他新增
除了 `extra_links.tmpl``extra_tabs.tmpl`,您可以在您的 `custom/templates/custom/` 目錄中存放一些其他有用的模板,例如:
- `header.tmpl`,在 `<head>` 标记结束之前的模板,例如添加自定义 CSS 文件
- `body_outer_pre.tmpl`,在 `<body>` 标记开始处的模板
- `body_inner_pre.tmpl`,在顶部导航栏之前,但在主 container 部的模板,例如添加一 `<div class="full height">`
- `body_inner_post.tmpl`,在主 container 结束处的模板
- `header.tmpl`,在 `<head>` 標記結束之前的模板,例如添加自 CSS 文件
- `body_outer_pre.tmpl`,在 `<body>` 標記開始處的模板
- `body_inner_pre.tmpl`,在頂部導航欄之前,但在主 container 部的模板,例如添加一 `<div class="full height">`
- `body_inner_post.tmpl`,在主 container 結束處的模板
- `body_outer_post.tmpl`,在底部 `<footer>` 元素之前.
- `footer.tmpl`,在 `<body>` 標籤结束处的模板,可以在这里填写一些附加的 Javascript 本。
- `footer.tmpl`,在 `<body>` 標籤結束處的模板,可以在這裡填寫一些附加的 Javascript 本。
## 自定义 gitignoreslabels licenses locales 以及 readmes
## 自 gitignoreslabels licenses locales 以及 readmes
将自定义文件放在 `custom/options` 下相應子的文件中即可
將自訂文件放在 `custom/options` 下相應子的文件中即可
## 更改 Gitea 外
## 更改 Gitea 外
置主是“gitea-light”、“gitea-dark”和“gitea-auto”动适應操作系统设置)。
置主是“gitea-light”、“gitea-dark”和“gitea-auto”動適應操作系統設定)。
默认主题可以`app.ini` 的 [ui](../administration/config-cheat-sheet.md#界面) 部分中的 `DEFAULT_THEME` 進行更改。
預設主題可以`app.ini` 的 [ui](../administration/config-cheat-sheet.md) 部分中的 `DEFAULT_THEME` 進行更改。

View File

@@ -7,17 +7,17 @@ aliases:
- /zh-tw/email-setup
---
# Email 设置
# Email 設定
Gitea 具有件功能,用于发送事务性邮件(例如注册确认邮件)。它可以配置為使用 Sendmail容的 MTA例如 Postfix 和 msmtp或直接使用 SMTP 服器。
Gitea 具有件功能,用於發送事務性郵件(例如註冊確認郵件)。它可以設定為使用 Sendmail容的 MTA例如 Postfix 和 msmtp或直接使用 SMTP 服器。
## 使用 Sendmail
使用 `sendmail` 命令作為邮件传输代理mailer
使用 `sendmail` 命令作為郵件傳輸代理mailer
注意:對於在官方 Gitea Docker 像中使用,請使用 SMTP 版本進行配置(請考下一)。
注意:對於在官方 Gitea Docker 像中使用,請使用 SMTP 版本進行設定(請考下一)。
注意:對於面向互联网的网站,請查您的 MTA 文檔以了解通過 TLS 发送邮件的明。同时设置 SPF、DMARC 和 DKIM DNS 记录,以使送的件被各个电子邮件提供商接受為合法件。
注意:對於面向互聯網的網站,請查您的 MTA 文件以瞭解通過 TLS 發送郵件的明。同時設定 SPF、DMARC 和 DKIM DNS 記錄,以使送的件被各個電子郵件提供商接受為合法件。
```ini title="app.ini"
[mailer]
@@ -25,12 +25,12 @@ ENABLED = true
FROM = gitea@mydomain.com
PROTOCOL = sendmail
SENDMAIL_PATH = /usr/sbin/sendmail
SENDMAIL_ARGS = "--" ; 大多 "sendmail" 程序都接受選,使用 "--" 防止电子邮件地址被解為選
SENDMAIL_ARGS = "--" ; 大多 "sendmail" 程序都接受選,使用 "--" 防止電子郵件地址被解為選
```
## 使用 SMTP
直接使用 SMTP 服器作為中。如果您不想在例上设置 MTA但在电子邮件提供商那有一帳戶,这个選项非常有用。
直接使用 SMTP 服器作為中。如果您不想在例上設定 MTA但在電子郵件提供商那有一帳戶,這個選項非常有用。
```ini title="app.ini"
[mailer]
@@ -43,29 +43,29 @@ USER = gitea@mydomain.com
PASSWD = `password`
```
Gitea 以使配置更改生效。
Gitea 以使設定更改生效。
发送测试邮件以驗證设置,請到 Gitea > 站管理 > 配置 > SMTP 邮件配置
發送測試郵件以驗證設定,請到 Gitea > 站管理 > 設定 > SMTP 郵件設定
所有選的完整列表,請查看[配置速查表](../administration/config-cheat-sheet.md)。
所有選的完整列表,請查看[設定速查表](../administration/config-cheat-sheet.md)。
請注意:只有在使用 TLS 或 `HOST=localhost` 加密 SMTP 服器通信才支身份驗證。TLS 加密可以過以下方式進行:
請注意:只有在使用 TLS 或 `HOST=localhost` 加密 SMTP 服器通信才支身份驗證。TLS 加密可以過以下方式進行:
- 通過端口 587 的 STARTTLS也稱為 Opportunistic TLS。初始接是明文的,但如果服务器支持,则可以升為 TLS。
- 通過默认端口 465 的 SMTPS 接。接到服务器从一开始就使用 TLS。
- 使用 `PROTOCOL=smtps` 進行制的 SMTPS 接。(这两种方式都被稱為 Implicit TLS
是由 Go 内部库对 STRIPTLS 攻擊的保機制。
- 通過端口 587 的 STARTTLS也稱為 Opportunistic TLS。初始接是明文的,但如果伺服器支援,則可以升為 TLS。
- 通過預設端口 465 的 SMTPS 接。接到伺服器從一開始就使用 TLS。
- 使用 `PROTOCOL=smtps` 進行制的 SMTPS 接。(這兩種方式都被稱為 Implicit TLS
是由 Go 內部庫對 STRIPTLS 攻擊的保機制。
請注意,自 2018 年起,[RFC8314](https://tools.ietf.org/html/rfc8314#section-3) 推使用 Implicit TLS。
請注意,自 2018 年起,[RFC8314](https://tools.ietf.org/html/rfc8314#section-3) 推使用 Implicit TLS。
### Gmail
以下配置應該适用于 Gmail 的 SMTP 服器:
以下設定應該適用於 Gmail 的 SMTP 服器:
```ini title="app.ini"
[mailer]
ENABLED = true
HOST = smtp.gmail.com:465 ; 對於 Gitea >= 1.18.0除此行
HOST = smtp.gmail.com:465 ; 對於 Gitea >= 1.18.0除此行
SMTP_ADDR = smtp.gmail.com
SMTP_PORT = 465
FROM = example.user@gmail.com
@@ -74,4 +74,4 @@ PASSWD = `***`
PROTOCOL = smtps
```
請注意,您需要建立並使用一 [應用密碼](https://support.google.com/accounts/answer/185833?hl=en) 並在您的 Google 帳戶上用 2FA。您無法直接使用您的 Google 帳戶密碼。
請注意,您需要建立並使用一 [應用密碼](https://support.google.com/accounts/answer/185833?hl=en) 並在您的 Google 帳戶上用 2FA。您無法直接使用您的 Google 帳戶密碼。

View File

@@ -7,43 +7,43 @@ aliases:
- /zh-tw/environment-variables
---
# 环境变量清單
# 環境變量清單
这里是用控制 Gitea 行為表現的的环境变量清單,您需要在執行如下 Gitea 启动命令前设置它们来确保配置生效:
這裡是用控制 Gitea 行為表現的的環境變量清單,您需要在執行如下 Gitea 啟動命令前設定它們來確保設定生效:
```
GITEA_CUSTOM=/home/gitea/custom ./gitea web
```
## Go 的配置
## Go 的設定
因為 Gitea 使用 Go 语言编写,因此它使用了一些相的 Go 的配置參數:
因為 Gitea 使用 Go 語言編寫,因此它使用了一些相的 Go 的設定參數:
- `GOOS`
- `GOARCH`
- [`GOPATH`](https://go.dev/cmd/go/#hdr-GOPATH_environment_variable)
您可以在[官方文](https://go.dev/cmd/go/#hdr-Environment_variables)中查阅这些配置參數的详细信息
您可以在[官方文](https://go.dev/cmd/go/#hdr-Environment_variables)中查閱這些設定參數的詳細資訊
## Gitea 的文件目錄
- `GITEA_WORK_DIR`:工作目錄的绝对路径
- `GITEA_CUSTOM`默认情况下 Gitea 使用默认目錄 `GITEA_WORK_DIR`/custom您可以使用这个參數来配置 _custom_ 目錄
- `GOGS_WORK_DIR`废弃,請使用 `GITEA_WORK_DIR` 替代
- `GOGS_CUSTOM`废弃,請使用 `GITEA_CUSTOM` 替代
- `GITEA_WORK_DIR`:工作目錄的絕對路徑
- `GITEA_CUSTOM`預設情況下 Gitea 使用預設目錄 `GITEA_WORK_DIR`/custom您可以使用這個參數來設定 _custom_ 目錄
- `GOGS_WORK_DIR`廢棄,請使用 `GITEA_WORK_DIR` 替代
- `GOGS_CUSTOM`廢棄,請使用 `GITEA_CUSTOM` 替代
## 操作系统配置
## 操作系統設定
- `USER`Gitea 运行时使用的系使用者,它作為一些 repository 的访问地址的一部分
- `USERNAME` 如果没有配置 `USER` Gitea 使用 `USERNAME`
- `HOME` 使用者的 home 目錄,在 Windows 中使用 `USERPROFILE` 环境变
- `USER`Gitea 運行時使用的系使用者,它作為一些 repository 的訪問地址的一部分
- `USERNAME` 如果沒有設定 `USER` Gitea 使用 `USERNAME`
- `HOME` 使用者的 home 目錄,在 Windows 中使用 `USERPROFILE` 環境變
### 僅限 Windows 的配置
### 僅限 Windows 的設定
- `USERPROFILE` 使用者的主目錄,如果未配置则会使用 `HOMEDRIVE` + `HOMEPATH`
- `HOMEDRIVE`: 用于访问 home 目錄的主驱动器路C
- `HOMEPATH`:在指定主驱动器下的 home 目錄相对路径
- `USERPROFILE` 使用者的主目錄,如果未設定則會使用 `HOMEDRIVE` + `HOMEPATH`
- `HOMEDRIVE`: 用於訪問 home 目錄的主驅動器路C
- `HOMEPATH`:在指定主驅動器下的 home 目錄相對路徑
## Miscellaneous
- `SKIP_MINWINSVC`:如果设置為 1在 Windows 上不以 service 的形式行。
- `SKIP_MINWINSVC`:如果設定為 1在 Windows 上不以 service 的形式行。

View File

@@ -9,18 +9,18 @@ aliases:
# 外部渲染器
Gitea 通過外部二進制文件支持自定义文件渲染(例如 Jupyter notebooks、asciidoc 等),只需要進行以下步
Gitea 通過外部二進制文件支援自訂文件渲染(例如 Jupyter notebooks、asciidoc 等),只需要進行以下步
- 安裝外部二進制文件
- 在您的 `app.ini` 文件中添加一些配置
- 重新启动 Gitea
- 在您的 `app.ini` 文件中添加一些設定
- 重新啟動 Gitea
此功能支持整个文件的渲染。如果您想要在 Markdown 中渲染代码块,您需要使用 JavaScript 進行一些操作。請参阅 [定义 Gitea 配置](../administration/customizing-gitea.md) 面上的一些例。
此功能支援整個文件的渲染。如果您想要在 Markdown 中渲染程式碼塊,您需要使用 JavaScript 進行一些操作。請參閱 [ Gitea 設定](../administration/customizing-gitea.md) 面上的一些例。
## 安裝外部二進制文件
為了通過外部二進制文件進行文件渲染,必須安裝它们的关联軟體包
如果您正在使用 Docker 像,您的 `Dockerfile` 應該包含以下容:
為了通過外部二進制文件進行文件渲染,必須安裝它們的關聯套件
如果您正在使用 Docker 像,您的 `Dockerfile` 應該包含以下容:
```docker
FROM docker.gitea.com/gitea:@dockerVersion@
@@ -36,16 +36,16 @@ RUN pipx install jupyter docutils --include-deps
# 在上面添加您需要安裝的任何其他 Python 軟體包
```
## `app.ini` 文件配置
## `app.ini` 文件設定
在您的自定义 `app.ini` 文件中為每外部渲染器添加一 `[markup.XXXXX]` 部分:
在您的自 `app.ini` 文件中為每外部渲染器添加一 `[markup.XXXXX]` 部分:
```ini
[markup.asciidoc]
ENABLED = true
FILE_EXTENSIONS = .adoc,.asciidoc
RENDER_COMMAND = "asciidoctor -s -a showtitle --out-file=- -"
; 入不是标准输入而是文件
; 入不是標準輸入而是文件
IS_INPUT_FILE = false
[markup.jupyter]
@@ -61,12 +61,12 @@ RENDER_COMMAND = "timeout 30s pandoc +RTS -M512M -RTS -f rst"
IS_INPUT_FILE = false
```
如果您的外部标记语言依赖于在生成的 HTML 元素上的额外类和属性,您可能需要用自定义的清理策略。Gitea 使用 [`bluemonday`](https://godoc.org/github.com/microcosm-cc/bluemonday) 包作為我的 HTML 清理器。下面的例可以用于支持从 [`pandoc`](https://pandoc.org/) 出的服器端 [KaTeX](https://katex.org/) 渲染果。
如果您的外部標記語言依賴於在生成的 HTML 元素上的額外類和屬性,您可能需要用自的清理策略。Gitea 使用 [`bluemonday`](https://godoc.org/github.com/microcosm-cc/bluemonday) 包作為我的 HTML 清理器。下面的例可以用於支援從 [`pandoc`](https://pandoc.org/) 出的服器端 [KaTeX](https://katex.org/) 渲染果。
```ini
[markup.sanitizer.TeX]
; Pandoc 渲染 TeX 段落為有 "math" 的 <span> 元素,根上下文可能還有 "inline" 或 "display"
; - 請注意,这与我们的 Markdown 解析器中置的数学支持不同,者使用 <code> 元素。
; Pandoc 渲染 TeX 段落為有 "math" 的 <span> 元素,根上下文可能還有 "inline" 或 "display"
; - 請注意,這與我們的 Markdown 解析器中置的數學支持不同,者使用 <code> 元素。
ELEMENT = span
ALLOW_ATTR = class
REGEXP = ^\s*((math(\s+|$)|inline(\s+|$)|display(\s+|$)))+
@@ -77,19 +77,19 @@ FILE_EXTENSIONS = .md,.markdown
RENDER_COMMAND = pandoc -f markdown -t html --katex
```
您必須在每部分中定 `ELEMENT``ALLOW_ATTR`
您必須在每部分中定 `ELEMENT``ALLOW_ATTR`
要定义多个条目,請添加唯一的字母数字后缀(例如,`[markup.sanitizer.1]``[markup.sanitizer.something]`)。
要定義多個條目,請添加唯一的字母數字後綴(例如,`[markup.sanitizer.1]``[markup.sanitizer.something]`)。
要僅為特定的外部渲染器應用清理規則,它必須使用渲染器名稱,例如 `[markup.sanitizer.asciidoc.rule-1]``[markup.sanitizer.<renderer>.rule-1]`
要僅為特定的外部渲染器應用清理規則,它必須使用渲染器名稱,例如 `[markup.sanitizer.asciidoc.rule-1]``[markup.sanitizer.<renderer>.rule-1]`
**注意**:如果規則在渲染器 ini 部分之前定,或者名稱渲染器不匹配,它應用所有渲染器。
**注意**:如果規則在渲染器 ini 部分之前定,或者名稱渲染器不匹配,它應用所有渲染器。
完成配置更改,請重新启动 Gitea 以使更改生效。
完成設定更改,請重新啟動 Gitea 以使更改生效。
**注意**:在 Gitea 1.12 之前,存在一名為 `markup.sanitiser` 的單部分,其中的被重新定為多規則,但是,这种配置方法存在重大问题,需要通過多部分進行配置
**注意**:在 Gitea 1.12 之前,存在一名為 `markup.sanitiser` 的單部分,其中的被重新定為多規則,但是,這種設定方法存在重大問題,需要通過多部分進行設定
### HTML
### HTML
直接渲染 HTML 文件:
@@ -98,7 +98,7 @@ RENDER_COMMAND = pandoc -f markdown -t html --katex
ENABLED = true
FILE_EXTENSIONS = .html,.htm
RENDER_COMMAND = cat
; 入不是标准输入,而是文件
; 入不是標準輸入,而是文件
IS_INPUT_FILE = true
[markup.sanitizer.html.1]
@@ -110,13 +110,13 @@ ELEMENT = a
ALLOW_ATTR = class
```
請注意:此例中的配置将允许渲染 HTML 文件,並使用 `cat` 命令文件内容输出為 HTML。此外配置中的两个清理規則将允许 `<div>``<a>` 元素使用 `class` 性。
請注意:此例中的設定將允許渲染 HTML 文件,並使用 `cat` 命令文件內容輸出為 HTML。此外設定中的兩個清理規則將允許 `<div>``<a>` 元素使用 `class` 性。
在進行配置更改,請重新启动 Gitea 以使更改生效。
在進行設定更改,請重新啟動 Gitea 以使更改生效。
### Office DOCX
### Office DOCX
使用 [`pandoc`](https://pandoc.org/) 示 Office DOCX 文件:
使用 [`pandoc`](https://pandoc.org/) 示 Office DOCX 文件:
```ini
[markup.docx]
@@ -128,17 +128,17 @@ RENDER_COMMAND = "pandoc --from docx --to html --self-contained --template /path
ALLOW_DATA_URI_IMAGES = true
```
在此例中,配置将允许显示 Office DOCX 文件,並使用 `pandoc` 命令文件转换為 HTML 格式。同,清理規則中的 `ALLOW_DATA_URI_IMAGES` 设置`true`,允使用 Data URI 格式的片。
在此例中,設定將允許顯示 Office DOCX 文件,並使用 `pandoc` 命令文件轉換為 HTML 格式。同,清理規則中的 `ALLOW_DATA_URI_IMAGES` 設定`true`,允使用 Data URI 格式的片。
模板文件的容如下:
模板文件的容如下:
```
$body$
```
### Jupyter Notebook
### Jupyter Notebook
使用 [`nbconvert`](https://github.com/jupyter/nbconvert) 示 Jupyter Notebook 文件:
使用 [`nbconvert`](https://github.com/jupyter/nbconvert) 示 Jupyter Notebook 文件:
```ini
[markup.jupyter]
@@ -150,15 +150,15 @@ RENDER_COMMAND = "jupyter-nbconvert --stdin --stdout --to html --template basic"
ALLOW_DATA_URI_IMAGES = true
```
在此例中,配置将允许显示 Jupyter Notebook 文件,並使用 `nbconvert` 命令文件转换為 HTML 格式。同,清理規則中的 `ALLOW_DATA_URI_IMAGES` 设置`true`,允使用 Data URI 格式的片。
在此例中,設定將允許顯示 Jupyter Notebook 文件,並使用 `nbconvert` 命令文件轉換為 HTML 格式。同,清理規則中的 `ALLOW_DATA_URI_IMAGES` 設定`true`,允使用 Data URI 格式的片。
在進行配置更改,請重新启动 Gitea 以使更改生效。
在進行設定更改,請重新啟動 Gitea 以使更改生效。
## 自定义 CSS
## 自 CSS
`.ini` 文件中,可以使用 `[markup.XXXXX]` 的格式指定外部渲染器,並且由外部渲染器生成的 HTML 被包在一个带`markup``XXXXX` `<div>` 中。`markup` 提供了预定义的样式(如果 `XXXXX``markdown`使用 `markdown` )。否,您可以使用这些类来针对渲染的 HTML 容進行定制样式。
`.ini` 文件中,可以使用 `[markup.XXXXX]` 的格式指定外部渲染器,並且由外部渲染器生成的 HTML 被包在一個帶`markup``XXXXX` `<div>` 中。`markup` 提供了預定義的樣式(如果 `XXXXX``markdown`使用 `markdown` )。否,您可以使用這些類來針對渲染的 HTML 容進行定製樣式。
因此,您可以编写一些 CSS 式:
因此,您可以編寫一些 CSS 式:
```css
.markup.XXXXX html {
@@ -185,10 +185,10 @@ ALLOW_DATA_URI_IMAGES = true
}
```
您的式表添加到自定义目錄中,例如 `custom/public/assets/css/my-style-XXXXX.css`,並使用自定义的头文件 `custom/templates/custom/header.tmpl` 進行入:
您的式表添加到自目錄中,例如 `custom/public/assets/css/my-style-XXXXX.css`,並使用自訂的頭文件 `custom/templates/custom/header.tmpl` 進行入:
```html
<link rel="stylesheet" href="{{AppSubUrl}}/assets/css/my-style-XXXXX.css" />
```
通過以上步,您可以将自定义的 CSS 式應用到特定的外部渲染器,使其具有所需的式效果。
通過以上步,您可以將自訂的 CSS 式應用到特定的外部渲染器,使其具有所需的式效果。

View File

@@ -7,13 +7,13 @@ aliases:
- /zh-tw/fail2ban-setup
---
# 设置 Fail2ban
# 設定 Fail2ban
**Fail2ban 查客端登入日志,将多次登入失的客户端识别為攻擊者並在一段时间内阻止其访问服务。如果你的例是公的,这一点尤其重要。請管理员仔细设置 fail2ban错误的配置将导致防火阻止你访问自己的服器。**
**Fail2ban 查客端登入日誌,將多次登入失的客戶端識別為攻擊者並在一段時間內阻止其訪問服務。如果你的例是公的,這一點尤其重要。請管理員仔細設定 fail2ban錯誤的設定將導致防火阻止你訪問自己的服器。**
Gitea 在日文件 `log/gitea.log`记录登入失的 CLI、SSH 或 HTTP 客端 IP 地址,而你需要 Gitea 的日志输出模式从默认`console` 更改為 `file`表示将日志输出到文件,使得 fail2ban 可以定期掃描日志内容。
Gitea 在日文件 `log/gitea.log`記錄登入失的 CLI、SSH 或 HTTP 客端 IP 地址,而你需要 Gitea 的日誌輸出模式從預設`console` 更改為 `file`表示將日誌輸出到文件,使得 fail2ban 可以定期掃描日誌內容。
使用者的身份驗證失败时,日志中会记录此类信息
使用者的身份驗證失敗時,日誌中會記錄此類資訊
```log
2018/04/26 18:15:54 [I] Failed authentication attempt for user from xxx.xxx.xxx.xxx
@@ -23,9 +23,9 @@ Gitea 会在日志文件 `log/gitea.log` 中记录登入失败的 CLI、SSH 或
2020/10/15 16:08:44 [E] invalid credentials from xxx.xxx.xxx.xxx
```
## 配置規則
## 設定規則
添加日志過滤器規則到配置文件 `/etc/fail2ban/filter.d/gitea.conf`:
添加日誌過濾器規則到設定文件 `/etc/fail2ban/filter.d/gitea.conf`:
```ini
[Definition]
@@ -33,7 +33,7 @@ failregex = .*(Failed authentication attempt|invalid credentials|Attempted acce
ignoreregex =
```
添加监狱規則到配置文件 `/etc/fail2ban/jail.d/gitea.conf`:
添加監獄規則到設定文件 `/etc/fail2ban/jail.d/gitea.conf`:
```ini
[gitea]
@@ -46,9 +46,9 @@ bantime = 900
action = iptables-allports
```
如果你的 Gitea 实例运行在 Docker 容器中,並且直接容器端口暴露到外部网络
你還需要添加 `chain="FORWARD"`监狱規則配置文件 `/etc/fail2ban/jail.d/gitea-docker.conf`
應 Docker 的网络转发規則。但如果你在容器的宿主上使用 Nginx 反向代理接到 Gitea 無需这样配置
如果你的 Gitea 實例運行在 Docker 容器中,並且直接容器端口暴露到外部網路
你還需要添加 `chain="FORWARD"`監獄規則設定文件 `/etc/fail2ban/jail.d/gitea-docker.conf`
應 Docker 的網路轉發規則。但如果你在容器的宿主上使用 Nginx 反向代理接到 Gitea 無需這樣設定
```ini
[gitea-docker]
@@ -61,26 +61,26 @@ bantime = 900
action = iptables-allports[chain="FORWARD"]
```
后,运`systemctl restart fail2ban` 即可應用更改。現在,你可以使用 `systemctl status fail2ban` 查 fail2ban 运行状态
後,運`systemctl restart fail2ban` 即可應用更改。現在,你可以使用 `systemctl status fail2ban` 查 fail2ban 運行狀態
上述規則定客端在 1 小时内,如果登入失的次数达到 10 次,通過 iptables 定該客端 IP 地址 15 分
上述規則定客端在 1 小時內,如果登入失的次數達到 10 次,通過 iptables 定該客端 IP 地址 15 分
## 设置反向代理
## 設定反向代理
如果你使用 Nginx 反向代理到 Gitea 例,你還需要设置 Nginx 的 HTTP 部值 `X-Real-IP` 将真实的客端 IP 地址传递给 Gitea。否 Gitea 程序会将客户端地址错误解析為反向代理服器的地址,例如回环地址 `127.0.0.1`
如果你使用 Nginx 反向代理到 Gitea 例,你還需要設定 Nginx 的 HTTP 部值 `X-Real-IP` 將真實的客端 IP 地址傳遞給 Gitea。否 Gitea 程式會將客戶端地址錯誤解析為反向代理服器的地址,例如迴環地址 `127.0.0.1`
```
proxy_set_header X-Real-IP $remote_addr;
```
外注意,在 Gitea 的配置文件 `app.ini` 中存在下列默认值:
外注意,在 Gitea 的設定文件 `app.ini` 中存在下列預設值:
```
REVERSE_PROXY_LIMIT = 1
REVERSE_PROXY_TRUSTED_PROXIES = 127.0.0.0/8,::1/128
```
`REVERSE_PROXY_LIMIT` 限制反向代理服务器的层数,设置`0` 表示不使用这些标头
`REVERSE_PROXY_TRUSTED_PROXIES` 表示受信任的反向代理服务器网络地址,
過該网络地址转发来的流量会经過解析 `X-Real-IP` 部得到真实客户端地址。
考 [configuration cheat sheet](../administration/config-cheat-sheet.md#安全性)
`REVERSE_PROXY_LIMIT` 限制反向代理伺服器的層數,設定`0` 表示不使用這些標頭
`REVERSE_PROXY_TRUSTED_PROXIES` 表示受信任的反向代理伺服器網路地址,
過該網路地址轉發來的流量會經過解析 `X-Real-IP` 部得到真實客戶端地址。
考 [configuration cheat sheet](../administration/config-cheat-sheet.md)

View File

@@ -7,18 +7,18 @@ aliases:
- /zh-tw/git-lfs-setup
---
# Git LFS 设置
# Git LFS 設定
要使用 Gitea 置的 LFS 支,您需要更新 `app.ini` 文件:
要使用 Gitea 置的 LFS 支,您需要更新 `app.ini` 文件:
```ini
[server]
; 用 git-lfs 支持。true 或 false為 false。
; 用 git-lfs 支持。true 或 false為 false。
LFS_START_SERVER = true
[lfs]
; 存放 LFS 文件的路,默為 data/lfs。
; 存放 LFS 文件的路,默為 data/lfs。
PATH = /home/gitea/data/lfs
```
**注意**LFS 服器支需要服器上安裝 Git v2.1.2 以上版本。
**注意**LFS 服器支需要服器上安裝 Git v2.1.2 以上版本。

View File

@@ -5,16 +5,16 @@ sidebar_position: 12
---
# HTTPS配置
# HTTPS設定
## 使用内置服务
## 使用內置伺服
用HTTPS之前保您有有效的SSL/TLS证书
议在测试和评估情下使用自签名证书,請`gitea cert --host [HOST]` 以生成自签名证书
用HTTPS之前保您有有效的SSL/TLS證書
議在測試和評估情下使用自簽名證書,請`gitea cert --host [HOST]` 以生成自簽名證書
如果您在服器上使用阿帕奇Apache或Nginx议参考 [反向代理指南](reverse-proxies.md)。
如果您在服器上使用阿帕奇Apache或Nginx議參考 [反向代理指南](reverse-proxies.md)。
要使用Gitea置HTTPS支,您必須编辑`app.ini`文件。
要使用Gitea置HTTPS支,您必須編輯`app.ini`文件。
```ini
[server]
@@ -25,13 +25,13 @@ CERT_FILE = cert.pem
KEY_FILE = key.pem
```
請注意,如果您的证书由第三方证书颁发机构签名(即不是自名的), cert.pem 應包含证书链。服务器证书必須是 cert.pem 中的第一个条目,跟中介(如果有)。不必包含根证书,因為接客端必須已经拥有根证书才能建立信任关系。要了解有关配置值的更多信息,請查看 [配置备忘單](../administration/config-cheat-sheet#server-server)。
請注意,如果您的證書由第三方證書頒發機構簽名(即不是自名的), cert.pem 應包含證書鏈。伺服器證書必須是 cert.pem 中的第一個條目,跟中介(如果有)。不必包含根證書,因為接客端必須已經擁有根證書才能建立信任關係。要了解有關設定值的更多資訊,請查看 [設定備忘單](../administration/config-cheat-sheet.md)。
對於“CERT_FILE”或“KEY_FILE”字段,当文件路是相对路径时,文件路相對於“GITEA_CUSTOM”环境变量。它也可以是绝对路径
對於“CERT_FILE”或“KEY_FILE”欄位,當文件路是相對路徑時,文件路相對於“GITEA_CUSTOM”環境變量。它也可以是絕對路徑
### 设置HTTP重定向
### 設定HTTP重定向
Gitea服器僅支持监听一个端口要重定向HTTP請求致HTTPS端口您需要用HTTP重定向服
Gitea服器僅支援監聽一個端口要重定向HTTP請求致HTTPS端口您需要用HTTP重定向服
```ini
[server]
@@ -40,13 +40,13 @@ REDIRECT_OTHER_PORT = true
PORT_TO_REDIRECT = 3080
```
如果您使用Docker保端口已配置`docker-compose.yml` 文件
如果您使用Docker保端口已設定`docker-compose.yml` 文件
## 使用 ACME (默认: Let's Encrypt)
## 使用 ACME (預設: Let's Encrypt)
[ACME](https://tools.ietf.org/html/rfc8555) 是一种证书颁发机构标准协议,允您自請求和续订 SSL/TLS 证书。[Let`s Encrypt](https://letsencrypt.org/) 是使用此标准的免费公开信任的证书颁发机构服务器。僅施“HTTP-01”和“TLS-ALPN-01”挑。為了使 ACME 质询通過並驗證您的域所有“80”端口“HTTP-01”或“443”端口“TLS-ALPN-01”上 gitea 域的外部流量必須由 gitea 例提供服。可能需要设置 [HTTP 重定向](#设置http重定向) 和端口转发才能正路由外部流量。否到端口“80”的正常流量将自动重定向到 HTTPS。**您必須同意**ACME提供商的服务条款(默认為Let's Encrypt的 [务条](https://letsencrypt.org/documents/LE-SA-v1.2-2017年11月15日.pdf)。
[ACME](https://tools.ietf.org/html/rfc8555) 是一種證書頒發機構標準協議,允您自請求和續訂 SSL/TLS 證書。[Let`s Encrypt](https://letsencrypt.org/) 是使用此標準的免費公開信任的證書頒發機構伺服器。僅施“HTTP-01”和“TLS-ALPN-01”挑。為了使 ACME 質詢通過並驗證您的域所有“80”端口“HTTP-01”或“443”端口“TLS-ALPN-01”上 gitea 域的外部流量必須由 gitea 例提供服。可能需要設定 [HTTP 重定向](#設定http重定向) 和端口轉發才能正路由外部流量。否到端口“80”的正常流量將自動重定向到 HTTPS。**您必須同意**ACME提供商的服務條款(預設為Let's Encrypt的 [務條](https://letsencrypt.org/documents/LE-SA-v1.2-2017年11月15日.pdf)。
使用默认 Let's Encrypt 的最小配置如下:
使用預設 Let's Encrypt 的最小設定如下:
```ini
[server]
@@ -59,7 +59,7 @@ ACME_DIRECTORY=https
ACME_EMAIL=email@example.com
```
小型配置請使用 [smallstep CA](https://github.com/smallstep/certificates), 點擊 [](https://smallstep.com/docs/tutorials/acme-challenge) 解更多信息
小型設定請使用 [smallstep CA](https://github.com/smallstep/certificates), 點擊 [](https://smallstep.com/docs/tutorials/acme-challenge) 解更多資訊
```ini
[server]
@@ -74,16 +74,16 @@ ACME_DIRECTORY=https
ACME_EMAIL=email@example.com
```
要了解关于配置, 請访问 [配置备忘單](../administration/config-cheat-sheet.md#server-server)取更多信息
要了解關於設定, 請前往 [設定備忘單](../administration/config-cheat-sheet.md)取更多資訊
## 使用反向代理服
## 使用反向代理服器
按照 [reverse proxy guide](reverse-proxies.md) 的規則设置你的反向代理服
按照 [reverse proxy guide](reverse-proxies.md) 的規則設定你的反向代理服器
,按照下面的向导启用 HTTPS
,按照下面的嚮導啟用 HTTPS
- [nginx](https://nginx.org/en/docs/http/configuring_https_servers.html)
- [apache2/httpd](https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html)
- [caddy](https://caddyserver.com/docs/tls)
注意:僅在代理层启用 HTTPS 被稱為 [TLS 止代理](https://en.wikipedia.org/wiki/TLS_termination_proxy)。代理服器接受入的 TLS 接,解密容,然后将現在未加密的内容传递给 Gitea。只要代理和 Gitea 例在同一台计算机上或在私有网络中的不同计算机上(代理暴露外部网络通常是可以接受的。如果您的 Gitea 实例与代理隔在公共网络上,或者如果您想要全端到端的加密,您還可以直接在 Gitea 中 [启用内置服务器的 HTTPS 支](#使用内置服务),並将连接转发到 HTTPS 上。
注意:僅在代理層啟用 HTTPS 被稱為 [TLS 止代理](https://en.wikipedia.org/wiki/TLS_termination_proxy)。代理服器接受入的 TLS 接,解密容,然後將現在未加密的內容傳遞給 Gitea。只要代理和 Gitea 例在同一臺計算機上或在私有網路中的不同計算機上(代理暴露外部網路通常是可以接受的。如果您的 Gitea 實例與代理隔在公共網路上,或者如果您想要全端到端的加密,您還可以直接在 Gitea 中 [啟用內置伺服器的 HTTPS 支](#使用內置伺服),並將連接轉發到 HTTPS 上。

View File

@@ -6,44 +6,44 @@ aliases:
- /zh-tw/logging-configuration
---
# 日志配置
# 日誌設定
Gitea 的日志配置主要由以下三類型的组件组成:
Gitea 的日誌設定主要由以下三類型的元件組成:
- `[log]` 部分用一般配置
- `[log.<mode-name>]` 部分用于配置不同的日志输出方式,也稱為 "writer mode",模式名稱同也作為 "writer name"
- `[log]` 部分還可以包含遵循 `logger.<logger-name>.<CONFIG-KEY>` 模式的子日志记录器的配置
- `[log]` 部分用一般設定
- `[log.<mode-name>]` 部分用於設定不同的日誌輸出方式,也稱為 "writer mode",模式名稱同也作為 "writer name"
- `[log]` 部分還可以包含遵循 `logger.<logger-name>.<CONFIG-KEY>` 模式的子日誌記錄器的設定
默认情况下,已有一完全功能的日志输出,因此不需要重新定
預設情況下,已有一完全功能的日誌輸出,因此不需要重新定
## 收集日志以获取帮
## 收集日誌以獲取幫
要收集日志以获取帮助和报告问题,請参阅 [需要](help/support.md)。
要收集日誌以獲取幫助和報告問題,請參閱 [需要](help/support.md)。
## `[log]` 部分
在 Gitea 中,日志设施的配置`[log]` 部分及其子部分。
在 Gitea 中,日誌設施的設定`[log]` 部分及其子部分。
顶层`[log]` 部分,可以放置以下配置项
頂層`[log]` 部分,可以放置以下設定項
- `ROOT_PATH`默认值:**%(GITEA_WORK_DIR)/log**):日文件的基本路
- `MODE`默认值:**console**):要用于默认日志记录器的日志输出列表。
- `LEVEL`默认值:**Info**):要持久化的最重的日事件,不分大小。可能的值為:`Trace``Debug``Info``Warn``Error``Fatal`
- `STACKTRACE_LEVEL`默认值:**None**):對於此及更重的事件,将在记录时打印堆栈跟踪
- `ROOT_PATH`預設值:**%(GITEA_WORK_DIR)/log**):日文件的基本路
- `MODE`預設值:**console**):要用於預設日誌記錄器的日誌輸出列表。
- `LEVEL`預設值:**Info**):要持久化的最重的日事件,不分大小。可能的值為:`Trace``Debug``Info``Warn``Error``Fatal`
- `STACKTRACE_LEVEL`預設值:**None**):對於此及更重的事件,將在記錄時打印堆棧跟蹤
它還可以包含以下子日志记录器:
它還可以包含以下子日誌記錄器:
- `logger.router.MODE`默认值:**,**):用路由器日志记录器的日志输出列表。
- `logger.access.MODE`默认值:**_empty_**):用于访问日志记录器的日志输出列表。默认情况下,访问日志记录器被禁用。
- `logger.xorm.MODE`默认值:**,**):用 XORM 日志记录器的日志输出列表。
- `logger.router.MODE`預設值:**,**):用路由器日誌記錄器的日誌輸出列表。
- `logger.access.MODE`預設值:**_empty_**):用於訪問日誌記錄器的日誌輸出列表。預設情況下,訪問日誌記錄器被禁用。
- `logger.xorm.MODE`預設值:**,**):用 XORM 日誌記錄器的日誌輸出列表。
子日志记录器的模式设置為逗`,`)表示使用默认的全 `MODE`
子日誌記錄器的模式設定為逗`,`)表示使用預設的全 `MODE`
## 快速
## 快速
### 默认(空)配置
### 預設(空)設定
配置等同于默认配置
設定等同於預設設定
```ini
[log]
@@ -55,7 +55,7 @@ logger.router.MODE = ,
logger.xorm.MODE = ,
logger.access.MODE =
; 是“控制”模式的配置選(由上面的 MODE=console 使用)
; 是“控制”模式的配置選(由上面的 MODE=console 使用)
[log.console]
MODE = console
FLAGS = stdflags
@@ -63,13 +63,13 @@ PREFIX =
COLORIZE = true
```
等同于将所有日志发送到控制,並将默认的 Golang 日志也发送到控制台日志中。
等同於將所有日誌發送到控制,並將預設的 Golang 日誌也發送到控制檯日誌中。
只是一个示例,默认情况下不需要将其写入配置文件中。
只是一個範例,預設情況下不需要將其寫入設定文件中。
### 禁用路由日志並将一些访问日志记录到文件中
### 禁用路由日誌並將一些訪問日誌記錄到文件中
禁用路由日志,将访问日志>=Warn记录`access.log` 中:
禁用路由日誌,將訪問日誌>=Warn記錄`access.log` 中:
```ini
[log]
@@ -82,16 +82,16 @@ LEVEL = Warn
FILE_NAME = access.log
```
### 為不同的模式设置不同的日志级别
### 為不同的模式設定不同的日誌級別
将默认日志>=Warn记录`gitea.log` 中,将错误日志记录`file-error.log` 中:
將預設日誌>=Warn記錄`gitea.log` 中,將錯誤日誌記錄`file-error.log` 中:
```ini
[log]
LEVEL = Warn
MODE = file, file-error
; 默认情况下,"file" 模式会将日志记录到 %(log.ROOT_PATH)/gitea.log因此我不需要置它
; 默認情況下,"file" 模式會將日誌記錄到 %(log.ROOT_PATH)/gitea.log因此我不需要置它
; [log.file]
[log.file-error]
@@ -99,165 +99,165 @@ LEVEL = Error
FILE_NAME = file-error.log
```
## 日志输出(模式和入器)
## 日誌輸出(模式和入器)
Gitea 提供以下日志写入器:
Gitea 提供以下日誌寫入器:
- `console` - 出日`stdout`(或 `stderr`,如果已在配置中设置
- `file` - 出日到文件
- `conn` - 出日到套接字(网络或 Unix 套接字)
- `console` - 出日`stdout`(或 `stderr`,如果已在設定中設定
- `file` - 出日到文件
- `conn` - 出日到套接字(網路或 Unix 套接字)
### 公共配置
### 公共設定
某些配置适用于所有日志输出模式:
某些設定適用於所有日誌輸出模式:
- `MODE` 是日志输出写入器的模式。它将默认為 ini 部分的模式名稱。因此,`[log.console]` 将默认`MODE = console`
- `LEVEL` 是此输出将记录的最低日志级别
- `STACKTRACE_LEVEL` 是此输出将打印堆栈跟踪的最低日志级别
- `COLORIZE` 對於 `console`默认`true`,否则默认`false`
- `MODE` 是日誌輸出寫入器的模式。它將預設為 ini 部分的模式名稱。因此,`[log.console]` 將預設`MODE = console`
- `LEVEL` 是此輸出將記錄的最低日誌級別
- `STACKTRACE_LEVEL` 是此輸出將打印堆棧跟蹤的最低日誌級別
- `COLORIZE` 對於 `console`預設`true`,否則預設`false`
#### `EXPRESSION`
`EXPRESSION` 表示日事件必須匹配才能被输出写入器记录的正则表达式。
消息(去除色)或 `longfilename:linenumber:functionname` 必須匹配其中之一。
注意:整消息或字符串不需要完全匹配。
`EXPRESSION` 表示日事件必須匹配才能被輸出寫入器記錄的正則表達式。
消息(去除色)或 `longfilename:linenumber:functionname` 必須匹配其中之一。
注意:整消息或字符串不需要完全匹配。
請注意,此表达式将在写入器的 goroutine 中行,而不是在日事件的 goroutine 中行。
請注意,此表達式將在寫入器的 goroutine 中行,而不是在日事件的 goroutine 中行。
#### `FLAGS`
`FLAGS` 表示在每消息之前打印的前置日上下文信息
它是一个逗号分隔的字符串集。值的序無关紧要。
`FLAGS` 表示在每消息之前打印的前置日上下文資訊
它是一個逗號分隔的字符串集。值的序無關緊要。
默认值為 `stdflags`= `date,time,medfile,shortfuncname,levelinitial`)。
預設值為 `stdflags`= `date,time,medfile,shortfuncname,levelinitial`)。
可能的值為:
- `none``,` - 無标志
- `date` - 当地时区的日期:`2009/01/23`
- `time` - 当地时区的时间`01:23:23`
- `microseconds` - 微秒精度:`01:23:23.123123`。假定有时间
- `longfile` - 完整的文件名和行`/a/b/c/d.go:23`
- `shortfile` - 文件名的最后一个部分和行`d.go:23`
- `funcname` - 用者的函名:`runtime.Caller()`
- `shortfuncname` - 函名的最一部分。覆 `funcname`
- `utc` - 如果设置了日期或时间,则使用 UTC 而不是本地时区
- `levelinitial` - 提供的级别的初始字符,放在方括号内,例如 `[I]` 表示 info。
- `level` - 在方括号内的级别,例如 `[INFO]`
- `none``,` - 無標誌
- `date` - 當地時區的日期:`2009/01/23`
- `time` - 當地時區的時間`01:23:23`
- `microseconds` - 微秒精度:`01:23:23.123123`。假定有時間
- `longfile` - 完整的文件名和行`/a/b/c/d.go:23`
- `shortfile` - 文件名的最後一個部分和行`d.go:23`
- `funcname` - 調用者的函名:`runtime.Caller()`
- `shortfuncname` - 函名的最一部分。覆 `funcname`
- `utc` - 如果設定了日期或時間,則使用 UTC 而不是本地時區
- `levelinitial` - 提供的級別的初始字符,放在方括號內,例如 `[I]` 表示 info。
- `level` - 在方括號內的級別,例如 `[INFO]`
- `gopid` - 上下文的 Goroutine-PID。
- `medfile` - 文件名的最 20 字符 - 相当于 `shortfile,longfile`
- `stdflags` - 相当于 `date,time,medfile,shortfuncname,levelinitial`
- `medfile` - 文件名的最 20 字符 - 相當於 `shortfile,longfile`
- `stdflags` - 相當於 `date,time,medfile,shortfuncname,levelinitial`
### Console 模式
在此模式下,日志记录器将将日志消息转发到 Gitea 進程附加的 stdout 和 stderr 流。
在此模式下,日誌記錄器將將日誌消息轉發到 Gitea 進程附加的 stdout 和 stderr 流。
對於 console 模式的日志记录器,如果不在 Windows 上,或者 Windows 端可以设置為 ANSI 模式,或者是 cygwin 或 Msys 管道, `COLORIZE` 默认`true`
對於 console 模式的日誌記錄器,如果不在 Windows 上,或者 Windows 端可以設定為 ANSI 模式,或者是 cygwin 或 Msys 管道, `COLORIZE` 預設`true`
设置
設定
- `STDERR`**false**:日志记录器是否應将日志打印到 `stderr` 而不是 `stdout`
- `STDERR`**false**:日誌記錄器是否應將日誌打印到 `stderr` 而不是 `stdout`
### File 模式
在此模式下,日志记录器将将日志消息保存到文件中。
在此模式下,日誌記錄器將將日誌消息保存到文件中。
设置
設定
- `FILE_NAME`:要将日志事件入的文件,相對於 `ROOT_PATH`默认`%(ROOT_PATH)/gitea.log`常情况:访问日志默认`%(ROOT_PATH)/access.log`
- `MAX_SIZE_SHIFT`**28**:單文件的最大大小位移。28 表示 256Mb。详细信息见下文。
- `LOG_ROTATE` **true**:是否轮转日志文件。
- `DAILY_ROTATE`**true**:是否每天旋转日志
- `MAX_DAYS`**7**:在此天数之后删除旋的日文件。
- `COMPRESS`**true**默认情况下是否使用 gzip 压缩旧的日文件。
- `COMPRESSION_LEVEL`**-1**压缩级别。详细信息见下文。
- `FILE_NAME`:要將日誌事件入的文件,相對於 `ROOT_PATH`預設`%(ROOT_PATH)/gitea.log`常情況:訪問日誌預設`%(ROOT_PATH)/access.log`
- `MAX_SIZE_SHIFT`**28**:單文件的最大大小位移。28 表示 256Mb。詳細資訊見下文。
- `LOG_ROTATE` **true**:是否輪轉日誌文件。
- `DAILY_ROTATE`**true**:是否每天旋轉日誌
- `MAX_DAYS`**7**:在此天數之後刪除旋的日文件。
- `COMPRESS`**true**預設情況下是否使用 gzip 壓縮舊的日文件。
- `COMPRESSION_LEVEL`**-1**壓縮級別。詳細資訊見下文。
`MAX_SIZE_SHIFT` 通過将给定次左移 1 (`1 << x`) 来定义文件的最大大小。
在 v1.17.3 版本时的确切行為可以在[这里](https://github.com/go-gitea/gitea/blob/v1.17.3/modules/setting/log.go#L185)中查看。
`MAX_SIZE_SHIFT` 通過將給定次左移 1 (`1 << x`) 來定義文件的最大大小。
在 v1.17.3 版本時的確切行為可以在[這裡](https://github.com/go-gitea/gitea/blob/v1.17.3/modules/setting/log.go#L185)中查看。
`COMPRESSION_LEVEL` 的有用值范围从 1 到包括9其中高的字表示更好的压缩
請注意,更好的压缩可能会带来更高的源使用。
必須在前面加上 `-`
`COMPRESSION_LEVEL` 的有用值範圍從 1 到包括9其中高的字表示更好的壓縮
請注意,更好的壓縮可能會帶來更高的源使用。
必須在前面加上 `-`
### Conn 模式
在此模式下,日志记录器将通過网络套接字送日消息。
在此模式下,日誌記錄器將通過網路套接字送日消息。
设置
設定
- `ADDR`**:7020**设置要连接的地址。
- `PROTOCOL`**tcp**设置协议,可以是 "tcp"、"unix" 或 "udp"。
- `RECONNECT`**false**:在连接丢失时尝试重新接。
- `RECONNECT_ON_MSG`**false**:為每消息重新接主
- `ADDR`**:7020**設定要連接的地址。
- `PROTOCOL`**tcp**設定協議,可以是 "tcp"、"unix" 或 "udp"。
- `RECONNECT`**false**:在連接丟失時嘗試重新接。
- `RECONNECT_ON_MSG`**false**:為每消息重新接主
### "Router" 日志记录
### "Router" 日誌記錄
Gitea 的路由理程工作Router 日志记录器记录以下消息類型:
Gitea 的路由理程工作Router 日誌記錄器記錄以下消息類型:
- `started` 消息以 TRACE 级别记录
- `polling`/`completed` 路由以 INFO 级别记录。异常情"/assets" 静态资源請求也以 TRACE 级别记录
- `slow` 路由以 WARN 级别记录
- `failed` 路由以 WARN 级别记录
- `started` 消息以 TRACE 級別記錄
- `polling`/`completed` 路由以 INFO 級別記錄。異常情"/assets" 靜態資源請求也以 TRACE 級別記錄
- `slow` 路由以 WARN 級別記錄
- `failed` 路由以 WARN 級別記錄
### "XORM" 日志记录
### "XORM" 日誌記錄
為了使 XORM 出 SQL 日,還應 `[database]` 部分中的 `LOG_SQL` 设置`true`
為了使 XORM 出 SQL 日,還應 `[database]` 部分中的 `LOG_SQL` 設定`true`
### "Access" 日志记录
### "Access" 日誌記錄
"Access" 日志记录器是自 Gitea 1.9 版本以的新日志记录器。它提供了符合 NCSA Common Log 标准的日格式。然它具有高度可配置性,但在更改其模板时應谨慎。此日志记录器的主要好Gitea 現在可以使用标准日志格式记录访问日志,因此可以使用标准工具進行分析。
"Access" 日誌記錄器是自 Gitea 1.9 版本以的新日誌記錄器。它提供了符合 NCSA Common Log 標準的日格式。然它具有高度可設定性,但在更改其模板時應謹慎。此日誌記錄器的主要好Gitea 現在可以使用標準日誌格式記錄訪問日誌,因此可以使用標準工具進行分析。
您可以過使用 `logger.access.MODE = ...` 来启用此日志记录器。
您可以過使用 `logger.access.MODE = ...` 來啟用此日誌記錄器。
如果需要,可以過更改 `ACCESS_LOG_TEMPLATE` 的值更改 "Access" 日志记录器的格式。
如果需要,可以過更改 `ACCESS_LOG_TEMPLATE` 的值更改 "Access" 日誌記錄器的格式。
請注意,访问日志记录器将`INFO` 级别记录,将此日志记录器的 `LEVEL` 设置`WARN` 或更高级别将导致不记录访问日志
請注意,訪問日誌記錄器將`INFO` 級別記錄,將此日誌記錄器的 `LEVEL` 設定`WARN` 或更高級別將導致不記錄訪問日誌
#### ACCESS_LOG_TEMPLATE
此值表示一 Go 模板。其默认值為
此值表示一 Go 模板。其預設值為
```tmpl
{{.Ctx.RemoteHost}} - {{.Identity}} {{.Start.Format "[02/Jan/2006:15:04:05 -0700]" }} "{{.Ctx.Req.Method}} {{.Ctx.Req.URL.RequestURI}} {{.Ctx.Req.Proto}}" {{.ResponseWriter.Status}} {{.ResponseWriter.Size}} "{{.Ctx.Req.Referer}}" "{{.Ctx.Req.UserAgent}}"`
```
模板接收以下選
模板接收以下選
- `Ctx``context.Context`
- `Identity``SignedUserName`,如果使用者未登入,為 "-"
- `Start` 是請求的开始时间
- `Identity``SignedUserName`,如果使用者未登入,為 "-"
- `Start` 是請求的開始時間
- `ResponseWriter``http.ResponseWriter`
更改此模板必須小心,因為它在标准的 panic 恢陷阱之外行。此模板應該可能單,因為它為每請求行一次。
更改此模板必須小心,因為它在標準的 panic 恢陷阱之外行。此模板應該可能單,因為它為每請求行一次。
## 放和重新打开、暂停和恢复日志记录
## 放和重新打開、暫停和恢復日誌記錄
如果您在 Unix 上行,您可能希望放和重新打开日志以使用 `logrotate` 或其他工具。
可以過向行中的進程`SIGUSR1`号或运`gitea manager logging release-and-reopen` 命令来强制 Gitea 放並重新打其日文件和接。
如果您在 Unix 上行,您可能希望放和重新打開日誌以使用 `logrotate` 或其他工具。
可以過向行中的進程`SIGUSR1`號或運`gitea manager logging release-and-reopen` 命令來強制 Gitea 放並重新打其日文件和接。
或者,您可能希望停和恢复日志记录 - 可以過使用 `gitea manager logging pause``gitea manager logging resume` 命令来实現。請注意,日志记录暂停时,低 INFO 级别的日事件将不会存儲,並且只会存儲有限量的事件。在暂停时,日志记录可能阻塞,管是暂时性的,但大大慢 Gitea 的行速度,因此建议僅暂停很短的时间
或者,您可能希望停和恢復日誌記錄 - 可以過使用 `gitea manager logging pause``gitea manager logging resume` 命令來實現。請注意,日志記錄暫停時,低 INFO 級別的日事件將不會儲存,並且只會儲存有限量的事件。在暫停時,日誌記錄可能阻塞,管是暫時性的,但大大慢 Gitea 的行速度,因此建議僅暫停很短的時間
### 在 Gitea 运行时添加和除日志记录
### 在 Gitea 運行時添加和除日誌記錄
可以使用 `gitea manager logging add``remove` 子命令在 Gitea 运行时添加和除日志记录
此功能只能整正在行的日志系统,不能用于启动未初始化的访问或路由日志记录器。如果您希望启动这些系,建议调整 app.ini 並(雅地)重新启动 Gitea 服
可以使用 `gitea manager logging add``remove` 子命令在 Gitea 運行時添加和除日誌記錄
此功能只能調整正在行的日誌系統,不能用於啟動未初始化的訪問或路由日誌記錄器。如果您希望啟動這些系,建議調整 app.ini 並(雅地)重新啟動 Gitea 服
些命令的主要目的是在行中的系统上轻松添加临时日志记录器,以便调查问题,因為重新启动可能会导致问题消失。
些命令的主要目的是在行中的系統上輕鬆添加臨時日誌記錄器,以便調查問題,因為重新啟動可能會導致問題消失。
## 使用 `logrotate` 而不是置的日志轮转
## 使用 `logrotate` 而不是置的日誌輪轉
Gitea 包含置的日志轮转功能,對於大多部署来说應該已经足够了。但是,如果您想使用 `logrotate` 工具:
Gitea 包含置的日誌輪轉功能,對於大多部署來說應該已經足夠了。但是,如果您想使用 `logrotate` 工具:
-`app.ini` `LOG_ROTATE` 设置`false`,禁用置的日志轮转
-`app.ini` `LOG_ROTATE` 設定`false`,禁用置的日誌輪轉
- 安裝 `logrotate`
-部署要求配置 `logrotate`,有关配置语法细节,請参阅 `man 8 logrotate`
`postrotate/endscript` 中通過 `kill -USR1``kill -10``gitea` 進程本身`USR1`
或者`gitea manager logging release-and-reopen`(使用适当的环境设置)。
确保配置适用于由 Gitea 日志记录器生成的所有文件,如上述部分所述。
-使用 `logrotate /etc/logrotate.conf --debug` 来测试您的配置
- 如果您正在使用 Docker 並容器外部行,您可以使用
-部署要求設定 `logrotate`,有關設定語法細節,請參閱 `man 8 logrotate`
`postrotate/endscript` 中通過 `kill -USR1``kill -10``gitea` 進程本身`USR1`
或者`gitea manager logging release-and-reopen`(使用適當的環境設定)。
確保設定適用於由 Gitea 日誌記錄器生成的所有文件,如上述部分所述。
-使用 `logrotate /etc/logrotate.conf --debug` 來測試您的設定
- 如果您正在使用 Docker 並容器外部行,您可以使用
`docker exec -u $OS_USER $CONTAINER_NAME sh -c 'gitea manager logging release-and-reopen'`
`docker exec $CONTAINER_NAME sh -c '/bin/s6-svc -1 /etc/s6/gitea/'`,或直接向 Gitea 進程本身`USR1`
`docker exec $CONTAINER_NAME sh -c '/bin/s6-svc -1 /etc/s6/gitea/'`,或直接向 Gitea 進程本身`USR1`
下一 `logrotate`业将包括您的配置,因此不需要重新启动
您還可以立即使用 `logrotate /etc/logrotate.conf --force` 重新加 `logrotate`
下一 `logrotate`業將包括您的設定,因此不需要重新啟動
您還可以立即使用 `logrotate /etc/logrotate.conf --force` 重新加 `logrotate`

View File

@@ -6,110 +6,110 @@ aliases:
- /zh-tw/mail-templates
---
# 件模板
# 件模板
為了定特定操作的电子邮件主题和内容,可以使用模板来自定义 Gitea。些功能的模板位 [`custom` 目錄](../administration/customizing-gitea.md) 下。
如果有自定义的替代方案Gitea 使用部模板作為默认模板。
為了定特定操作的電子郵件主題和內容,可以使用模板來自訂 Gitea。些功能的模板位 [`custom` 目錄](../administration/customizing-gitea.md) 下。
如果有自的替代方案Gitea 使用部模板作為預設模板。
定义模板在 Gitea 启动时加载。对它们的更改在 Gitea 重新启动之前不会被识别
模板在 Gitea 啟動時加載。對它們的更改在 Gitea 重新啟動之前不會被識別
## 支模板的件通知
## 支模板的件通知
目前,以下通知事件使用模板:
| 操作名稱 | 用途 |
| ---------- | ---------------------------------------------------------------------- |
| `new` | 建立了新的工單或合請求。 |
| `comment` | 在現有工單或合請求中建立了新的评论。 |
| `close` | 关闭了工單或合請求。 |
| `reopen` | 重新打了工單或合請求。 |
| `review` | 在合請求中進行查的首要评论。 |
| `approve` | 对合並請求進行批准的首要评论。 |
| `reject` | 对合並請求提出更改請求的查的首要评论。 |
| `code` | 关于合並請求的代码的單个评论。 |
| `assigned` | 使用者被分配到工單或合請求。 |
| `default` | 未包括在上述类别中的任何操作,或者当对應类别的模板不存在使用的模板。 |
| `new` | 建立了新的工單或合請求。 |
| `comment` | 在現有工單或合請求中建立了新的評論。 |
| `close` | 關閉了工單或合請求。 |
| `reopen` | 重新打了工單或合請求。 |
| `review` | 在合請求中進行查的首要評論。 |
| `approve` | 對合併請求進行批准的首要評論。 |
| `reject` | 對合併請求提出更改請求的查的首要評論。 |
| `code` | 關於合併請求的程式碼的單個評論。 |
| `assigned` | 使用者被分配到工單或合請求。 |
| `default` | 未包括在上述類別中的任何操作,或者當對應類別的模板不存在使用的模板。 |
特定消息類型的模板路為:
特定消息類型的模板路為:
```sh
custom/templates/mail/{操作類型}/{操作名稱}.tmpl
```
其中 `{操作類型}``issue``pull`针对合並請求),`{操作名稱}` 是上述列出的操作名稱之一。
其中 `{操作類型}``issue``pull`針對合併請求),`{操作名稱}` 是上述列出的操作名稱之一。
例如,有关合並請求中的评论的电子邮件的特定模板是:
例如,有關合併請求中的評論的電子郵件的特定模板是:
```sh
custom/templates/mail/pull/comment.tmpl
```
然而,並不需要為每操作類型/名稱合建立模板。
使用回退系统来選择适当的模板。在此列表中,使用 _第一存在的_ 模板:
然而,並不需要為每操作類型/名稱合建立模板。
使用回退系統來選擇適當的模板。在此列表中,使用 _第一存在的_ 模板:
- 所需**操作類型**和**操作名稱**的特定模板。
- 操作類型為 `issue` 和所需**操作名稱**的模板。
- 所需**操作類型**和操作名稱為 `default` 的模板。
- 操作類型為` issue` 和操作名稱為 `default` 的模板。
唯一必需的模板是操作類型為 `issue` 操作名稱為 `default` 的模板,除非使用者在 `custom` 目錄中覆了它。
唯一必需的模板是操作類型為 `issue` 操作名稱為 `default` 的模板,除非使用者在 `custom` 目錄中覆了它。
## 模板
## 模板
件模板是 UTF-8 编码的文本文件,需要遵循以下格式之一:
件模板是 UTF-8 編碼的文本文件,需要遵循以下格式之一:
```
于主题行的文本和宏
於主題行的文本和宏
------------
于邮件正文的文本和宏
於郵件正文的文本和宏
```
或者
```
于邮件正文的文本和宏
於郵件正文的文本和宏
```
指定 __ 部分是可選的(因此也是虚线分隔符)。在使用_主_ 和 _件正文_ 模板之的分隔符需要至少三个虚线;分隔符行中不允使用其他字符。
指定 __ 部分是可選的(因此也是虛線分隔符)。在使用_主_ 和 _件正文_ 模板之的分隔符需要至少三個虛線;分隔符行中不允使用其他字符。
___件正文_ 由 [Golang 的模板引擎](https://go.dev/pkg/text/template/) 解析,並提供了為每通知组装_数据上下文_。上下文包含以下元素:
___件正文_ 由 [Golang 的模板引擎](https://go.dev/pkg/text/template/) 解析,並提供了為每通知組裝_資料上下文_。上下文包含以下元素:
| 名稱 | 類型 | 可用性 | 用途 |
| ------------------ | ---------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `.FallbackSubject` | string | 始可用 | 默认主题行。参见下文。 |
| `.Subject` | string | 僅在正文中可用 | 解析__。 |
| `.Body` | string | 始可用 | 工單、合請求或评论的消息, Markdown 解析為 HTML 並進行了清理。請勿 _件正文_ 混淆。 |
| `.Link` | string | 始可用 | 源工單、合請求或评论的地址。 |
| `.Issue` | models.Issue | 始可用 | 生通知的工單(或合請求)。要取特定于合並請求的数据(例如 `HasMerged`),可以使用 `.Issue.PullRequest`,但需要注意,如果工單 _不是_請求,则該字段将`nil`。 |
| `.Comment` | models.Comment | 如果用 | 如果通知是针对添加到工單或合請求的评论,则其中包含有关评论的信息。 |
| `.IsPull` | bool | 始可用 | 如果件通知与合並請求关联(即 `.Issue.PullRequest` 不為 `nil` `true`。 |
| `.Repo` | string | 始可用 | 存放庫的名稱,包括所有者名稱(例如 `mike/stuff` |
| `.User` | models.User | 始可用 | 事件源存放庫的所有者。要取使用者名(例如 `mike`),可以使用 `.User.Name`。 |
| `.Doer` | models.User | 始可用 | 執行触发通知事件的操作的使用者。要取使用者名(例如 `rhonda`),可以使用 `.Doer.Name`。 |
| `.IsMention` | bool | 始可用 | 如果此通知僅是因為在评论中提到了使用者而生成的,並且收件人未订阅源,`true`。如果收件人已订阅工單或存放庫,`false`。 |
| `.SubjectPrefix` | string | 始可用 | 如果通知是关于除工單或合請求建立之外的其他容,`Re`;否為空字符串。 |
| `.ActionType` | string | 始可用 | `"issue"``"pull"`。它将与实际_操作類型_ 應,与選择的模板無。 |
| `.ActionName` | string | 始可用 | 它是上述操作類型之一(`new` `comment` 等),並与選择的模板應。 |
| `.ReviewComments` | []models.Comment | 始可用 | 查中的代码评论列表。评论文本`.RenderedContent` 中,引用的代码将`.Patch` 中。 |
| `.FallbackSubject` | string | 始可用 | 預設主題行。參見下文。 |
| `.Subject` | string | 僅在正文中可用 | 解析__。 |
| `.Body` | string | 始可用 | 工單、合請求或評論的消息, Markdown 解析為 HTML 並進行了清理。請勿 _件正文_ 混淆。 |
| `.Link` | string | 始可用 | 源工單、合請求或評論的地址。 |
| `.Issue` | models.Issue | 始可用 | 生通知的工單(或合請求)。要取特定於合併請求的資料(例如 `HasMerged`),可以使用 `.Issue.PullRequest`,但需要注意,如果工單 _不是_請求,則該欄位將`nil`。 |
| `.Comment` | models.Comment | 如果用 | 如果通知是針對添加到工單或合請求的評論,則其中包含有關評論的資訊。 |
| `.IsPull` | bool | 始可用 | 如果件通知與合併請求關聯(即 `.Issue.PullRequest` 不為 `nil` `true`。 |
| `.Repo` | string | 始可用 | 存放庫的名稱,包括所有者名稱(例如 `mike/stuff` |
| `.User` | models.User | 始可用 | 事件源存放庫的所有者。要取使用者名(例如 `mike`),可以使用 `.User.Name`。 |
| `.Doer` | models.User | 始可用 | 執行觸發通知事件的操作的使用者。要取使用者名(例如 `rhonda`),可以使用 `.Doer.Name`。 |
| `.IsMention` | bool | 始可用 | 如果此通知僅是因為在評論中提到了使用者而生成的,並且收件人未訂閱源,`true`。如果收件人已訂閱工單或存放庫,`false`。 |
| `.SubjectPrefix` | string | 始可用 | 如果通知是關於除工單或合請求建立之外的其他容,`Re`;否為空字符串。 |
| `.ActionType` | string | 始可用 | `"issue"``"pull"`。它將與實際_操作類型_ 應,與選擇的模板無。 |
| `.ActionName` | string | 始可用 | 它是上述操作類型之一(`new` `comment` 等),並與選擇的模板應。 |
| `.ReviewComments` | []models.Comment | 始可用 | 查中的程式碼評論列表。評論文本`.RenderedContent` 中,引用的程式碼將`.Patch` 中。 |
所有名稱分大小
所有名稱分大小
### 模板中的主部分
### 模板中的主部分
于邮件主的模板引擎是 Golang 的 [`text/template`](https://go.dev/pkg/text/template/)。
关语法的详细信息,請参阅链接的文
於郵件主的模板引擎是 Golang 的 [`text/template`](https://go.dev/pkg/text/template/)。
關語法的詳細資訊,請參閱鏈接的文
题构建的步如下:
題構建的步如下:
-通知類型和可用的模板選择一个模板。
- 解析並解析模板(例如, `{{.Issue.Index}}` 转换為工單或合請求的编号)。
- 所有空格字符(例如 `TAB``LF` 等)转换為普通空格。
- 除所有前、尾和多的空格。
- 字符串截為前 256 字母(字符)。
-通知類型和可用的模板選擇一個模板。
- 解析並解析模板(例如, `{{.Issue.Index}}` 轉換為工單或合請求的編號)。
- 所有空格字符(例如 `TAB``LF` 等)轉換為普通空格。
- 除所有前、尾和多的空格。
- 字符串截為前 256 字母(字符)。
如果最终结果為空字符串,**或者**有可用的主模板(即所選模板不包含主部分),使用 Gitea 的**内部默认值**。
如果最終結果為空字符串,**或者**有可用的主模板(即所選模板不包含主部分),使用 Gitea 的**內部預設值**。
内部默认(回退)主题相当于
內部預設(回退)主題相當於
```
{{.SubjectPrefix}}[{{.Repo}}] {{.Issue.Title}} (#{{.Issue.Index}})
@@ -117,31 +117,31 @@ _主题_ 和 _邮件正文_ 由 [Golang 的模板引擎](https://go.dev/pkg/text
例如:`Re: [mike/stuff] New color palette (#38)`
即使存在有效的主模板Gitea 的默认主题也可以在模板的元数据中作為 `.FallbackSubject` 找到。
即使存在有效的主模板Gitea 的預設主題也可以在模板的元資料中作為 `.FallbackSubject` 找到。
### 模板中的件正文部分
### 模板中的件正文部分
于邮件正文的模板引擎是 Golang 的 [`html/template`](https://go.dev/pkg/html/template/)。
关语法的详细信息,請参阅链接的文
於郵件正文的模板引擎是 Golang 的 [`html/template`](https://go.dev/pkg/html/template/)。
關語法的詳細資訊,請參閱鏈接的文
件正文在件主题之后進行解析,因此還有一个额外的 _数据_ 字段,即在考所有情况之后实际呈現的主
件正文在件主題之後進行解析,因此還有一個額外的 _資料_ 欄位,即在考所有情況之後實際呈現的主
期望的果是 HTML包括结构元素,如`<html>``<body>`等)。可以`<style>` `class``style` 性進行样式设置。但是,`html/template` 進行一些 [动转义](https://go.dev/pkg/html/template/#hdr-Contexts),需要考虑这一点
期望的果是 HTML包括結構元素,如`<html>``<body>`等)。可以`<style>` `class``style` 性進行樣式設定。但是,`html/template` 進行一些 [動轉義](https://go.dev/pkg/html/template/#hdr-Contexts),需要考慮這一點
不支附件(例如像或外部式表)。但是,也可以引用其他模板,例如以集中方式提供 `<style>` 元素的容。外部模板必須放置在 `custom/mail` 下,並相對於該目錄引用。例如,可以使用 `{{template styles/base}}` 包含 `custom/mail/styles/base.tmpl`
不支附件(例如像或外部式表)。但是,也可以引用其他模板,例如以集中方式提供 `<style>` 元素的容。外部模板必須放置在 `custom/mail` 下,並相對於該目錄引用。例如,可以使用 `{{template styles/base}}` 包含 `custom/mail/styles/base.tmpl`
件以 `Content-Type: multipart/alternative` 送,因此正文以 HTML 和文本格式送。通過剥离 HTML 标记来获取文本版本。
件以 `Content-Type: multipart/alternative` 送,因此正文以 HTML 和文本格式送。通過剝離 HTML 標記來獲取文本版本。
## 故障排除
件的呈現方式直接取决于邮件應用程的功能。许多邮件客端甚至不支 HTML因此示生成件中包含的文本版本。
件的呈現方式直接取決於郵件應用程的功能。許多郵件客端甚至不支 HTML因此示生成件中包含的文本版本。
如果模板無法呈現,只有在发送邮件时才会注意到。
如果主模板失败,将使用默认主题,如果 _件正文_ 中成功呈現了任何容,则将使用該容,忽略其他容。
如果模板無法呈現,只有在發送郵件時纔會注意到。
如果主模板失敗,將使用預設主題,如果 _件正文_ 中成功呈現了任何容,則將使用該容,忽略其他容。
如果遇到问题,請查 [Gitea 的日](../administration/logging-config.md) 以获取错误消息。
如果遇到問題,請查 [Gitea 的日](../administration/logging-config.md) 以獲取錯誤消息。
##
##
`custom/templates/mail/issue/default.tmpl`:
@@ -150,11 +150,11 @@ _主题_ 和 _邮件正文_ 由 [Golang 的模板引擎](https://go.dev/pkg/text
{{if eq .ActionName "new"}}
建立了
{{else if eq .ActionName "comment"}}
评论
評論
{{else if eq .ActionName "close"}}
关闭
關閉
{{else if eq .ActionName "reopen"}}
重新打
重新打
{{else}}
更新了
{{end}}
@@ -175,7 +175,7 @@ _主题_ 和 _邮件正文_ 由 [Golang 的模板引擎](https://go.dev/pkg/text
<body>
{{if .IsMention}}
<p>
您收到此件是因為 @{{.Doer.Name}} 提到了您。
您收到此件是因為 @{{.Doer.Name}} 提到了您。
</p>
{{end}}
<p>
@@ -187,16 +187,16 @@ _主题_ 和 _邮件正文_ 由 [Golang 的模板引擎](https://go.dev/pkg/text
{{if eq .ActionName "new"}}
建立了
{{else if eq .ActionName "close"}}
关闭
關閉
{{else if eq .ActionName "reopen"}}
重新打
重新打
{{else}}
更新了
{{end}}
<a href="{{.Link}}">{{.Repo}}#{{.Issue.Index}}</a>
</p>
{{if not (eq .Body "")}}
<h3>消息容:</h3>
<h3>消息容:</h3>
<hr>
{{.Body}}
{{end}}
@@ -209,17 +209,17 @@ _主题_ 和 _邮件正文_ 由 [Golang 的模板引擎](https://go.dev/pkg/text
</html>
```
該模板生成以下容:
該模板生成以下容:
### 主
### 主
> [mike/stuff] @rhonda 在合請求 #38 上進行了评论New color palette
> [mike/stuff] @rhonda 在合請求 #38 上進行了評論New color palette
### 件正文
### 件正文
> [@rhonda](#)Rhonda Myers更新了 [mike/stuff#38](#)。
>
> #### 消息
> #### 消息
>
> \_**************\*\*\*\***************\_**************\*\*\*\***************
>
@@ -229,25 +229,25 @@ _主题_ 和 _邮件正文_ 由 [Golang 的模板引擎](https://go.dev/pkg/text
>
> [在 Gitea 上查看](#)。
## 高用法
## 高用法
模板系包含一些函,可用進一步理和格式化消息。以下是其中一些函的列表:
模板系包含一些函,可用進一步理和格式化消息。以下是其中一些函的列表:
| 函名 | 參數 | 可用 | 用法 |
| 函名 | 參數 | 可用 | 用法 |
| ---------------- | ----------- | ---------- | ------------------------------------------------ |
| `AppUrl` | - | 任何地方 | Gitea 的 URL |
| `AppName` | - | 任何地方 | `app.ini`设置,通常為 "Gitea" |
| `AppDomain` | - | 任何地方 | Gitea 的主名 |
| `EllipsisString` | string, int | 任何地方 | 字符串截為指定度;根需要添加省略 |
| `SanitizeHTML` | string | 僅正文部分 | 通過除其中的危 HTML 標籤文本進行清理 |
| `SafeHTML` | string | 僅正文部分 | 将输入作為 HTML 理;可用于输出原始的 HTML 容 |
| `AppName` | - | 任何地方 | `app.ini`設定,通常為 "Gitea" |
| `AppDomain` | - | 任何地方 | Gitea 的主名 |
| `EllipsisString` | string, int | 任何地方 | 字符串截為指定度;根需要添加省略 |
| `SanitizeHTML` | string | 僅正文部分 | 通過除其中的危 HTML 標籤文本進行清理 |
| `SafeHTML` | string | 僅正文部分 | 將輸入作為 HTML 理;可用於輸出原始的 HTML 容 |
些都是 __,而不是元数据,因此必須按以下方式使用:
些都是 __,而不是元資料,因此必須按以下方式使用:
```html
这样使用: {{SanitizeHTML "Escape<my
>text"}} 或者这样使用: {{"Escape<my
>text" | SanitizeHTML}} 或者这样使用: {{AppUrl}} 但不要像这样使用:
這樣使用: {{SanitizeHTML "Escape<my
>text"}} 或者這樣使用: {{"Escape<my
>text" | SanitizeHTML}} 或者這樣使用: {{AppUrl}} 但不要像這樣使用:
{{.AppUrl}}</my
></my
>

View File

@@ -8,9 +8,9 @@ aliases:
# 存放庫索引器
## 设置存放庫索引器
## 設定存放庫索引器
通過在您的 [`app.ini`](../administration/config-cheat-sheet.md) 中用此功能Gitea 可以過存放庫的文件進行搜索:
通過在您的 [`app.ini`](../administration/config-cheat-sheet.md) 中用此功能Gitea 可以過存放庫的文件進行搜索:
```ini
[indexer]
@@ -22,29 +22,29 @@ REPO_INDEXER_INCLUDE =
REPO_INDEXER_EXCLUDE = resources/bin/**
```
住,索引容可能消耗大量系统资源,特是在首次建立索引或全更新索引(例如升 Gitea 之)。
住,索引容可能消耗大量系統資源,特是在首次建立索引或全更新索引(例如升 Gitea 之)。
### 按大小選要索引的文件
### 按大小選要索引的文件
`MAX_FILE_SIZE`项将使索引器跳過所有大指定值的文件。
`MAX_FILE_SIZE`項將使索引器跳過所有大指定值的文件。
### 按路径選择要索引的文件
### 按路徑選擇要索引的文件
Gitea 使用 [`gobwas/glob` ](https://github.com/gobwas/glob) 中的 glob 模式匹配来選择要包含在索引中的文件。
Gitea 使用 [`gobwas/glob` ](https://github.com/gobwas/glob) 中的 glob 模式匹配來選擇要包含在索引中的文件。
限制文件列表可以防止索引被派生或無的文件(例如 lss、sym、map 等)污染,而使搜索果更相关。这還有助于减小索引的大小。
限制文件列表可以防止索引被派生或無的文件(例如 lss、sym、map 等)污染,而使搜索果更相關。這還有助於減小索引的大小。
`REPO_INDEXER_EXCLUDE_VENDORED`默认值為 true排除供應商文件不包含在索引中。
`REPO_INDEXER_EXCLUDE_VENDORED`預設值為 true排除供應商文件不包含在索引中。
`REPO_INDEXER_INCLUDE`默认值為空)是一个逗号分隔的 glob 模式列表,用在索引中**包含**的文件。空列表表示“_包含所有文件_”。
`REPO_INDEXER_EXCLUDE`默认值為空)是一个逗号分隔的 glob 模式列表,用于从索引中**排除**的文件。該列表匹配的文件将不会被索引。`REPO_INDEXER_EXCLUDE` 优先于 `REPO_INDEXER_INCLUDE`
`REPO_INDEXER_INCLUDE`預設值為空)是一個逗號分隔的 glob 模式列表,用在索引中**包含**的文件。空列表表示“_包含所有文件_”。
`REPO_INDEXER_EXCLUDE`預設值為空)是一個逗號分隔的 glob 模式列表,用於從索引中**排除**的文件。該列表匹配的文件將不會被索引。`REPO_INDEXER_EXCLUDE` 優先於 `REPO_INDEXER_INCLUDE`
模式匹配工作方式如下:
- 要匹配所有`.txt` 展名的文件,無在哪目錄中,請使用 `**.txt`
- 要匹配僅在存放庫的根级别中具有 `.txt` 展名的所有文件,請使用 `*.txt`
- 要匹配所有`.txt` 展名的文件,無在哪目錄中,請使用 `**.txt`
- 要匹配僅在存放庫的根級別中具有 `.txt` 展名的所有文件,請使用 `*.txt`
- 要匹配 `resources/bin` 目錄及其子目錄中的所有文件,請使用 `resources/bin/**`
- 要匹配位 `resources/bin` 目錄下的所有文件,請使用 `resources/bin/*`
- 要匹配位 `resources/bin` 目錄下的所有文件,請使用 `resources/bin/*`
- 要匹配所有名為 `Makefile` 的文件,請使用 `**Makefile`
- 匹配目錄有效果;模式 `resources/bin`包含/排除該目錄中的文件;`resources/bin/**`
- 所有文件和模式都规范化為小,因此 `**Makefile``**makefile``**MAKEFILE` 是等效的。
- 匹配目錄有效果;模式 `resources/bin`包含/排除該目錄中的文件;`resources/bin/**`
- 所有文件和模式都規範化為小,因此 `**Makefile``**makefile``**MAKEFILE` 是等效的。

View File

@@ -8,30 +8,30 @@ aliases:
# 反向代理
## 通用配置
## 通用設定
1. 在您的 `app.ini` 文件中添加配置 `[server] ROOT_URL = https://git.example.com/`
2. `https://git.example.com/foo` 反向代理到 `http://gitea:3000/foo`
3. 保反向代理不会解码 URI。`https://git.example.com/a%2Fb`的請求應該被传递给 `http://gitea:3000/a%2Fb`
4. `Host``X-Forwarded-Proto` 被正确的传递给 Gitea使 Gitea 可以看到正在访问的真 URL。
1. 在您的 `app.ini` 文件中添加設定 `[server] ROOT_URL = https://git.example.com/`
2. `https://git.example.com/foo` 反向代理到 `http://gitea:3000/foo`
3. 保反向代理不會解碼 URI。`https://git.example.com/a%2Fb`的請求應該被傳遞給 `http://gitea:3000/a%2Fb`
4. `Host``X-Forwarded-Proto` 被正確的傳遞給 Gitea使 Gitea 可以看到正在訪問的真 URL。
## 使用子路
## 使用子路
通常,**不推** Gitea 放到子路。人很少使用此配置,並且在极少数情况下可能出現一些问题
通常,**不推** Gitea 放到子路。人很少使用此設定,並且在極少數情況下可能出現一些問題
為了 Gitea 在子路工作(例如:`https://common.example.com/gitea/`),需要在上面的通用配置之外進行一些外的配置
為了 Gitea 在子路工作(例如:`https://common.example.com/gitea/`),需要在上面的通用設定之外進行一些外的設定
1.`app.ini` 文件中使用配置 `[server] ROOT_URL = https://common.example.com/gitea/`
2. `https://common.example.com/gitea/foo` 反向代理到 `http://gitea:3000/foo`
3. 容器映像註冊表需要在根目錄级别有一固定的子路 `v2`,您必須做下列配置
- `https://common.example.com/v2` 反向代理到 `http://gitea:3000/v2`
- 保 URI 和标头也被正确的传递(见上面的通用配置
1.`app.ini` 文件中使用設定 `[server] ROOT_URL = https://common.example.com/gitea/`
2. `https://common.example.com/gitea/foo` 反向代理到 `http://gitea:3000/foo`
3. 容器映像註冊表需要在根目錄級別有一固定的子路 `v2`,您必須做下列設定
- `https://common.example.com/v2` 反向代理到 `http://gitea:3000/v2`
- 保 URI 和標頭也被正確的傳遞(見上面的通用設定
## 使用 Nginx 作為反向代理服
## 使用 Nginx 作為反向代理服
如果您想使用 Nginx 作為 Gitea 的反向代理服,您可以照以下 `nginx.conf` 配置`server``http` 部分。
如果您想使用 Nginx 作為 Gitea 的反向代理服,您可以照以下 `nginx.conf` 設定`server``http` 部分。
`client_max_body_size`大,否在上大文件时会出現 "client_max_body_size" 错误
`client_max_body_size`大,否在上大文件時會出現 "client_max_body_size" 錯誤
```nginx
server {
@@ -49,9 +49,9 @@ server {
}
```
## 使用 Nginx 作為反向代理服务並将 Gitea 路由至一子路
## 使用 Nginx 作為反向代理服務並將 Gitea 路由至一子路
如果您已有一域名並且想 Gitea 共享該域名,您可以增加以下 `nginx.conf` 配置`server``http` 部分,為 Gitea 添加路由規則:
如果您已有一域名並且想 Gitea 共享該域名,您可以增加以下 `nginx.conf` 設定`server``http` 部分,為 Gitea 添加路由規則:
```nginx
server {
@@ -59,12 +59,12 @@ server {
location ~ ^/(gitea|v2)($|/) {
client_max_body_size 512M;
# 保 nginx 使用未转义 URI 按原保持 "%2F"。 保 nginx 去除 "/gitea" 子路径前缀 按原样传递 "/v2"。
# 保 nginx 使用未轉義 URI 按原保持 "%2F"。 保 nginx 去除 "/gitea" 子路徑前綴 按原樣傳遞 "/v2"。
rewrite ^ $request_uri;
rewrite ^(/gitea)?(/.*) $2 break;
proxy_pass http://127.0.0.1:3000$uri;
# 其他的常 HTTP 表头,见上面“使用 Nginx 作為反向代理服”小的配置
# 其他的常 HTTP 表頭,見上面“使用 Nginx 作為反向代理服”小的配置
proxy_set_header Connection $http_connection;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
@@ -75,27 +75,27 @@ server {
}
```
您**必須**在 Gitea 的配置文件中正的添加`[server] ROOT_URL = http://git.example.com/git/`配置项
您**必須**在 Gitea 的設定文件中正的添加`[server] ROOT_URL = http://git.example.com/git/`設定項
## 使用 Nginx 直接提供静态资
## 使用 Nginx 直接提供靜態資
可以通過将资源分為静态和动态两种類型来调节性能。
可以透過將資源分為靜態和動態兩種類型來調節性能。
CSS 文件、JavaScript 文件、片和字體是静态内容。首、存放庫视图和工單列表是动态内容。
CSS 文件、JavaScript 文件、片和字體是靜態內容。首、存放庫視圖和工單列表是動態內容。
Nginx 可以直接提供静态资源,並且只代理动态资源請求 Gitea。
Nginx 為提供静态内容進行了化,而代理大響應可能与这一优化行為相反。
[https://serverfault.com/q/587386](https://serverfault.com/q/587386)
Nginx 可以直接提供靜態資源,並且只代理動態資源請求 Gitea。
Nginx 為提供靜態內容進行了化,而代理大響應可能與這一優化行為相反。
[https://serverfault.com/q/587386](https://serverfault.com/q/587386)
Gitea 源代码存放庫的一快照下`/path/to/gitea`
在此之,在本地存放庫目錄`make frontend` 生成静态资源。在这个情况下,我们只对 `public/` 目錄感趣,您可以除剩下的其他目錄。
(為了生成静态资源,您需要安裝一[ npm 的 Node ](https://nodejs.org/en/download/)和 `make`
Gitea 源程式碼存放庫的一快照下`/path/to/gitea`
在此之,在本地存放庫目錄`make frontend` 生成靜態資源。在這個情況下,我們只對 `public/` 目錄感趣,您可以除剩下的其他目錄。
(為了生成靜態資源,您需要安裝一[ npm 的 Node ](https://nodejs.org/en/download/)和 `make`
决于您的使用者量的大小,您可以流量分离到两个不同的服器,或者為静态资源配置一个 cdn。
決於您的使用者量的大小,您可以流量分離到兩個不同的服器,或者為靜態資源設定一個 cdn。
### 單服务器节点,單域名
### 單伺服器節點,單域名
`[server] STATIC_URL_PREFIX = /_/static` 入您的 Gitea 配置文件,並配置 nginx
`[server] STATIC_URL_PREFIX = /_/static` 入您的 Gitea 設定文件,並設定 nginx
```nginx
server {
@@ -112,12 +112,12 @@ server {
}
```
### 双服务器节点,双域名
### 雙伺服器節點,雙域名
`[server] STATIC_URL_PREFIX = http://cdn.example.com/gitea` 入您的 Gitea 配置文件,並配置 nginx
`[server] STATIC_URL_PREFIX = http://cdn.example.com/gitea` 入您的 Gitea 設定文件,並設定 nginx
```nginx
# 行 Gitea 的服
# 行 Gitea 的服
server {
listen 80;
server_name git.example.com;
@@ -129,7 +129,7 @@ server {
```
```nginx
# 提供静态资源的服
# 提供靜態資源的服
server {
listen 80;
server_name cdn.example.com;
@@ -144,9 +144,9 @@ server {
}
```
## 使用 Apache HTTPD 作為反向代理服
## 使用 Apache HTTPD 作為反向代理服
如果您想使用 Apache HTTPD 作為 Gitea 的反向代理服,您可以為您的 Apache HTTPD 作如下配置(在 Ubuntu 中,配置文件通常在 `/etc/apache2/httpd.conf` 目錄下):
如果您想使用 Apache HTTPD 作為 Gitea 的反向代理服,您可以為您的 Apache HTTPD 作如下設定(在 Ubuntu 中,設定文件通常在 `/etc/apache2/httpd.conf` 目錄下):
```apacheconf
<VirtualHost *:80>
@@ -159,11 +159,11 @@ server {
</VirtualHost>
```
注:必須用以下 Apache HTTPD 件:`proxy` `proxy_http`
注:必須用以下 Apache HTTPD 件:`proxy` `proxy_http`
## 使用 Apache HTTPD 作為反向代理服务並将 Gitea 路由至一子路
## 使用 Apache HTTPD 作為反向代理服務並將 Gitea 路由至一子路
如果您已有一域名並且想 Gitea 共享該域名,您可以增加以下配置為 Gitea 添加路由規則(在 Ubuntu 中,配置文件通常在 `/etc/apache2/httpd.conf` 目錄下):
如果您已有一域名並且想 Gitea 共享該域名,您可以增加以下設定為 Gitea 添加路由規則(在 Ubuntu 中,設定文件通常在 `/etc/apache2/httpd.conf` 目錄下):
```
<VirtualHost *:80>
@@ -173,7 +173,7 @@ server {
Allow from all
</Proxy>
AllowEncodedSlashes NoDecode
# 注意: 路和 URL 面都不要写路径符号 '/'
# 注意: 路和 URL 面都不要寫路徑符號 '/'
ProxyPass /git http://localhost:3000 nocanon
</VirtualHost>
```
@@ -186,20 +186,20 @@ server {
Allow from all
</Proxy>
AllowEncodedSlashes NoDecode
# 注意: 路和 URL 面都不要写路径符号 '/'
# 注意: 路和 URL 面都不要寫路徑符號 '/'
ProxyPass /git http://localhost:3000 nocanon
ProxyPreserveHost On
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</VirtualHost>
```
您**必須**在 Gitea 的配置文件中正的添加`[server] ROOT_URL = http://git.example.com/git/`配置项
您**必須**在 Gitea 的設定文件中正的添加`[server] ROOT_URL = http://git.example.com/git/`設定項
注:必須用以下 Apache HTTPD 件:`proxy` `proxy_http`
注:必須用以下 Apache HTTPD 件:`proxy` `proxy_http`
## 使用 Caddy 作為反向代理服
## 使用 Caddy 作為反向代理服
如果您想使用 Caddy 作為 Gitea 的反向代理服,您可以在 `Caddyfile` 中添加如下配置
如果您想使用 Caddy 作為 Gitea 的反向代理服,您可以在 `Caddyfile` 中添加如下設定
```
git.example.com {
@@ -207,9 +207,9 @@ git.example.com {
}
```
## 使用 Caddy 作為反向代理服务並将 Gitea 路由至一子路
## 使用 Caddy 作為反向代理服務並將 Gitea 路由至一子路
如果您已有一域名並且想 Gitea 共享該域名,您可以在您的 `Caddyfile` 文件中增加以下配置,為 Gitea 添加路由規則:
如果您已有一域名並且想 Gitea 共享該域名,您可以在您的 `Caddyfile` 文件中增加以下設定,為 Gitea 添加路由規則:
```
git.example.com {
@@ -220,23 +220,23 @@ git.example.com {
}
```
您**必須**在 Gitea 的配置文件中正的添加`[server] ROOT_URL = http://git.example.com/git/`配置项
您**必須**在 Gitea 的設定文件中正的添加`[server] ROOT_URL = http://git.example.com/git/`設定項
## 使用 IIS 作為反向代理服
## 使用 IIS 作為反向代理服
如果您想使用 IIS 作為 Gitea 的反向代理服,你需要為 IIS 设置 URL 重写来作為反向代理。
如果您想使用 IIS 作為 Gitea 的反向代理服,你需要為 IIS 設定 URL 重寫來作為反向代理。
1. 在 IIS 中设置一个空网页,比如命名為 `Gitea Proxy`
2.[软社区中為 IIS 设置 URL 重的指南](https://techcommunity.microsoft.com/t5/iis-support-blog/setup-iis-with-url-rewrite-as-a-reverse-proxy-for-real-world/ba-p/846222#M343)的前步進行配置,也就是:
1. 在 IIS 中設定一個空網頁,比如命名為 `Gitea Proxy`
2.[軟社區中為 IIS 設定 URL 重的指南](https://techcommunity.microsoft.com/t5/iis-support-blog/setup-iis-with-url-rewrite-as-a-reverse-proxy-for-real-world/ba-p/846222#M343)的前步進行設定,也就是:
- 使用 Microsoft Web Platform Installer 5.1 (WebPI) 安裝 Application Request Routing稱 ARR或者在 [IIS.net](https://www.iis.net/downloads/microsoft/application-request-routing) 下载这个插件
- 一但这个模組被安裝到 IIS 上,你将会在 IIS 管理控制看到一叫做 URL Rewrite 的新图标
- IIS 管理控制,在左的列表中點擊 `Gitea Proxy` 网页。在中選中並且擊 URL Rewrite 的图标来加载 URL 重的面板。
- 在管理控制的右边選择 `Add Rule` 操作,並且在 `Inbound and Outbound Rules`中選 `Reverse Proxy Rule`
- 在 Inbound Rules 中, server name 设置為 Gitea 正在行的主以及應端口。例如,如果你在 localhost 的 3000 端口上行 Gitea则设置`127.0.0.1:3000`
- 用 SSL Offloading
- 在 Outbound Rules 中,确保设置`Rewrite the domain names of the links in HTTP response`,並且 `From:` 设置為上面的 server name `To:` 设置為你的外部访问名稱,例如:`git.example.com`
- 現在,根下面的容為您的网页编辑 `web.config` `127.0.0.1:3000``git.example.com` 改為适当的值)
- 使用 Microsoft Web Platform Installer 5.1 (WebPI) 安裝 Application Request Routing稱 ARR或者在 [IIS.net](https://www.iis.net/downloads/microsoft/application-request-routing) 下載這個外掛
- 一但這個模組被安裝到 IIS 上,你將會在 IIS 管理控制看到一叫做 URL Rewrite 的新圖標
- IIS 管理控制,在左的列表中點擊 `Gitea Proxy` 網頁。在中選中並且擊 URL Rewrite 的圖標來加載 URL 重的面板。
- 在管理控制的右邊選擇 `Add Rule` 操作,並且在 `Inbound and Outbound Rules`中選 `Reverse Proxy Rule`
- 在 Inbound Rules 中, server name 設定為 Gitea 正在行的主以及應端口。例如,如果你在 localhost 的 3000 端口上行 Gitea則設定`127.0.0.1:3000`
- 用 SSL Offloading
- 在 Outbound Rules 中,確保設定`Rewrite the domain names of the links in HTTP response`,並且 `From:` 設定為上面的 server name `To:` 設定為你的外部訪問名稱,例如:`git.example.com`
- 現在,根下面的容為您的網頁編輯 `web.config` `127.0.0.1:3000``git.example.com` 改為適當的值)
```xml
<?xml version="1.0" encoding="UTF-8"?>
@@ -305,11 +305,11 @@ git.example.com {
</configuration>
```
## 使用 HAProxy 作為反向代理服
## 使用 HAProxy 作為反向代理服
如果您想使用 HAProxy 作為 Gitea 的反向代理服,您可以下面的容加入您的 HAProxy 配置
如果您想使用 HAProxy 作為 Gitea 的反向代理服,您可以下面的容加入您的 HAProxy 設定
在 frontend 部分加入一 acl 来将对 gitea.example.com 的請求重定向到正确的后端。
在 frontend 部分加入一 acl 來將對 gitea.example.com 的請求重定向到正確的後端。
```
frontend http-in
@@ -319,18 +319,18 @@ frontend http-in
...
```
添加之前定好的 backend 部分
添加之前定好的 backend 部分
```
backend gitea
server localhost:3000 check
```
如果您 http 容重定向到 https上面的配置文件也能使用。只需要住,在 HAProxy 和 Gitea 之间的连接将由 http 完成,所以你不需要在 Gitea 的配置文件中用 https。
如果您 http 容重定向到 https上面的設定文件也能使用。只需要住,在 HAProxy 和 Gitea 之間的連接將由 http 完成,所以你不需要在 Gitea 的設定文件中用 https。
## 使用 HAProxy 作為反向代理服务並将 Gitea 路由至一子路
## 使用 HAProxy 作為反向代理服務並將 Gitea 路由至一子路
如果您已有一域名並且想 Gitea 共享該域名,您可以在您的 HAProxy 中加入如下配置,為 Gitea 添加路由規則:
如果您已有一域名並且想 Gitea 共享該域名,您可以在您的 HAProxy 中加入如下設定,為 Gitea 添加路由規則:
```
frontend http-in
@@ -340,9 +340,9 @@ frontend http-in
...
```
这个配置http://example.com/gitea/ 被重定向到您的 Gitea 例。
這個設定http://example.com/gitea/ 被重定向到您的 Gitea 例。
接下,對於 backend 部分:
接下,對於 backend 部分:
```
backend gitea
@@ -350,13 +350,13 @@ backend gitea
server localhost:3000 check
```
添加的 http-request 在需要的时候会自动加入反斜/,並且通過 http://example.com/gitea 正确设置為根来在内部路径中删除 /gitea使其能正常工作。
添加的 http-request 在需要的時候會自動加入反斜/,並且通過 http://example.com/gitea 正確設定為根來在內部路徑中刪除 /gitea使其能正常工作。
您**必須**在 Gitea 的配置文件中正的添加`[server] ROOT_URL = http://example.com/gitea/`配置项
您**必須**在 Gitea 的設定文件中正的添加`[server] ROOT_URL = http://example.com/gitea/`設定項
## 使用 Traefik 作為反向代理服
## 使用 Traefik 作為反向代理服
如果您想使用 traefik 作為 Gitea 的反向代理服,您可以在 `docker-compose.yaml` 中添加 label 部分(假使用 docker 作為 traefik 的 provider
如果您想使用 traefik 作為 Gitea 的反向代理服,您可以在 `docker-compose.yaml` 中添加 label 部分(假使用 docker 作為 traefik 的 provider
```yaml
gitea:
@@ -368,11 +368,11 @@ gitea:
- "traefik.http.services.gitea-websecure.loadbalancer.server.port=3000"
```
这份配置假设您使用 traefik 来处理 HTTPS 服,並在其和 Gitea 之使用 HTTP 進行通信。
這份設定假設您使用 traefik 來處理 HTTPS 服,並在其和 Gitea 之使用 HTTP 進行通信。
## 使用 Traefik 作為反向代理服务並将 Gitea 路由至一子路
## 使用 Traefik 作為反向代理服務並將 Gitea 路由至一子路
如果您已有一域名並且想 Gitea 共享該域名,您可以在您的 `docker-compose.yaml` 文件中增加以下配置,為 Gitea 添加路由規則(假使用 docker 作為 traefik 的 provider
如果您已有一域名並且想 Gitea 共享該域名,您可以在您的 `docker-compose.yaml` 文件中增加以下設定,為 Gitea 添加路由規則(假使用 docker 作為 traefik 的 provider
```yaml
gitea:
@@ -386,6 +386,6 @@ gitea:
- "traefik.http.routers.gitea.middlewares=gitea-stripprefix"
```
这份配置假设您使用 traefik 来处理 HTTPS 服,並在其和 Gitea 之使用 HTTP 進行通信。
這份設定假設您使用 traefik 來處理 HTTPS 服,並在其和 Gitea 之使用 HTTP 進行通信。
您**必須**在 Gitea 的配置文件中正的添加`[server] ROOT_URL = http://example.com/gitea/`配置项
您**必須**在 Gitea 的設定文件中正的添加`[server] ROOT_URL = http://example.com/gitea/`設定項

View File

@@ -8,21 +8,21 @@ aliases:
# 搜索引擎索引
默认情况下,您的 Gitea 安裝被搜索引擎索引。
如果您不希望您的存放庫搜索引擎可,請進一步阅读
預設情況下,您的 Gitea 安裝被搜索引擎索引。
如果您不希望您的存放庫搜索引擎可,請進一步閱讀
## 使用 robots.txt 阻止搜索引擎索引
為了使 Gitea 為顶级安裝提供自定义`robots.txt`默认為空的 404請在 [`custom`文件`CustomPath`]administration/customizing-gitea.md中建立一名為 `public/robots.txt` 的文件。
為了使 Gitea 為頂級安裝提供自`robots.txt`預設為空的 404請在 [`custom`文件`CustomPath`]administration/customizing-gitea.md中建立一名為 `public/robots.txt` 的文件。
如何配置 `robots.txt`例,請考 [https://moz.com/learn/seo/robotstxt](https://moz.com/learn/seo/robotstxt)。
如何設定 `robots.txt`例,請考 [https://moz.com/learn/seo/robotstxt](https://moz.com/learn/seo/robotstxt)。
```txt
User-agent: *
Disallow: /
```
如果您 Gitea 安裝在子目錄中,需要在顶级目錄中建立或编辑 `robots.txt`
如果您 Gitea 安裝在子目錄中,需要在頂級目錄中建立或編輯 `robots.txt`
```txt
User-agent: *

View File

@@ -6,36 +6,36 @@ aliases:
- /zh-tw/signing
---
# GPG 提交
# GPG 提交
Gitea 通過查提交是否由 Gitea 数据库中的密钥签名,或者提交是否 Git 的默认密钥匹配,驗證提供的中的 GPG 提交名。
Gitea 通過查提交是否由 Gitea 資料庫中的密鑰簽名,或者提交是否 Git 的預設密鑰匹配,驗證提供的中的 GPG 提交名。
钥不会被检查以定它是否已過期或撤。密也不会与密钥服务器進行查。
鑰不會被檢查以定它是否已過期或撤。密也不會與密鑰伺服器進行查。
如果找不到用驗證提交的密,提交将被标记為灰色的未锁定图标。如果提交被标记為红色的未锁定图标,则表示它使用有 ID 的密钥签名。
如果找不到用驗證提交的密,提交將被標記為灰色的未鎖定圖標。如果提交被標記為紅色的未鎖定圖標,則表示它使用有 ID 的密鑰簽名。
請注意:提交的署者不必是提交的作者或提交者。
請注意:提交的署者不必是提交的作者或提交者。
此功能要求 Git >= 1.7.9,但要現全部功能,需要 Git >= 2.0.0。
此功能要求 Git >= 1.7.9,但要現全部功能,需要 Git >= 2.0.0。
## 自动签
## 自動簽
多地方 Gitea 生成提交:
多地方 Gitea 生成提交:
- 存放庫初始化
- Wiki 更改
- 使用编辑器或 API 進行的 CRUD 操作
- 从合並請求進行合
- 使用編輯器或 API 進行的 CRUD 操作
- 從合併請求進行合
据配置和服务器信任,您可能希望 Gitea 对这些提交進行名。
據設定和伺服器信任,您可能希望 Gitea 對這些提交進行名。
## 安裝和生成 Gitea 的 GPG 密
## 安裝和生成 Gitea 的 GPG 密
如何安裝名密钥由服务器管理员决定。Gitea 目前使用服器的 `git` 命令生成所有提交,因此使用服器的 `gpg` 進行名(如果配置了)。管理應該查 GPG 的最佳实践 - 特是可能建僅安裝名的子密,而不是主名和認證的密
如何安裝名密鑰由伺服器管理員決定。Gitea 目前使用服器的 `git` 命令生成所有提交,因此使用服器的 `gpg` 進行名(如果設定了)。管理應該查 GPG 的最佳實踐 - 特是可能建僅安裝名的子密,而不是主名和認證的密
## 通用配置
## 通用設定
Gitea 的签名配置可以在 `app.ini``[repository.signing]` 部分找到:
Gitea 的簽名設定可以在 `app.ini``[repository.signing]` 部分找到:
```ini
...
@@ -53,84 +53,84 @@ MERGES = pubkey, twofa, basesigned, commitssigned
### `SIGNING_KEY`
首先讨论的選`SIGNING_KEY`。有三主要選
首先討論的選`SIGNING_KEY`。有三主要選
- `none` - 这将阻止 Gitea 任何提交進行
- `default` - Gitea 使用 `git config`配置的默认密钥
- `KEYID` - Gitea 使用具有 ID `KEYID` 的 GPG 密钥对提交進行名。在这种情况下,您應該提供 `SIGNING_NAME``SIGNING_EMAIL`,以便示此密钥的信息
- `none` - 這將阻止 Gitea 任何提交進行
- `default` - Gitea 使用 `git config`設定的預設密鑰
- `KEYID` - Gitea 使用具有 ID `KEYID` 的 GPG 密鑰對提交進行名。在這種情況下,您應該提供 `SIGNING_NAME``SIGNING_EMAIL`,以便示此密鑰的資訊
`default`项将读`git config` 中的 `commit.gpgsign` - 如果设置了該選,它使用 `user.signingkey``user.name``user.email`果。
`default`項將讀`git config` 中的 `commit.gpgsign` - 如果設定了該選,它使用 `user.signingkey``user.name``user.email`果。
通過在 Gitea 的存放庫中整 Git 的 `config` 文件,可以使用 `SIGNING_KEY=default` 為每存放庫提供不同的名密。然而,这显然不是一理想的使用者面,因此可能会发生更改。
通過在 Gitea 的存放庫中調整 Git 的 `config` 文件,可以使用 `SIGNING_KEY=default` 為每存放庫提供不同的名密。然而,這顯然不是一理想的使用者面,因此可能會發生更改。
:::warning
**自 1.17 起**Gitea 在自己的主目錄 `[git].HOME_PATH`默认`%(APP_DATA_PATH)/home`)中行 git並使用自己的配置文件 `{[git].HOME_PATH}/.gitconfig`
**自 1.17 起**Gitea 在自己的主目錄 `[git].HOME_PATH`預設`%(APP_DATA_PATH)/home`)中行 git並使用自己的設定文件 `{[git].HOME_PATH}/.gitconfig`
如果您有自己定的 Gitea git 配置,您應該将这些配置设置在系 git 配置文件中(例如 `/etc/gitconfig`)或者 Gitea 的部 git 配置文件 `{[git].HOME_PATH}/.gitconfig` 中。
如果您有自己定的 Gitea git 設定,您應該將這些設定設定在系 git 設定文件中(例如 `/etc/gitconfig`)或者 Gitea 的部 git 設定文件 `{[git].HOME_PATH}/.gitconfig` 中。
git 命令相的主目錄文件(如 `.gnupg`)也應該放在 Gitea 的 git 主目錄 `[git].HOME_PATH` 中。
如果您希望 `.gnupg` 目錄放在 `{[git].HOME_PATH}/` 之外的位置,請考虑设置 `$GNUPGHOME` 环境变量為您首選的位置,否 Gitea 将会从 `{[git].HOME_PATH}/.gnupg` 查找私
git 命令相的主目錄文件(如 `.gnupg`)也應該放在 Gitea 的 git 主目錄 `[git].HOME_PATH` 中。
如果您希望 `.gnupg` 目錄放在 `{[git].HOME_PATH}/` 之外的位置,請考慮設定 `$GNUPGHOME` 環境變量為您首選的位置,否 Gitea 將會從 `{[git].HOME_PATH}/.gnupg` 查找私
:::
### `INITIAL_COMMIT`
此選项确定在建立存放庫Gitea 是否應該初始提交進行名。可能的取值有:
此選項確定在建立存放庫Gitea 是否應該初始提交進行名。可能的取值有:
- `never`从不签
- `pubkey`:僅在使用者有公钥时進行
- `twofa`:僅在使用者使用 2FA 登入進行
- `always`:始终签
- `never`從不簽
- `pubkey`:僅在使用者有公鑰時進行
- `twofa`:僅在使用者使用 2FA 登入進行
- `always`:始終簽
除了 `never``always` 之外的選可以合為逗分隔的列表。如果所有選的選都為 true提交将被签名。
除了 `never``always` 之外的選可以合為逗分隔的列表。如果所有選的選都為 true提交將被簽名。
### `WIKI`
此選项确定 Gitea 是否應該 Wiki 的提交進行名。可能的取值有:
此選項確定 Gitea 是否應該 Wiki 的提交進行名。可能的取值有:
- `never`从不签
- `pubkey`:僅在使用者有公钥时進行
- `twofa`:僅在使用者使用 2FA 登入進行
- `parentsigned`:僅在父提交已签名时進行名。
- `always`:始终签
- `never`從不簽
- `pubkey`:僅在使用者有公鑰時進行
- `twofa`:僅在使用者使用 2FA 登入進行
- `parentsigned`:僅在父提交已簽名時進行名。
- `always`:始終簽
除了 `never``always` 之外的選可以合為逗分隔的列表。如果所有選的選都為 true提交将被签名。
除了 `never``always` 之外的選可以合為逗分隔的列表。如果所有選的選都為 true提交將被簽名。
### `CRUD_ACTIONS`
此選项确定 Gitea 是否應該 Web 编辑器或 API CRUD 操作的提交進行名。可能的取值有:
此選項確定 Gitea 是否應該 Web 編輯器或 API CRUD 操作的提交進行名。可能的取值有:
- `never`从不签
- `pubkey`:僅在使用者有公钥时進行
- `twofa`:僅在使用者使用 2FA 登入進行
- `parentsigned`:僅在父提交已签名时進行名。
- `always`:始终签
- `never`從不簽
- `pubkey`:僅在使用者有公鑰時進行
- `twofa`:僅在使用者使用 2FA 登入進行
- `parentsigned`:僅在父提交已簽名時進行名。
- `always`:始終簽
除了 `never``always` 之外的選可以合為逗分隔的列表。如果所有選的選都為 true更改将被签名。
除了 `never``always` 之外的選可以合為逗分隔的列表。如果所有選的選都為 true更改將被簽名。
### `MERGES`
此選项确定 Gitea 是否應該 PR 的合提交進行名。可能的選有:
此選項確定 Gitea 是否應該 PR 的合提交進行名。可能的選有:
- `never`从不签
- `pubkey`:僅在使用者有公钥时進行
- `twofa`:僅在使用者使用 2FA 登入進行
- `basesigned`:僅在基存放庫中的父提交已签名时進行名。
- `headsigned`:僅在分支中的提交已签名时進行名。
- `commitssigned`:僅在分支中的所有提交到合並点的提交都已签名时進行名。
- `approved`:僅已批准的合到受保分支的提交進行名。
- `always`:始终签
- `never`從不簽
- `pubkey`:僅在使用者有公鑰時進行
- `twofa`:僅在使用者使用 2FA 登入進行
- `basesigned`:僅在基存放庫中的父提交已簽名時進行名。
- `headsigned`:僅在分支中的提交已簽名時進行名。
- `commitssigned`:僅在分支中的所有提交到合併點的提交都已簽名時進行名。
- `approved`:僅已批准的合到受保分支的提交進行名。
- `always`:始終簽
除了 `never``always` 之外的選可以合為逗分隔的列表。如果所有選的選都為 true则合並将被签名。
除了 `never``always` 之外的選可以合為逗分隔的列表。如果所有選的選都為 true則合併將被簽名。
## 获取签名密的公
## 獲取簽名密的公
于签署 Gitea 提交的公可以過 API 取:
於簽署 Gitea 提交的公可以過 API 取:
```sh
/api/v1/signing-key.gpg
```
在存在特定存放庫的密的情下,可以過以下方式取:
在存在特定存放庫的密的情下,可以過以下方式取:
```sh
/api/v1/repos/:username/:reponame/signing-key.gpg