如何在 debian 11 上安装 gitea-凯发k8一触即发

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

凯发k8一触即发

在 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

gitea-install

感谢您使用本教程在 debian 11 bullseye 上安装最新版本的 gitea 框架。如需更多帮助或有用信息,我们建议您查看

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/yun3722.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年10月28日
下一篇 2021年10月28日

相关推荐

  • kdenlive 是一款免费的开源视频编辑软件,提供一系列强大的功能来创建具有专业外观的视频。它被视频编辑者、youtube 用户和内容创作者广泛使用,以轻松编辑他们的视频。 在 …

    2023年3月30日
  • kontact是一个功能强大且多功能的个人信息管理器,为用户提供了一系列用于管理其个人数据的工具。其无缝集成、自定义选项、安全功能以及备份和还原工具使其成为在 linux 上管理个…

    2023年3月29日
  • vmware workstation是一款虚拟化软件,允许用户在单个物理机上创建和运行多个虚拟机。它被开发人员和 it 专业人员广泛用于在不同操作系统上测试软件,以及创建安全的测试…

    linux命令 2023年3月25日
  • ntopng是一个开源的网络流量监控工具,提供实时网络分析和统计。它旨在监视和分析网络流量、识别网络问题并生成网络使用情况报告。ntopng是想要监控其网络流量和解决网络问题的网络…

    2023年3月21日
  • bleachbit是一个功能强大且免费的开源系统清理器,可以帮助您清理debian系统并释放磁盘空间。bleachbit可用于清理各种系统文件,包括浏览器缓存,临时文件,日志文件和…

    2023年3月17日
  • gitkraken是一个流行的git客户端,它提供了一个图形用户界面(gui)来管理和与git存储库交互。gitkraken 旨在通过提供简化的界面来简化 git 工作流程,允许用…

    2023年3月14日
  • 在 debian 11 上启用 bbr 拥塞控制算法可以显着提高网络性能并提供更好的用户体验。bbr算法根据报文的可用网络带宽和往返时间(rtt)动态调整报文的发送速率,从而最大限…

    linux命令 2023年3月11日
  • 在linux中,主机名是分配给计算机的名称,通常在网络环境中。主机名用于标识网络上的计算机,并可用于将域名解析为 ip 地址。 在 debian 11 上更改主机名 第 1 步。在…

    linux命令 2023年3月11日
  • pale moon是一款免费的开源网络浏览器,以其速度和效率而闻名。它是firefox浏览器的一个分支,针对现代处理器进行了优化,使其比其父级更快,更高效。pale moon的主要…

    2023年3月11日
  • remmina 是一个免费的、开源的、功能丰富的 linux 远程桌面客户端。它允许用户通过网络连接远程连接到另一台计算机并访问其图形用户界面(gui),就像他们实际出现在远程计算…

    2023年3月11日
  • microsoft fonts,也称为windows字体或truetype fonts,是在windows操作系统上使用的字体系列的集合。这些字体旨在与windows操作系统无缝协…

    2023年3月5日
  • urbackup是一款免费的开源网络备份和灾难恢复软件。它旨在备份和还原文件、文件夹和整个系统。urbackup 还提供 web 管理界面,使用户更易于设置和配置。urbackup…

    2023年3月5日
  • winscp是一个免费的windows开源文件传输程序,支持安全文件传输协议(sftp)和scp协议。它是 linux 操作系统 debian 用户的热门选择,因为它允许他们在本地…

    2023年3月4日 linux命令
  • nginx是一个著名的web服务器,具有开源访问权限,由于其广泛的支持而被顶级公司使用。该软件以其对内存资源的影响小、可扩展性高以及模块化的事件驱动架构而闻名,可提供安全、可预测的…

    2023年3月4日
  • gitea 是一个免费的开源 git 存储库托管平台。它允许您使用具有其他功能的版本控制软件,包括问题跟踪、拉取请求、用户管理、通知等。它与github非常相似。gitea是用go…

    linux命令 2022年11月24日
  • 如何在 debian 11 上安装向后移植

    backports 已经从测试(大部分)和不稳定(仅在少数情况下,例如安全更新)重新编译了软件包,因此它们可以在没有新库的情况下运行(只要有可能)在稳定的 debian 发行版上。…

    2022年11月8日
  • vtiger crm 是一个流行的客户关系管理 web 应用程序,它可以帮助企业增加销售额、提供客户服务和增加利润。vtiger crm 提供两种不同的凯发k8一触即发的解决方案,您可以为所有管理和…

    linux命令 2022年10月6日
  • 如何在 debian 11 上安装 neos cms

    neos 是一个免费的开源内容管理系统,内置自定义内容建模,提供了一种有效的方法编辑和管理内容、自动重定向和 seo 元数据等 seo 优化,以及强大的角色和用户管理。 在 deb…

    linux命令 2022年9月30日
  • freeoffice 是一个免费的开源办公套件,带有文字处理器、电子表格应用程序和演示程序。softmaker freeoffice 2021 for linux 中的应用程序有 …

    linux命令 2022年9月27日
  • smplayer 是一款适用于 windows 和 linux 的免费媒体播放器,内置编解码器,几乎可以播放所有视频和音频格式. 它在后端使用 mplayer 并添加了一些有趣的功…

    linux命令 2022年9月20日
  • veracrypt 是一个免费的开源磁盘加密软件。它可以加密整个分区或存储设备,还可以创建加密虚拟硬盘。对于任何想要保持数据安全的人来说,它都是一个完美的凯发k8一触即发的解决方案。veracryp…

    linux命令 2022年9月19日
  • erlang 是一种功能性的并发编程语言,专为具有高可用性要求的系统而设计。erlang 最初是为了在几个大型电信系统中使用而开发的。但它现在已经慢慢涉足电子商务、计算机电话和银行…

    linux命令 2022年9月18日
  • qbittorrent 是一个跨平台的免费开源 bittorrent 客户端。qbittorrent 项目旨在提供替代µtorrent的开源软件。qbittorrent 适用于 l…

    linux命令 2022年6月19日
  • librewolf 网络浏览器旨在增强对跟踪和指纹技术的保护,同时还包括一些安全改进。librewolf 适用于所有基于桌面的操作系统,例如 windows、mac 和 linux…

    linux命令 2022年6月18日
  • hestia 控制面板是一个强大的开源虚拟主机控制面板,可用于管理网站,邮件服务器、dns 和其他 web 托管功能来自一个中央仪表板,无需手动部署和配置单个组件或服务。 在 de…

    linux命令 2022年6月17日
网站地图