|
@@ -0,0 +1,250 @@
|
|
|
|
|
+# MySQL 8.0 与 Gogs 完整安装教程
|
|
|
|
|
+
|
|
|
|
|
+# 纯 MySQL 8.0 版 Gogs 完整安装教程
|
|
|
|
|
+
|
|
|
|
|
+**全程使用官方 MySQL 8.0,步骤纯净可直接复制执行。
|
|
|
|
|
+
|
|
|
|
|
+## 一、服务器环境准备
|
|
|
|
|
+
|
|
|
|
|
+### 1. 更新系统依赖
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+sudo apt update && sudo apt upgrade -y
|
|
|
|
|
+sudo apt install -y git curl
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 2. 安装官方 MySQL 8.0
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+# 下载 MySQL 官方源
|
|
|
|
|
+wget https://dev.mysql.com/get/mysql-apt-config_0.8.26-1_all.deb
|
|
|
|
|
+
|
|
|
|
|
+# 安装源(弹出界面直接按 Tab → OK 确认)
|
|
|
|
|
+sudo dpkg -i mysql-apt-config_0.8.26-1_all.deb
|
|
|
|
|
+
|
|
|
|
|
+# 更新并安装 MySQL 8.0
|
|
|
|
|
+sudo apt update
|
|
|
|
|
+sudo apt install -y mysql-server mysql-client
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 3. MySQL 初始化与安全配置
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+# 执行安全配置(必须操作)
|
|
|
|
|
+sudo mysql_secure_installation
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+按提示设置:
|
|
|
|
|
+
|
|
|
|
|
+- 设置 root 密码
|
|
|
|
|
+
|
|
|
|
|
+- 移除匿名用户:Y
|
|
|
|
|
+
|
|
|
|
|
+- 禁止 root 远程登录:Y
|
|
|
|
|
+
|
|
|
|
|
+- 移除测试数据库:Y
|
|
|
|
|
+
|
|
|
|
|
+- 刷新权限:Y
|
|
|
|
|
+
|
|
|
|
|
+### 4. 启动 MySQL 并设置开机自启
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+sudo systemctl enable --now mysql
|
|
|
|
|
+sudo systemctl status mysql
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+显示 `active (running)` 即为安装成功。
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 二、创建 Gogs 专用数据库
|
|
|
|
|
+
|
|
|
|
|
+### 1. 登录 MySQL
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+sudo mysql -u root -p
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 2. 执行数据库创建命令(直接复制运行)
|
|
|
|
|
+
|
|
|
|
|
+```SQL
|
|
|
|
|
+
|
|
|
|
|
+CREATE DATABASE gogs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
|
+CREATE USER 'gogs'@'localhost' IDENTIFIED BY '你的Gogs数据库密码';
|
|
|
|
|
+GRANT ALL PRIVILEGES ON gogs.* TO 'gogs'@'localhost';
|
|
|
|
|
+FLUSH PRIVILEGES;
|
|
|
|
|
+EXIT;
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 3. 验证数据库连接
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+mysql -u gogs -p gogs
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+正常进入即配置完成。
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 三、安装配置 Gogs
|
|
|
|
|
+
|
|
|
|
|
+### 1. 创建 Gogs 运行用户
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+sudo adduser --system --shell /bin/bash --gecos 'Gogs' --group --disabled-password --home /home/gogs gogs
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 2. 下载并安装 Gogs
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+GOGS_VERSION="0.13.3"
|
|
|
|
|
+sudo curl -L https://github.com/gogs/gogs/releases/download/v${GOGS_VERSION}/gogs_${GOGS_VERSION}_linux_amd64.tar.gz -o /tmp/gogs.tar.gz
|
|
|
|
|
+
|
|
|
|
|
+sudo tar -zxvf /tmp/gogs.tar.gz -C /home/gogs/
|
|
|
|
|
+sudo chown -R gogs:gogs /home/gogs
|
|
|
|
|
+sudo chmod +x /home/gogs/gogs/gogs
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 3. 配置 Systemd 服务(开机自启)
|
|
|
|
|
+
|
|
|
|
|
+创建服务文件:
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+sudo nano /etc/systemd/system/gogs.service
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+粘贴内容:
|
|
|
|
|
+
|
|
|
|
|
+```TOML
|
|
|
|
|
+
|
|
|
|
|
+[Unit]
|
|
|
|
|
+Description=Gogs Git Service
|
|
|
|
|
+After=network.target mysql.service
|
|
|
|
|
+
|
|
|
|
|
+[Service]
|
|
|
|
|
+User=gogs
|
|
|
|
|
+Group=gogs
|
|
|
|
|
+WorkingDirectory=/home/gogs/gogs
|
|
|
|
|
+ExecStart=/home/gogs/gogs/gogs web
|
|
|
|
|
+Restart=always
|
|
|
|
|
+RestartSec=3
|
|
|
|
|
+
|
|
|
|
|
+[Install]
|
|
|
|
|
+WantedBy=multi-user.target
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+启动服务:
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+sudo systemctl daemon-reload
|
|
|
|
|
+sudo systemctl enable --now gogs
|
|
|
|
|
+sudo systemctl status gogs
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 四、Web 界面完成安装
|
|
|
|
|
+
|
|
|
|
|
+浏览器访问:
|
|
|
|
|
+
|
|
|
|
|
+```Plain Text
|
|
|
|
|
+
|
|
|
|
|
+http://服务器IP:3000/install
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 核心配置(严格填写)
|
|
|
|
|
+
|
|
|
|
|
+1. **数据库配置**
|
|
|
|
|
+
|
|
|
|
|
+ - 数据库类型:**MySQL**
|
|
|
|
|
+
|
|
|
|
|
+ - 主机:`127.0.0.1:3306`
|
|
|
|
|
+
|
|
|
|
|
+ - 用户名:`gogs`
|
|
|
|
|
+
|
|
|
|
|
+ - 密码:`你设置的Gogs数据库密码`
|
|
|
|
|
+
|
|
|
|
|
+ - 数据库名:`gogs`
|
|
|
|
|
+
|
|
|
|
|
+ - 字符集:`utf8mb4`
|
|
|
|
|
+
|
|
|
|
|
+2. **应用基础配置**
|
|
|
|
|
+
|
|
|
|
|
+ - 仓库根目录:`/home/gogs/gogs-repositories`
|
|
|
|
|
+
|
|
|
|
|
+ - 运行用户:`gogs`
|
|
|
|
|
+
|
|
|
|
|
+ - 域名:服务器IP
|
|
|
|
|
+
|
|
|
|
|
+ - 端口:3000
|
|
|
|
|
+
|
|
|
|
|
+点击 **立即安装**,完成后第一个注册用户即为管理员。
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 五、防火墙放行端口
|
|
|
|
|
+
|
|
|
|
|
+```Bash
|
|
|
|
|
+
|
|
|
|
|
+sudo ufw allow 3000/tcp
|
|
|
|
|
+sudo ufw allow 22/tcp
|
|
|
|
|
+sudo ufw reload
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 六、Gogs 配置文件(备用)
|
|
|
|
|
+
|
|
|
|
|
+路径:
|
|
|
|
|
+
|
|
|
|
|
+```Plain Text
|
|
|
|
|
+
|
|
|
|
|
+/home/gogs/gogs/custom/conf/app.ini
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+MySQL 核心配置:
|
|
|
|
|
+
|
|
|
|
|
+```TOML
|
|
|
|
|
+
|
|
|
|
|
+[database]
|
|
|
|
|
+DB_TYPE = mysql
|
|
|
|
|
+HOST = 127.0.0.1:3306
|
|
|
|
|
+NAME = gogs
|
|
|
|
|
+USER = gogs
|
|
|
|
|
+PASSWD = 你的密码
|
|
|
|
|
+CHARSET = utf8mb4
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 七、常见问题
|
|
|
|
|
+
|
|
|
|
|
+1. **MySQL 连接失败**
|
|
|
|
|
+
|
|
|
|
|
+ - 检查密码是否正确
|
|
|
|
|
+
|
|
|
|
|
+ - 确认 MySQL 运行状态:`sudo systemctl status mysql`
|
|
|
|
|
+
|
|
|
|
|
+2. **页面 500 错误**
|
|
|
|
|
+
|
|
|
|
|
+ - 修复目录权限:`sudo chown -R gogs:gogs /home/gogs`
|
|
|
|
|
+
|
|
|
|
|
+3. **中文/表情乱码**
|
|
|
|
|
+
|
|
|
|
|
+ - 数据库必须使用 `utf8mb4` 编码
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+### 总结
|
|
|
|
|
+
|
|
|
|
|
+本教程纯官方 MySQL 8.0 + Gogs 标准部署,步骤极简、无冗余内容,直接复制即可完成安装。
|