Hướng dẫn cài đặt và cấu hình svn/git server trên cPanel

Ở bài viết này, VinaHost hướng dẫn cài đặt và cấu hình svn/git server trên cPanel cho bạn. GIT và SVN (subversion) đều là những version control phổ biến và được sử dụng nhiều nhất hiện nay.

1. Cài đặt SVN
   - SVN cần gói DAV của apache hỗ trợ, trước tiên ta kiểm tra xem gói DAV đã được bật chưa kiểm tra bằng lệnh:
      root@vinahost [~]# httpd -M | grep dav
         dav_module (static)
         dav_fs_module (static)
         dav_lock_module (static)
         dav_svn_module (shared)
         Syntax OK
   - Nếu gói DAV chưa được bật, bạn cần build lại apache và enable gói DAV lên sử dụng easyapache.
         1. Đăng nhập vào WHM => Home => Software => EasyApache (Apache Update)
         2. Chọn "Start customizing based on profile" và click next đến bước 3 chọn "Short options list", ở dưới cùng trang chọn "Exhaustive options list"
         3. Chọn các gói DAVFs, DAVLock, Dav
        
         4. Kéo xuống dưới cùng chọn "Save and build".

   - Tạo thư mục chứa gói SVN dùng lệnh: "mkdir /usr/local/src/subversion/"
   - Đi đến thư mục SVN vừa tạo: "cd /usr/local/src/subversion/"
   - Tải source SVN mới nhất từ website http://www.apache.org/dist/subversion/ 
   - Tải source về sử dụng lệnh: "wget http://www.apache.org/dist/subversion/subversion-1.7.18.tar.bz2"
   - Giải nén source vừa tải về: "tar xfj subversion-1.7.18.tar.bz2"
   - SVN cần hỗ trợ SQLite, do đó ta cài đặt bổ sung gói này. Mặc định SQLite đã được bật sẵn trong cPanel, tuy nhiên ta nên cài bằng tay phiên bản mới nhất nếu trong quá trình build SVN bị lỗi không tương thích phiên bản SQLite:
       wget http://www.sqlite.org/2014/sqlite-amalgamation-3080702.zip
       unzip sqlite-amalgamation-3080702.zip
       mkdir /usr/local/src/subversion/subversion-1.7.18/sqlite-amalgamation/

       cp -prf /usr/local/src/subversion/sqlite-amalgamation-3080702/* /usr/local/src/subversion/subversion-1.7.18/sqlite-amalgamation/
       
   - Tiến hành build SVN sử dụng các lệnh sau:
       cd /usr/local/src/subversion/subversion-1.7.18/
       ./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache/bin/apr-1-config --with-apr-util=/home/cpeasyapache/src/httpd-2.2/srclib/apr-util
       make

       make install

2. Cấu hình SVN

   - Thêm các module của SVN vào apache. Mở file /etc/httpd/conf/httpd.conf bằng lệnh: "nano /etc/httpd/conf/httpd.conf" và thêm 2 dòng sau:
         LoadModule dav_svn_module modules/mod_dav_svn.so
         LoadModule authz_svn_module modules/mod_authz_svn.so
    - Chạy lệnh sau để reload lại cấu hình apache: "/usr/local/cpanel/bin/apache_conf_distiller --update"

    - Mở file "/etc/httpd/conf/includes/pre_virtualhost_global.conf" và thêm phần cấu hình sau để tạo truy cập reposity với cấu hình chứng thực cơ bản:
       <Location /svn>
       DAV svn
       SVNParentPath /svn
       AuthType Basic
       AuthName "Subversion repository"
       AuthUserFile /etc/svn-auth.htpasswd
       Require valid-user
       </Location>

     - Tạo file /etc/svn-auth.htpasswd chứa thông tin đăng nhập svn: "touch /etc/svn-auth.htpasswd"

     - Tạo user1 sử dụng lệnh: "/usr/local/apache/bin/htpasswd  /etc/svn-auth.htpasswd user1" sau đó nhập password cho user này.
     - Restart lai dịch vụ apache: "service httpd restart"
     - Tạo reposity như trong phần cấu hình ở trên:
       cd /
       mkdir svn
       cd svn
       svnadmin create --fs-type fsfs repo_name  (Trong đó repo_name là tên của repo muốn tạo)

     - Truy cập vào đường dẫn http://SERVERIP/svn/repo_name và đăng nhập với thông tin user vừa tạo ở trên. ("SERVERIP" là ip cpanel của bạn)
        
    - Bạn có thể cấu hình cho từng user hosting sử dụng SVN bằng cách cấu hình Location svn và file chứng thực trỏ đến thư mục hosting của user đó. Ví dụ: 

           <Location /[repos-folder]>
           DAV svn
           SVNPath /home/[username]/public_html/[repos-name]
           AuthType Basic
           AuthName "[Repository Label]"
           AuthUserFile /home/[username]/passwd
           Require valid-user
           </Location>

    - Truy cập tại đường dẫn http://domain/repos-folder/repos-name


    *** Ngoài ra bạn có thể thêm các module và cấu hình của SVN vào apache thông qua giao diện bằng cách thao tác như sau:
       1. Log in vào WHM dưới quyền root
       2. Đi đến Home -> Service Configuration -> Apache Configuration
       3. Click vào  Include Editor
       4. Đi đến Pre Main Include. Phần "I wish to edit the Pre Main configuration include file for:", chọn All Versions
         
5. Copy phần cấu hình như trên vào ô text:
         LoadModule dav_svn_module modules/mod_dav_svn.so
         LoadModule authz_svn_module modules/mod_authz_svn.so
        <Location /svn>
         DAV svn
         SVNParentPath /svn
         AuthType Basic
         AuthName “Subversion repository”
         AuthUserFile /etc/svn-auth.htpasswd
         Require valid-user
        </Location>
       6. Click vào Update.


      Sau đó thực hiện tiếp phần tạo user cho SVN bằng lệnh như trên.


Link tham khảo thêm: http://svnbook.red-bean.com/en/1.7/svn-book.html

3. Cài đặt Git

  - Ở server không cài đặt cPanel, ta có thể cài đặt git đơn giản bằng lệnh yum (RedHat) hoặc apt-get (Debian). Tuy nhiên cài đặt git trên cPanel thông qua RPM dễ xảy ra lỗi, vì cPanel sử dụng một phiên bản Perl riêng trong khi Git đòi hỏi cần cập nhập phiên bản perl. Do đó, trên cPanel ta nên build git bằng tay sẽ an toàn hơn.

  - SSH vào server dưới quyền root và tạo thư mục chứa gói git tải về dùng lệnh: "mkdir /usr/local/src/git/"
  - Đi đến thư mục git vừa tạo: "cd /usr/local/src/git/"
  - Tải source git phiên bản mới nhất về tại link sau: https://code.google.com/p/git-core/downloads/list
  - Tải source về : "wget https://git-core.googlecode.com/files/git-1.9.0.tar.gz"
  - Giải nén và tiến hành build git
      tar xvzf git-1.9.0.tar.gz
      cd git-1.9.0
      ./configure --prefix=/usr
      make
      make install


   *** Trường hợp bạn sử dụng hệ điều hành CloudLinux có thể cài trực tiếp bằng lệnh yum từ repo của CloudLinux được tích hợp sẵn: "yum install git-cpanel --enablerepo=cloudlinux-updates-testing"

4. Cấu hình Git

  - Điều đầu tiên nên làm sau khi cài đặt git là bạn nên đặt tên và email cho hệ thống git.

       git config --global user.name "vinahost"
       git config --global user.email admin@vinahost.vn
  
  - Sử dụng tham số --global nếu bạn muốn cấu hình cho git toàn cục, tham số --system để cấu hình cho git hệ thống và tham số --local để cấu hình cho mỗi reposity.

  - Kiểm tra các cấu hình hiện tại:
       root@vinahost [~]# git config --list
       user.name=vinahost
       user.email=admin@vinahost.com

  - Về cách sử dụng git bạn có thể tham khảo thêm tại link sau: http://git-scm.com/docs
C
húc bạn thành công!

Powered by WHMCompleteSolution