以下是搭建局域网Git服务器的详细步骤,综合多个权威来源整理而成:
### 一、服务器端配置
#### 1. 安装操作系统
推荐使用Linux发行版(如Ubuntu、CentOS等)。以Ubuntu为例:
```bash
sudo apt update
sudo apt install git openssh-server
```
#### 2. 安装Git
通过包管理器安装Git:
```bash
sudo apt install git
```
验证安装:
```bash
git --version
```
#### 3. 创建专用Git用户
出于安全考虑,创建仅限Git操作的用户:
```bash
sudo adduser git
sudo passwd git
```
切换到该用户:
```bash
sudo su - git
```
#### 4. 配置SSH访问
生成SSH密钥对(本地开发环境):
```bash
ssh-keygen -t rsa -b 4096 -C "your@email.com"
```
将公钥(`id_rsa.pub`)复制到服务器的`/home/git/.ssh/authorized_keys`文件中:
```bash
scp ~/.ssh/id_rsa.pub git@serverIP:/home/git/.ssh/
```
设置权限:
```bash
chmod 700 /home/git/.ssh
chmod 600 /home/git/.ssh/authorized_keys
```
禁止该用户通过SSH直接登录(可选):
```bash
sudo chattr +i /home/git/.ssh
```
#### 5. 配置Git仓库权限
在服务器上创建裸仓库:
```bash
git init --bare /path/to/repository.git
```
配置`gitolite`(可选):
1. 下载`gitolite3.0`:
```bash
wget https://github.com/sitaramc/gitolite3.0/download/gitolite3.0
```
2. 安装`gitolite`:
```bash
sudo chmod +x gitolite3.0
sudo ./gitolite3.0 setup /path/to/repository.git
```
3. 添加客户端公钥到`gitolite`配置:
编辑`/path/to/repository.git/config`,添加客户端公链。
#### 6. 启动SSH服务
确保SSH服务已启用:
```bash
sudo systemctl start ssh
sudo systemctl enable ssh
```
### 二、客户端配置
#### 1. 配置Git全局用户信息
设置用户名和邮箱:
```bash
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
```
#### 2. 克隆远程仓库
使用SSH协议克隆服务器上的仓库:
```bash
git clone git@serverIP:/path/to/repository.git
```
#### 3. 添加文件与提交
在本地仓库添加文件、提交更改:
```bash
git add .
git commit -m "Initial commit"
```
#### 4. 推送更改到服务器
将本地提交推送到远程仓库:
```bash
git push origin master
```
### 三、注意事项
**安全性**
- 仅允许特定IP地址访问服务器(可通过`/etc/hosts.deny`和`/etc/hosts.allow`配置)。
- 定期更新服务器软件和Git版本。
**权限管理**
- 使用`gitolite`可集中管理多个仓库权限。
- 确保仓库目录权限为`700`,文件权限为`600`。
**网络配置**
- 配置局域网DNS或使用`hosts`文件映射服务器IP。
通过以上步骤,即可搭建一个安全、可管理的局域网Git服务器。根据团队规模,可进一步扩展权限管理功能。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。