- 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>
*** 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
Chúc bạn thành công!