如何在 Debian 11 上安装 Gitea

2023年 7月 21日 31.1k 0

Gitea 是一个用 Go 语言编写的开源 Git 服务。它是一个类似于 GitHub 的版本控制平台。它健壮、可扩展,并提供许多功能,包括问题和时间跟踪、存储库分支、文件锁定以及标记、合并等。由于 Gitea 是使用Go语言创建的,因此它支持许多操作系统,包括 Linux、macOS 和 Windows,在 amd64、i386、ARM、PowerPC 等架构上。

Gitea_Logo

在 Debian 11 Bullseye 上安装 Gitea

步骤 1. 在我们安装任何软件之前,通过apt在终端中运行以下命令来确保您的系统是最新的很重要:

sudo apt update
sudo apt upgrade

步骤 2. 安装 MariaDB。

Gitea 使用 MariaDB 作为数据库后端。现在我们添加 MariaDB 签名密钥和 APT 存储库:

wget https://mariadb.org/mariadb_release_signing_key.asc
sudo chmod -c 644 mariadb_release_signing_key.asc
sudo mv -vi mariadb_release_signing_key.asc /etc/apt/trusted.gpg.d/

接下来,在您的 Debian 系统上手动添加 MariaDB 存储库:

echo "deb [arch=amd64,arm64,ppc64el] 
https://ftp.ubuntu-tw.org/mirror/mariadb/repo/10.6/debian 
bullseye main" | sudo tee /etc/apt/sources.list.d/mariadb.list

完成后,使用以下命令安装 MariaDB:

sudo apt update
sudo apt install mariadb-server

通过检查版本和构建来确认 MariaDB 的安装:

mariadb --version

现在运行以下命令来启动 MariaDB 并使其在系统重启时自动启动:

sudo systemctl start mariadb
sudo systemctl enable mariadb

安全的 MariaDB 安装。

默认情况下,MariaDB 未加固。您可以使用mysql_secure_installation脚本保护 MariaDB 。您应该仔细阅读以下每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录以及删除测试数据库和访问安全 MariaDB 的权限:

mysql_secure_installation

像这样配置它:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

您现在可以使用新密码连接到 MariaDB 服务器:

mysql -u root -p

连接后,使用以下命令为 Gitea 创建数据库和用户:

MariaDB [(none)]> CREATE DATABASE gitea;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'your-strong-password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> QUIT;

步骤 3. 安装 Git。

默认情况下,Git 在 Debian Bullseye 存储库中可用,运行以​​下命令进行安装:

sudo apt install git

通过打印 Git 版本来验证安装:

git --version

步骤 4. 为 Gitea 创建用户。

使用以下命令为 Gitea 添加 Git 用户帐户:

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

步骤 5. 在 Debian 11 上安装 Gitea。

现在我们从GitHub页面下载最新版本的Gitea:

curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest |grep browser_download_url | cut -d '"' -f 4 | grep 'linux-amd64$' | wget -i -

接下来,将 Gitea 二进制文件移动到系统路径:

mv gitea-*-linux-amd64 /usr/local/bin/gitea

之后,为 Gitea 二进制文件设置可执行权限:

chmod +x /usr/local/bin/gitea

验证Gitea版本:

gitea --version

接下来,您需要为 Gitea 创建一个目录结构。您可以使用以下命令创建它:

mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}

然后,使用以下命令设置适当的权限和所有权:

chown git:git /var/lib/gitea/{data,indexers,log}
chmod 750 /var/lib/gitea/{data,indexers,log}
chown root:git /etc/gitea
chmod 770 /etc/gitea

步骤 6. 创建 Gitea Systemd 文件。

现在我们systemd为 Gitea创建服务/etc/systemd/system/gitea.service:

nano /etc/systemd/system/gitea.service

添加以下行:

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mysql.service

[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/opt/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

保存并关闭,然后systemd使用以下命令重新加载守护程序:

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

步骤 7. 为 Gitea 配置 Nginx。

现在我们安装并配置 Nginx 作为 Gitea 的反向代理。首先,使用以下命令安装 Nginx:

sudo apt install nginx

接下来,创建一个 Nginx 虚拟主机配置:

nano /etc/nginx/conf.d/gitea.conf

添加以下文件:

server {
    listen 80;
    server_name gitea.your-domain.com;
    access_log /var/log/nginx/gitea_access.log;
    error_log /var/log/nginx/gitea_error.log;

    location / {
        proxy_pass http://localhost:3000;
    }
}

保存并关闭,然后使用以下命令重新加载重启 Nginx:

sudo systemctl restart nginx
sudo systemctl enable nginx

接下来,您需要编辑 Gitea app.ini 文件并定义您的域信息:

nano /etc/gitea/app.ini

更改以下行:

DOMAIN           = gitea.your-domain.com
ROOT_URL         = http://gitea.your-domain.com/

步骤 8. 访问 Gitea Web 界面。

成功安装后,打开网络浏览器并访问。您应该会看到以下页面:http://gitea.your-domain.com

gitea-install

感谢您使用本教程在 Debian 11 Bullseye 上安装最新版本的 Gitea 框架。如需更多帮助或有用信息,我们建议您查看Gitea 官方网站。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论