如何在你的虚拟主机上设置私有 Git 服务器

对于任何开发项目来说,管理代码和与团队成员协作都至关重要。虽然 GitHub 和 GitLab 等平台很受欢迎,但在您的虚拟主机上设置自己的私有 Git 服务器可以让您更好地控制项目,确保隐私,并可能节省成本。本教程将指导您完成在您的虚拟主机上设置私有 Git 服务器的步骤。

1. 为什么要设置私人 Git 服务器?

在深入设置之前,了解拥有自己的 Git 服务器的好处非常重要:

  • 隐私: 您的代码将完全保持私密并在您的控制之下。
  • 定制: 定制服务器以满足您的特定需求和工作流程。
  • 没有用户限制:避免对私人存储库或合作者的数量进行限制。
  • 经济高效: 对于拥有多个用户的团队来说,自托管比流行平台上的付费计划更实惠。

2. 先决条件

开始之前,请确保您已准备好以下物品:

  • VPS 或专用服务器: 共享主机通常不提供设置 Git 服务器所需的访问权限和资源。
  • SSH 访问: 您需要通过 SSH 访问您的服务器才能安装和配置 Git 服务器。
  • 基本 Linux 知识: 熟悉命令行和 Linux 至关重要。

3. 在你的服务器上安装 Git

首先,您需要在服务器上安装 Git。请按照以下步骤操作:

  1. 更新服务器: Run the following command to ensure your server’s package list is up to date:
    sudo apt-get 更新
  2. 安装 Git: Install Git by running:
    sudo apt-get 安装 git
  3. 验证安装: Check that Git has been installed correctly by typing:
    git --version

4. 创建 Git 用户

创建一个单独的用户来管理你的 Git 存储库是一种很好的做法:

  1. 创建新用户: Run the following command to create a user named ‘git’:
    sudo 添加用户 git
  2. 设置 SSH 访问: Add your SSH key to the new user’s authorized keys to enable secure access:
    sudo mkdir /home/git/.ssh
    sudo touch /home/git/.ssh/authorized_keys
    sudo nano /home/git/.ssh/authorized_keys

    将您的公共 SSH 密钥粘贴到 authorized_keys 文件中,然后保存并退出。

  3. 设置权限: Adjust permissions for the SSH directory:
    sudo chown -R git:git /home/git/.ssh
    sudo chmod 700 /home/git/.ssh
    sudo chmod 600 /home/git/.ssh/authorized_keys

5. 创建存储库

现在您可以创建您的第一个 Git 存储库:

  1. 为存储库创建目录: Log in as the ‘git’ user and create a directory for your repositories:
    sudo su - git
    mkdir repos
    cd repos
  2. 初始化存储库: Create a new Git repository by running:
    git init --bare 你的项目.git

    这将创建一个裸存储库,这对于推送和提取代码的远程存储库来说是理想的。

6. 克隆并推送到存储库

设置好存储库后,您现在可以将其克隆到本地机器并将代码推送到其中:

  1. 克隆存储库: On your local machine, run:
    git clone git@你的服务器ip:/home/git/repos/你的项目.git
  2. 添加文件并提交: Add your files to the repository, commit them, and push the changes:
    cd your-project
    echo "# Your Project" >> README.md
    git add .
    git commit -m "Initial commit"
    git push origin master

7. 管理多个存储库

如果您计划托管多个存储库,则只需为每个项目重复存储库创建步骤:

  • /home/git/repos/ 下为每个存储库创建一个新目录。
  • 使用 git init --bare your-new-project.git 初始化每个新存储库。
  • 通过 SSH 独立访问和管理每个存储库。

8. 保护你的 Git 服务器

安全性是托管私人 Git 服务器的一个关键方面。以下是增强安全性的一些步骤:

  • 禁用密码验证: 通过编辑 /etc/ssh/sshd_config 并设置 PasswordAuthentication no 将 SSH 配置为仅允许基于密钥的验证。
  • 防火墙配置: 使用 UFW 等工具仅允许必要的端口(例如 SSH)并阻止其他端口。
  • 定期备份: 定期备份您的存储库以防止数据丢失。

9. 设置 Web 界面(可选)

如果你更喜欢使用 Web 界面来管理你的存储库,你可以安装 GitWeb 或 Gitea 等软件:

  • GitWeb: 一个用于查看 Git 存储库的简单 Web 界面。
  • Gitea: 一个自托管的 Git 服务,提供类似于 GitHub 的用户友好界面。

这两个选项都需要额外的设置和配置,但可以大大增强 Git 服务器的可用性。

结论

在您的网络托管上设置私有 Git 服务器可让您完全控制代码、保护隐私并进行自定义以适应您的工作流程。按照本指南操作,您可以创建和管理自己的 Git 存储库,确保您的开发过程保持安全高效。