ubuntu1804搭建git伺服器

2021-10-09 08:22:45 字數 3486 閱讀 9532

安裝 ssh 與 git

sudo apt-get install git-core openssh-server openssh-client 

//設定 git 全域性的⽤⼾名與郵箱

git config --global user.name "myname"

git config --global user.email "[email protected]"

安裝 gitosis
//先安裝 python-setuptools,再⽤ python 安裝 gitosis 

sudo apt-get install python-setuptools

//clone 官⽅ github 倉庫,⾃⾏選擇 clone 到哪個⽬錄

//注意:中間有兩個是數字零

cd gitosis/

sudo python setup.py install

通常情況下,⾄少需要兩個⽤⼾來使⽤ gitosis 來管理 git 倉庫,⼀個是倉庫伺服器的所有者,⼀個是倉庫成員。

​ . 倉庫伺服器的所有者能夠建立新的倉庫

​ .倉庫成員可以拉取⾃⼰所在的倉庫,如果有寫許可權,可以將修改提交到到服務端上去

gitosis 的配置⽂件也是以 git 倉庫的形式儲存的,所以需要⼀個倉庫成員來管理這些配置⽂件,初始化gitosis 需要指定⼀個公鑰⽂件,該⽂件的所有者就是配置⽂件倉庫的成員,可以把他當做是管理員,負責收集其他倉庫成員的公鑰與編輯配置⽂件。

建立倉庫成員

倉庫成員只需要將本地的 ssh 公鑰,提交給管理管理 gitosis 的配置⽂件的⼈即可,管理員負責倉庫成員的配置。

⽣成公鑰

ssh-keygen -t rsa 

//到⽬標 ~/.ssh/ 下可以看到⽣成的公鑰⽂件 id_rsa.pub

cd ~

/.ssh

//將公鑰⽂件複製⼀份,⽂件名修改為本地的⽤⼾名與主機名,類似 [email protected] 這種形式

cp .

/id_rsa.pub [email protected]

//傳送到到 gitosis 配置管理員的⼿上

scp ~

/.ssh/[email protected] [管理員⽤⼾名]@[管理員的ip]

:[要傳送到的⽬標⽬錄]

建立倉庫伺服器所有者
# ⼀般是⼀個新的系統⽤⼾ 

sudo useradd -m git

# 設定密碼

sudo passwd git

# 切換到該⽤⼾

su git

# 初始化 gitosis

sudo -h -u git gitosis-init <

[負責管理配置⽂件的⼈的公鑰]

# 初始化完成後,進⼊到⽤⼾⽬錄下,可以看到⽣成了兩個新⽬錄,其中的 repositories/ 是⽤來存放 git 倉庫

的# 修改 repositories/ ⽬錄的⽤⼾許可權,僅允許 git ⽤⼾即倉庫伺服器所有者進⾏操作

sudo chown git:git /home/git/repositories

sudo chmod 755

/home/git/repositories/gitosis-admin.git/hooks/post-update

sudo chmod 755

/home/git/repositories

配置檔案的使用

以下操作均由配置⽂件倉庫 gitosis-admin 的成員來完成

# 管理配置⽂件的⽤⼾,將伺服器上的配置⽂件倉庫 clone 下來 

git clone git@[伺服器的位址]

:gitosis-admin.git

# 進⼊ gitosis-admin ⽬錄中,可以看到⼀個配置⽂件 gitosis.conf 與⼀個⽬錄 keydir/

# gitosis.conf 中可以為每⼀個倉庫配置成員與許可權等資訊

# keydir/ ⽬錄儲存所有倉庫成員的 ssh 公鑰

vim gitosis.conf

# 開啟 gitosis.conf

# 其中的 group 標籤是分組;

# writable 的值是倉庫的名稱,需要 repositories/ ⽬錄下存在同樣名稱的倉庫⽬錄,並以「.git」作為⽬錄名

的字尾;

# member 的值是該標籤下分組下的所有倉庫的成員,多個成員⽤空格隔開,成員的名稱需要與 keydir/ ⽬錄

下的公鑰⽂件名相同;

# 修改 gitosis.conf 或者新增了新的公鑰到 keydir/ ⽬錄下後,只需要像⼀般的 git 倉庫⼀樣將修改提交到遠端

倉庫即可應⽤新的配置;

git add .

git commit -m "描述改變的內容"

git push origin master

建立新的倉庫

建立倉庫需要兩個⽤⼾進⾏操作,git ⽤⼾建立新的倉庫,配置⽂件管理員為新倉庫編寫新的配置項並提交修改。

# git ⽤⼾建立新倉庫 

su - git

cd ~

/repositories/

git init --bare [倉庫名]

.git

# 配置⽂件管理員修改配置項

su -

[管理員賬號]

cd [gitosis-admin 倉庫所在的⽬錄]

vim gitosis.conf

# 為新倉庫新增分組和成員

例如新增了新倉庫 test,並將成員 member1@group1 與 member2@group1 設定為倉庫成員,在gitosis.conf ⽂件中新增:

[group test] 

wirtable = test

members = member1@group1 member2@group1

許可權管理

gitosis 僅僅提供了⾮常簡單的許可權控制,預設情況下,倉庫成員擁有倉庫的讀寫許可權,可通過新增配置項,讓⼀部分成員只能夠讀取倉庫,⽆法提交修改。例如把上⾯例⼦中的成員 member2@group1,設定為唯讀許可權,在配置⽂件中可以這樣寫:

[group test] 

wirtable = test

members = member1@group1

[group test_readonly]

readonly = test

members = member2@group1

倉庫成員 clone 倉庫
git clone git@[伺服器位址]

:[倉庫名]

.git

具有讀許可權的成員才能夠成功 clone 到本地。

具有寫許可權的成員可以將修改提交到伺服器的倉庫上。

ubuntu 18 04搭建testlink伺服器

安裝xampp chmod 755 xampp linux x64 7.3.6 2 installer.run sudo xampp linux x64 7.3.6 2 installer.run,全部選擇y,預設安裝在 opt lampp中 啟動xampp sudo opt lampp lampp...

Ubuntu18 04搭建nodejs環境

首先安裝sudo apt install curl 然後安裝命令 當前最新版本是0.33.2,最新版本可以在檢視 curl o bash 安裝後重啟shell通過以下命令檢視nvm版本 nvm version檢視所有node版本 nvm ls remote 可能由於版本過多導致比較慢,比如此時nod...

在Ubuntu18 04搭建node環境 筆記

1.更新apt sudo apt update2.安裝nodejs sudo apt get install nodejs3.輸入node v 出現版本資訊 就表示安裝成功了 root vm 0 7 ubuntu home ubuntu node v v8.10.04.安裝npm sudo apt ...