gitea 是一个用 go 语言编写的开源 git 服务。它是一个类似于 github 的版本控制平台。它健壮、可扩展,并提供许多功能,包括问题和时间跟踪、存储库分支、文件锁定以及标记、合并等。由于 gitea 是使用go语言创建的,因此它支持许多操作系统,包括 linux、macos 和 windows,在 amd64、i386、arm、powerpc 等架构上。
在 bullseye 上
步骤 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
感谢您使用本教程在 debian 11 bullseye 上安装最新版本的 gitea 框架。如需更多帮助或有用信息,我们建议您查看。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/yun3722.html