在Arch Linux上使用Makepkg
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
Gitea是由Git支持的替代开源,自托管版本控制系统。Gitea用Golang编写,是可在任何平台上托管的轻量级解决方案。
sudo特权的非root用户。更新您的包裹清单。
sudo apt update
安装Nginx。
sudo apt -y install nginx
安装完成后,运行以下命令以启动并启用Nginx服务。
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
可以使用以下命令来完成。
sudo apt -y install git
Gitea支持以下数据库服务器。
在本教程中,我们将使用MariaDB服务器和客户端。
sudo apt -y install mariadb-server mariadb-client
完成后,请确保MariaDB已启用并正在运行。
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
之后,运行以下命令以通过创建root密码并禁止远程root访问来保护MariaDB服务器。
sudo mysql_secure_installation
出现提示时,请按照指南回答以下问题。
Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
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。
sudo systemctl restart mariadb.service
输入以下命令以登录MariaDB控制台。
sudo mysql -u root -p
然后输入您在上方创建的密码进行登录。您将看到MariaDB欢迎消息。
创建一个名为的数据库gitea。
CREATE DATABASE gitea;
创建一个giteauser使用新密码调用的数据库用户。
CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';
确保new_password_here用一个复杂的强密码代替。
然后,授予用户对数据库的完全访问权限。
GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;
最后,保存您的更改并退出。
FLUSH PRIVILEGES;
EXIT;
创建一个用户来运行Gitea。
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
创建所需的目录结构。
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
可以通过运行以下命令来下载Gitea二进制文件。
sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64
sudo chmod +x gitea
将二进制文件复制到全局位置。
sudo cp gitea /usr/local/bin/gitea
创建一个Linux服务文件。
sudo touch /etc/systemd/system/gitea.service
使用您选择的文本编辑器,打开这个新创建的文件,并使用以下命令进行填充。
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mariadb.service
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#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=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
在启动时启用并启动Gitea。
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
确保Gitea正在运行。
sudo systemctl status gitea
删除默认的nginx配置文件。
sudo rm /etc/nginx/sites-enabled/default
为Gitea创建反向代理配置。
sudo touch /etc/nginx/sites-available/git
使用以下配置填充文件,请确保将其替换example.com为域名或IP地址。
upstream gitea {
server 127.0.0.1:3000;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.com;
root /var/lib/gitea/public;
access_log off;
error_log off;
location / {
try_files maintain.html $uri $uri/index.html @node;
}
location @node {
client_max_body_size 0;
proxy_pass http://localhost:3000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_max_temp_file_size 0;
proxy_redirect off;
proxy_read_timeout 120;
}
}
启用Gitea Nginx反向代理配置。
sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled/git
然后重新加载Nginx服务。
sudo systemctl reload nginx.service
接下来,打开浏览器并浏览到服务器主机名或IP地址。
http://YOUR_SERVER_IP/install
按照屏幕上的说明完成Gitea设置。
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息