一、准备工作
- 安装 Git:Gitea 依赖 Git 进行代码管理,所以首先需要确保系统中安装了 Git。
下载地址:https://git-scm.com/downloads/win
- 安装数据库(可选)
默认情况下,Gitea 使用 SQLite 作为内置的轻量级数据库,但如果需要,可以安装 MySQL 或 PostgreSQL 数据库来提升性能和扩展性。
二、安装 Gitea
下载 Gitea:Gitea | gitea
移动到安装目录:将下载的 Gitea 二进制文件移动到您希望安装的目录,比如 C:\Gitea
将文件重命名为 gitea.exe,方便管理
创建必要的目录
mkdir C:\Gitea\data
mkdir C:\Gitea\log
mkdir C:\Gitea\custom
三、运行 Gitea
- 打开 PowerShell,进入到 Gitea 的安装目录,运行以下命令启动 Gitea:
C:\Gitea\gitea.exe web
- 在浏览器访问http://localhost:3000
四、配置 Gitea
一般配置选择默认
创建管理员账号
五、设置为服务(可选)
为了方便 Gitea 在每次开机时自动运行,可以将 Gitea 设置为 Windows 服务
下载NSSM工具:NSSM - the Non-Sucking Service Manager
将 nssm.exe 文件放到一个目录中,比如 C:\nssm\nssm.exe
注册 Gitea 服务。打开命令提示符或 PowerShell,输入以下命令:
C:\nssm\nssm.exe install Gitea
这将打开一个 GUI 窗口,填写以下信息:
1.)Path:选择 C:\Gitea\gitea.exe
2.)Startup directory:填写 C:\Gitea
3.)Arguments:填写 web
- 使用命令启动 Gitea 服务:
nssm start Gitea
补充:
问题一:数据库设置无效,Error 1045
数据库设置无效: Error 1045 (28000): Access denied for user 'gitea'@'localhost' (using password: YES),这个错误表示 MySQL 数据库无法验证 gitea 用户的身份。这个错误通常是因为用户名或密码错误,或者用户权限不足。以下是解决此问题的一些步骤:
- 检查用户名和密码
mysql -u gitea -p
- 创建 MySQL 用户并赋权
mysql -u root -p
#创建用户,your_password 替换为您想要的密码
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'your_password';
#赋予权限,Gitea 数据库名为 gitea_db
GRANT ALL PRIVILEGES ON gitea_db.* TO 'gitea'@'localhost';
#刷新权限
FLUSH PRIVILEGES;
#确认权限
SHOW GRANTS FOR 'gitea'@'localhost';
检查 MySQL 绑定地址。如果 gitea 用户的权限是针对 localhost 的,而 Gitea 尝试通过其他方式连接(比如使用服务器的 IP 地址),也会导致权限问题
检查防火墙设置。确保数据库端口没有被防火墙阻挡,尤其是在不同机器上运行 Gitea 和 MySQL 的情况下
问题二:数据库设置无效,Error 1049
数据库设置无效: Error 1049 (42000): Unknown database 'gitea_db',表示 MySQL 数据库中不存在名为 gitea_db 的数据库。要解决这个问题,您需要确保数据库已经创建。以下是详细的解决步骤:
- 登录 MySQL
mysql -u root -p
- 创建数据库
CREATE DATABASE gitea_db;
- 确认数据库已创建
SHOW DATABASES;
- 赋予用户权限
GRANT ALL PRIVILEGES ON gitea_db.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;
- 测试连接。如果可以成功连接并进入数据库,说明设置是正确的。
mysql -u gitea -p gitea_db
问题三:配置 Gitea 使用 163 邮箱
- 获取 SMTP 服务密码
1.)登录 163 邮箱网页端
2.)进入设置 -> POP3/SMTP/IMAP 选项,启用 SMTP 和 POP3/IMAP 服务
3.)生成一个授权码,记下该授权码,后面会在配置中使用
- 配置 Gitea 邮件设置
打开 Gitea 的配置文件 custom/conf/app.ini,并找到 [mailer] 部分。如果没有该部分,可以手动添加。然后按照以下配置进行设置:
[mailer]
ENABLED = true
HOST = smtp.163.com:465
FROM = 你的邮箱
USER = 你的邮箱
PASSWD = 你的授权码
IS_TLS_ENABLED = true
问题四:OpenService(): 拒绝访问
切换管理员模式重新执行
问题五:网络访问权限不足
CREATE USER 'gitea'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON gitea_db.* TO 'gitea'@'%';
FLUSH PRIVILEGES;
这里
%
表示允许任何 IP 地址访问。如果你想限制访问,可以改为
'gitea'@'192.168.0.%'
问题六:设置外网访问
可以使用花生壳进行内网穿透,提前在花生壳里面添加映射,然后在初始配置。当然也可以配置之后修改 app.ini 文件。修改 DOMAIN 和 ROOT_URL的值(映射的地址)
版权归原作者 獨枭 所有, 如有侵权,请联系我们删除。