sách gpt4 ăn đã đi

Hướng dẫn cài đặt và xây dựng Git Server bằng Gitosis trên CentOS 6.3

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 30 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN Hướng dẫn sử dụng Gitosis để cài đặt và xây dựng Git Server trên CentOS 6.3 này được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này thì nhớ like nhé.

Git là một hệ thống kiểm soát phiên bản phân tán. Khi sử dụng git, giao thức ssh thường được sử dụng để giao tiếp với máy chủ là tốc độ nhanh (dữ liệu sẽ được nén trước khi truyền, nhanh hơn HTTP). , an toàn và dễ đọc. Nhìn chung, có hai phương thức xác minh để khách hàng truy cập vào máy chủ thông qua SSH. Một là phương thức tên người dùng và mật khẩu, phương thức còn lại là phương thức xác thực khóa chung và khóa riêng sẽ thuận tiện hơn và không cần thiết. để nhập mật khẩu mỗi lần đăng nhập.

Khóa chung của máy khách đáng tin cậy sẽ được đặt trong tệp ~/.ssh/authorized_keys ở phía máy chủ. Để biết định dạng của tệp này, vui lòng tham khảo hướng dẫn sử dụng sshd man sshd. tham số lệnh. Điều này cho phép thực thi các lệnh sau mỗi khi người dùng sử dụng khóa chung này để xác minh. Bằng cách này, một số xử lý logic có thể được thực hiện.

Nói chung việc quản lý thư viện git cần có quyền kiểm soát. Làm thế nào để quản lý quyền của thư viện một cách thuận tiện và đơn giản? Authorized_keys là một ý tưởng chỉ định các tham số lệnh cụ thể. Sau khi mỗi người dùng được xác minh, logic liên quan trước tiên sẽ được thực thi để phát hiện xem người dùng hiện tại có quyền nhất định hay không. Vì vậy, có gitosis. Thay vì nói rằng gitosis là một hệ thống quản lý quyền git, tốt hơn nên nói rằng đó là một trình quản lý tệp ủy quyền.

Giải pháp:

Triển khai môi trường.

Ngôn ngữ sử dụng: centos6.3 x64 Git: git-1.7.1 Gitosis: Gitosis Gitweb: 1.7.1-3 OpenSSH Server: openssh-server-5.3p1 apache: httpd-2.4.4 python-setuptools: python-setuptools-0.6.10-3 Git server(centos6.3 x64): node2.example.com Git client(centos6.3 x64): node1.example.com 。

Cấu hình phía máy chủ

1. Đóng iptables và SELINUX.

  。

Sao chép mã

Mã như sau


# dịch vụ iptables dừng lại
# thiết lập thực thi 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=bị vô hiệu hóa
---------------

  。

2. Đồng bộ hóa thời gian.

  。

Sao chép mã

Mã như sau


# ntpdatecn.pool.ntp.org

  。

3. Cài đặt Apache.

Cổng thông tin: http://www.zzvips.com/article/54969.htm.

4. Cài đặt OpenSSH.

1.yum cài đặt OpenSSH: .

Sao chép mã

Mã như sau


# yum cài đặt openssh-server -y

2. Sửa đổi cấu hình máy chủ ssh

Sao chép mã

Mã như sau


# vi /etc/ssh/sshd_config
———————————————————————————————
Cổng 22 # Thay đổi cổng đăng nhập bạn muốn
PermitRootLogin no # cấm người dùng root đăng nhập
StrictModes có # Kiểm tra xem người dùng và quyền của khóa có chính xác hay không. Nó được bật theo mặc định.
RSAAuthentication có # Kích hoạt xác thực RSA
PubkeyAuthentication có # Kích hoạt xác thực khóa chung
Xác thực mật khẩu có # Kích hoạt xác thực mật khẩu, được bật theo mặc định.
ServerKeyBits 1024 # Chuyển sang trạng thái này sau khi sửa đổi, thay đổi cường độ ServerKey thành 1024 bit
PermitEmptyPasswords no # Sau khi sửa đổi, nó sẽ trở thành trạng thái này và việc đăng nhập bằng mật khẩu trống đều bị cấm.
———————————————————————————————

3. Khởi động lại dịch vụ:

Sao chép mã

Mã như sau


# /etc/init.d/sshd khởi động lại

  。

5. Cài đặt Git.

  。

Sao chép mã

Mã như sau


# yum cài đặt git-core -y

  。

6. Cài đặt Gitosis.

1. Cài đặt gói python-setuptools phụ thuộc của Gitosis.

Sao chép mã

Mã như sau


# yum cài đặt python-setuptools -y

  。

2. Cài đặt Gitosis.

Sao chép mã

Mã như sau


#đĩa ~
# mkdir nguồn
# cd nguồn 
# git clone https://github.com/tv42/gitosis.git
# cd gitosis
# python setup.py cài đặt

  。

3. Tạo người dùng hệ thống cho bệnh gitosis.

Sao chép mã

Mã như sau


# useradd -m git
# mật khẩu git

  。

4. Chạy bệnh gitosis.

(1) Tải lên hoặc sao chép khóa chung do quản trị viên tạo lên máy chủ. Khóa chung ở đây cần được tạo bằng lệnh ssh-keygen dưới quyền quản trị viên máy chủ git.

Sao chép mã

Mã như sau


#nước - đi

Đảm bảo rằng trang web có quyền hiển thị nội dung của kho.

Sao chép mã

Mã như sau


# chmod -R 755 /trang chủ/git
# ssh-keygen -t rsa
# cp ~/.ssh/id_rsa.pub /tmp

  。

(2).Khởi tạo gitosis.

Nhập thư mục chứa id_rsa.pub đã sao chép.

Sao chép mã

Mã như sau


# cd /tmp
# gitosis-init < id_rsa.pub

Tại thời điểm này, thư mục cấu hình và kho gitosis sẽ được tạo trong thư mục /home/git.

Sao chép mã

Mã như sau


# cd /home/git
# ll
-------------------------------------------------- --------------
drwxr-xr-x 2 git git 4096 12 tháng 8 13:39 gitosis
drwxr-xr-x 4 git git 4096 12 tháng 8 13:39 kho lưu trữ
-------------------------------------------------- -------------

  。

(3). Chuyển về người dùng (root) hiện tại.

  。

Sao chép mã

Mã như sau


# thoát

  。

(4) .Cấu hình quyền.

Nếu muốn người khác có thể sao chép gitosis-admin.git, bạn cần thực hiện các thao tác sau: .

Sao chép mã

Mã như sau


# chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

Tại thời điểm này, quá trình cài đặt gitosis đã hoàn tất và quản trị viên có thể vận hành cấu hình liên quan của nó rồi gửi lên máy chủ.

  。

(5) Bây giờ bạn có thể thử đăng nhập vào máy chủ thông qua SSH bằng cách sử dụng khóa chung đã khởi tạo Gitosis. Bạn sẽ thấy nội dung như sau: .

Sao chép mã

Mã như sau


#nước - đi
$ ssh git@127.0.0.1
------------------------------------------------
Yêu cầu phân bổ PTY không thành công trên kênh 0
LỖI:gitosis.serve.main:Cần có SSH_ORIGINAL_COMMAND trong môi trường.
Kết nối tới gitserver đã đóng.
------------------------------------------------

Giải thích Gitosis đã nhận ra danh tính của người dùng, nhưng vì không có lệnh Git nào được chạy nên nó đã cắt kết nối. Vì vậy, bây giờ hãy chạy lệnh Git thực tế - sao chép kho lưu trữ kiểm soát Gitosis: Sao chép kho lưu trữ git trên máy tính cục bộ của bạn.

Sao chép mã

Mã như sau


# cd /tmp
# git clone git@gitserver:gitosis-admin.git

Điều này sẽ nhận được một thư mục làm việc có tên gitosis-admin, chủ yếu bao gồm hai phần: màu đỏ là cấu hình kho git và màu xanh là các tệp được lưu trong kho thực tế.

Sao chép mã

Mã như sau


# cd gitosis-admin
# ll-a
-------------------------------------------------- --------
tổng cộng 20
drwxr-xr-x 4 git git 4096 12 tháng 8 13:21 .
drwxr-xr-x 4 git git 4096 12 tháng 8 13:23 ..
drwxr-xr-x 8 git git 4096 12 tháng 8 13:22 .git
-rwxr-xr-x 1 git git 157 ngày 12 tháng 8 13:21 gitosis.conf
drwxr-xr-x 2 git git 4096 12 tháng 8 13:20 keydir
-------------------------------------------------- ---------

Thao tác trên tương đương với việc khởi tạo người dùng git hệ thống và trở thành quản trị viên gitosis, đồng thời sử dụng quyền quản trị viên của nó để sao chép cục bộ kho gitosis-admin.

  。

5. Thêm người dùng cục bộ john và bộ phận kiểm tra kho vào bệnh gitosis và làm việc với quản trị viên git để quản lý bệnh gitosis.

1. Người dùng john thêm và gửi id_rsa.pub tới git.

Sao chép mã

Mã như sau


# là -
# useradd john & passwd john
# su - john
# ssh-keygen -t rsa
-------------------------------------------------- ---------
Tạo cặp khóa rsa công khai/riêng tư.
Nhập tệp để lưu khóa (/home/john/.ssh/id_rsa): 
Đã tạo thư mục '/home/john/.ssh'.
Nhập mật khẩu (để trống nếu không có mật khẩu): 
Nhập lại mật khẩu tương tự: 
Thông tin nhận dạng của bạn đã được lưu trong /home/john/.ssh/id_rsa.
Khóa công khai của bạn đã được lưu trong /home/john/.ssh/id_rsa.pub.
-------------------------------------------------- ---------
# cp /home/john/.ssh/id_rsa.pub /tmp

2. Quản trị viên gitosis git gán quyền john.

Sao chép mã

Mã như sau


#nước - đi
# dự án mkdir
# cd ~/dự án
# git clone git@node2.example.com:gitosis-admin
# cd gitosis-admin
# mèo gitosis.conf
------------------------------------------------
[bệnh thối rữa]
[nhóm gitosis-admin]
có thể ghi = gitosis-admin
thành viên = git@node2.example.com
------------------------------------------------
# ls keydir/
-------------------------
git@node2.example.com.pub
-------------------------
# cp /tmp/id_rsa.pub keydir/john.pub
# buộc gitosis.conf
——————————————————————————————————————
[bệnh thối rữa]
[nhóm gitosis-admin]
có thể ghi = gitosis-admin
thành viên = git@node2.example.com
[kiểm tra nhóm]
có thể ghi = thử nghiệm
thành viên = git@node2.example.com john
——————————————————————————————————————
# git thêm .
# git commit -am "thêm thành viên john và dự án foo"
# git đẩy

  。

3. Người dùng git thêm thử nghiệm dự án.

  。

Sao chép mã

Mã như sau


#nước - đi
# cd ~/dự án
# kiểm tra mkdir
# kiểm tra cd
# git khởi tạo
# echo "Xin chào thế giới." > hello.txt
# git thêm hello.txt
# git commit -am 'lần commit đầu tiên'
# git remote add origin git@node2.example.com:test.git
# git push origin chủ

  。

4. Người dùng john sao chép kiểm tra và sửa đổi hello.txt.

Sao chép mã

Mã như sau


# su - john
# git clone git@node2.example.com:test.git
# kiểm tra cd
# ngày >> hello.txt
# git commit -am 'thêm thời gian vào hello.txt' && git push

  。

Toàn bộ quá trình được chia thành

1. Để quản lý quyền của người dùng gitosis bằng cách sửa đổi gitosis-admin, bạn cần sao chép cục bộ, sau đó sửa đổi tệp cấu hình và cuối cùng thêm tính năng đẩy để đẩy kết quả đến điều khiển từ xa nhằm thực hiện sửa đổi quyền.

2. Thêm người dùng hệ thống, tạo khóa chung của người dùng và sao chép nó vào keydir để đảm bảo rằng người dùng có quyền thực hiện git và các hoạt động liên quan khác.

3. Đăng nhập vào tài khoản người dùng để thực hiện các thao tác liên quan đến git Sau khi sửa đổi, cam kết và đẩy đến máy chủ để hoàn tất cấu hình cấp phép kho.

7. Cài đặt gitweb.

1. Đầu tiên chúng ta cần mã nguồn của Git, đi kèm với GitWeb và có thể tạo các tập lệnh CGI tùy chỉnh: .

Sao chép mã

Mã như sau


# git clone git://git.kernel.org/pub/scm/git/git.git
# cd đi/
# làm cho GITWEB_PROJECTROOT="/home/git/repositories" tiền tố=/usr gitweb 
# cp -rf gitweb /usr/local/apache2/htdocs/

Lưu ý: Cho lệnh biên dịch biết vị trí của kho lưu trữ Git bằng cách chỉ định biến GITWEB_PROJECTROOT.

  。

2. Đặt Apache để chạy tập lệnh ở chế độ CGI và thêm cấu hình Virtualhost:

(1). Tải tệp cấu hình vhost của Apache.

Sao chép mã

Mã như sau


# vi /usr/local/apache2/conf/httpd.conf 

Tìm kiếm dòng chứa httpd-vhosts và xóa nhận xét trên dòng (2). Tải mô-đun cgid để hỗ trợ ngôn ngữ Perl.

Sao chép mã

Mã như sau


# vi /usr/local/apache2/conf/httpd.conf 

Tìm kiếm dòng chứa mod_cgid.so và xóa nhận xét khỏi dòng (3).

Sao chép mã

Mã như sau


# vi /usr/local/apache2/conf/extra/httpd-vhosts.conf 

Thêm cấu hình sau

Sao chép mã

Mã như sau


————————————————————————————————————————————

Tên máy chủ git.example.com
DocumentRoot / usr / local / apache2 / htdocs / gitweb

Tùy chọn +ExecCGI
Cho phép ghi đè tất cả
lệnh cho phép, từ chối
Cho phép từ tất cả
AddHandler cgi-script cgi pl
Chỉ mục thư mục gitweb.cgi


————————————————————————————————————————————

(4). Sau khi cài đặt mô-đun Perl Time/HiRes.pm và mở trang web lần đầu tiên, nó báo Không thể định vị Time/HiRes.pm trong @INC.... Giải pháp lỗi.

Sao chép mã

Mã như sau


# yum cài đặt perl-devel perl-CPAN -y
# perl -MCPAN -e vỏ 
cpan[2]> cài đặt Thời gian::HiRes 
cpan[3]> thoát 

(5). Khởi động lại dịch vụ Apache.

Sao chép mã

Mã như sau


# /usr/local/apache2/bin/apachectl khởi động lại

(6). Sửa đổi HOST cục bộ và mở trang gitweb http://git.example.com.

  。

Hướng dẫn cài đặt và xây dựng Git Server bằng Gitosis trên CentOS 6.3Hướng dẫn cài đặt và xây dựng Git Server bằng Gitosis trên CentOS 6.3

  。

Hướng dẫn cài đặt và xây dựng Git Server bằng Gitosis trên CentOS 6.3

Hướng dẫn cài đặt và xây dựng Git Server bằng Gitosis trên CentOS 6.3

Bạn đã hoàn tất....

Cuối cùng, bài viết hướng dẫn sử dụng Gitosis để cài đặt và xây dựng Git Server trên CentOS 6.3 kết thúc tại đây. Nếu bạn muốn biết thêm về hướng dẫn sử dụng Gitosis để cài đặt và xây dựng Git Server trên CentOS 6.3, vui lòng tìm kiếm các bài viết về CFSDN hoặc. tiếp tục duyệt các bài viết liên quan, tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

30 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress