CentOS ve Directadmin üzerine Subversion Kurulumu
Normal şartlarda centos üzerine subversion yum ile kurulabilmekte fakat sunucunuzda directadmin kurulu ise, mod_dav_svn gibi extensionlarda sorun çıkmakta dolayısıyla subversionu kaynağından derlememiz gerekmekte.
Yapmamız gereken adamları sıralamamız gerekirse;
1. libexpat ve libneon paketlerini yüklüyoruz.
yum install expat-devel yum install neon-devel
2. SVN kaynak dosyalarını çekeceğimiz bir geçici klasör oluşturuyoruz ve içine giriyoruz.
mkdir /etc/customsvn cd /etc/customsvn
3. SVN’yi sunucumuza çekiyoruz ve arşivden çıkartıyoruz.
wget http://subversion.tigris.org/downloads/subversion-1.6.2.tar.gz tar xzf subversion-1.6.2.tar.gz mv subversion-1.6.2/* . rm -r subversion-1.6.2
4. sqlite amalgamation‘i çekiyoruz ve sqlite.c dosyasını çekiyoruz.
mkdir sqlite-amalgamation cd sqlite-amalgamation wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz tar xzf sqlite-amalgamation-3.6.13.tar.gz mv sqlite-3.6.13/sqlite3.c .
5. Gerikalan herşeyi siliyoruz.
rm -rf sqlite-* cd ..
6. make, configure, install komutlarını uyguluyoruz.
./configure --prefix=/usr --with-apxs=/usr/sbin/apxs --with-apr=/usr/bin/apr-config make make install
7. Eğer aşağıdaki komut hata vermezse SVN düzgün kuruldu demektir.
svn help
8. Apache konfigürasyonunda svn ile ilgili LoadModule komutlarını yorum satırı haline getiriyoruz.
nano /etc/httpd/conf/extra/httpd-svn.conf
Açılan dosyada alttaki satırların başına diyez koyuyoruz. Son hali aşağıdaki şekilde oluyor;
#LoadModule dav_svn_module /usr/lib/apache/mod_dav_svn.so #LoadModule authz_svn_module /usr/lib/apache/mod_authz_svn.so
9. Apache ayarlarımıza svn ile ilgili olan konfigürasyonu dahil ediyoruz.
nano /etc/httpd/conf/extra/httpd-includes.conf
Açılan dosyaya şu satırları ekliyoruz;
# All SVN directives Include conf/extra/httpd-svn.conf
10. Apacheye SVN ile ilgili konfigürasyonu sağlayacak olan dosyayı yaratıyoruz ve kendimize göre düzenliyoruz.
nano /etc/httpd/conf/extra/httpd-svn.conf
Açılan dosyaya aşağıdaki satırları ekliyoruz ve kendimize göre düzenliyoruz.
LoadModule dav_svn_module /usr/lib/apache/mod_dav_svn.so LoadModule authz_svn_module /usr/lib/apache/mod_authz_svn.so <IfModule dav_svn_module> <IfModule authz_svn_module> <Location /svn> DAV svn SVNParentPath /svn AuthzSVNAccessFile /svn/authz Satisfy Any Require valid-user AuthType Basic AuthName "Subversion repository" AuthUserFile /svn/passwd </Location> </IfModule> </IfModule>
11. mod_dav_svn.so gibi paketlerin düzgün çalışması için aşağıdaki komutu uyguluyoruz.
ldconfig
12. Herhangi bir hata var mı bunun kontrolü için httpd‘i yeniden başlatıyoruz.
service httpd restart
13. Ayar yaparken belirttiğimiz svn klasörünü yaratıyoruz.
mkdir /svn cd /svn
14. Yeni bir svn reposu yaratıyoruz.
svnadmin create projects
15. Svn’in kendi yaratmış olduğu authz dosyasını kopyalıyoruz veya kendimiz yeni bir tane yazıyoruz ve giriş işlemleri için yeni bir kullanıcı ve şifre oluşturuyoruz.
cp projects/conf/authz . htpasswd -cm passwd testuser
16. Yaratmış olduğumuz testuser kullanıcısına tüm repolar için okuma/yazma izni veriyoruz.
nano authz
Açılan dosyanın sonuna şunları ekliyoruz;
[/] testuser = rw
17. Apache’yi commit yapabilmek için sahiplik veriyoruz.
chown -R apache:apache /svn
18. Son olarak Apacheyi yeniden başlatıyoruz.
service httpd restart
Yaratmış olduğunuz repoya http://site.com/svn/projects adresinden ulaşabilirsiniz.
Yazının orjinaline http://www.directadmin.com/forum/showthread.php?t=30972 adresinden ulaşabilirsiniz.
