<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WwW.TarikZengin.CoM &#187; Ruby</title>
	<atom:link href="http://tarikzengin.com/tag/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://tarikzengin.com</link>
	<description>Japonya&#039;dan bildiriyor....</description>
	<lastBuildDate>Sat, 01 Oct 2011 06:25:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Subversion Sunucusu ve Redmine Kurulumu</title>
		<link>http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/</link>
		<comments>http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 14:08:45 +0000</pubDate>
		<dc:creator>Aydin Tarik Zengin</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[Redmine]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Use Flag]]></category>

		<guid isPermaLink="false">http://www.tarikzengin.com/?p=666</guid>
		<description><![CDATA[<a href="http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/" title="Subversion Sunucusu ve Redmine Kurulumu"></a>Bu yaziyi bir HowTo belgesi gibi dusunmeyin lutfen. Tamamen kendi denemelerimden olusmakta. Nisan&#8217;da yeni donemin baslamasiyla beraber labda bazi bilgisayarlar bosa cikinca &#8220;Nasil degerlendirilebilir acaba bu eski bilgisayarlar?&#8221; dusuncesiyle boyle birsey yapmaya karar verdim. Makinelerden birini svn sunucusu olarak kullanabilirdik. &#8230;<p class="read-more"><a href="http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/" title="Subversion Sunucusu ve Redmine Kurulumu"></a><p>Bu yaziyi bir HowTo belgesi gibi dusunmeyin lutfen. Tamamen kendi denemelerimden olusmakta.</p>
<p>Nisan&#8217;da yeni donemin baslamasiyla beraber labda bazi bilgisayarlar bosa cikinca &#8220;Nasil degerlendirilebilir acaba bu eski bilgisayarlar?&#8221; dusuncesiyle boyle birsey yapmaya karar verdim. Makinelerden birini svn sunucusu olarak kullanabilirdik. Tum lab elemanlari da projelerini bu sunucuda tutabilirlerdi. Proje takibi icin de baslangicta trac kullanmayi dusunmustum. Fakat trac in ayni anda tek bir repo destekliyor olmasi dusunduruyodu beni. Tam bu sirada, daha once duymamis oldugum redmine ile ilgili bir kitap gordum kitapcida, subversion ve trac kitaplarinin hemen yaninda. Sonradan arastirinca kanim kaynadi hemen. Coklu proje destegi aklimi celdi. Bir de daha once hic Rails uygulamasi gormemistim, merak ettim.</p>
<p>Dagitim olarak da yabancilik cekmemek adina cok uzun suredir kullandigim Gentoo&#8217;yu sectim. Adim adim anlatmaya calisacagim.<span id="more-666"></span></p>
<p>Oncelikle bu sunucuda grafik arayuz kullanmayacagim, sadece uzaktan erisim saglayacagim icin X e gerek yok. Bu yuzden -X -gtk -gnome -qt -kde -alsa USE flaglerini kullaniyorum. Ayni zamanda bu makine oldukca eski (Celeron D) oldugu icin derleme suresini kisaltmak icin distcc kullaniyorum. Distcc&#8217;nin nasil ayarlandigina deginmeyecegim, zira zor bir yani yok. Sonuc olarak make.conf dosyasi su sekilde.</p>
<pre>CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer"
CXXFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
FEATURES="distcc parallel-fetch userpriv"
DISTCC_VERBOSE="1"
MAKEOPTS="-j6"
USE="apache2 postgres gd xml -X -gtk -gnome -qt -kde -alsa sqlite sqlite3"</pre>
<p>Base sistemin kurulumunun ardindan openssh ve bagimliliklari kurulduktan sonra islemleri uzaktan yapmaya devam edebilir hale geliyor sunucu.</p>
<p>Repolara web sunucu uzerinden erisecegimiz icin <strong><em>subversion</em></strong> paketini kurarken <strong><em>apache2</em></strong> destegi ile derlemek gerekli. Binary dagitimlarda bu destek dogrudan acik olarak mi geliyor bilmiyorum.</p>
<p>Apache kurulduktan sonra hicbir ayar yapmadan calisabilir durumda oluyor. Yalnizca init scriptini calistirmak yeterli. Subversion repolarimiza https uzerinden webdav ile ulasmak istedigimiz icin apache&#8217;ye bazi modulleri eklememiz gerekiyor.<em> </em><span class="literal"><strong><em>/etc/conf.d/apache2</em></strong> dosyasinda </span><span class="literal"><em><strong>APACHE2_OPTS</strong> </em>kismina </span><em><strong>-D SVN -D SVN_AUTHZ -D DAV -D DAV_FS -D SSL -D SSL_DEFAULT_VHOST</strong></em> degerlerini eklememiz gerekli. Benimki su sekilde</p>
<pre>APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST\
 -D SVN -D SVN_AUTHZ -D DAV -D DAV_FS -D PASSENGER"</pre>
<p>Passenger kismina daha sonra deginecegim.</p>
<p>Repolari kullanacak tum kullanicilari sistemde olusturdum. Mail sunucusu olarak kullandigimiz bir de Fedora var labda, herkesin zaten bir hesabi mevcut bu makinede. Ldap kullanarak kullanicilari tekrar tanimlamadan kullanmanin bir yolu olabilir diye tahmin ediyorum fakat pek de detayli bir bilgim yok bu konuda.</p>
<p>Subversion depolarini kullanacaklar icin <strong><em>svnusers</em></strong> isminde bir kullanici grubu olusturdum ve kullanicilari bu gruba dahil ettim.</p>
<p>Repolar icin<em><strong> /var/svn/repos</strong></em> dizinini , konfigurasyon dosyalari icin de <em><strong>/var/svn/conf</strong></em> dizinini kullaniyorum. <strong><em>repos</em></strong> dizinine gruba dahil tum kullanicilar yazip okuma yapacagi icin izinlerini <strong><em>775</em></strong> olarak verdim. Unutulmamasi gereken bir nokta da apache kullanicisini da svnusers grubuna dahil etmek. Apace kullanicisi dagitima goredegisebiliyor. Sanirim Debian&#8217;da bu kullanici <strong><em>www-data</em></strong> ismiyle geciyor.</p>
<p>Repolara apache uzerinden ulasacak kullanicilar icin htpasswd dosyasi tanimlamamiz gerekiyor. Bunun icin de hal-i hazirda sisteme ekledigimiz kullanicilara</p>
<pre>htpasswd2 /var/svn/conf/svnusers kullanici_adi</pre>
<p>seklinde sifre belirlememiz gerekiyor. <strong><em>svnusers</em></strong> dosyasini olusturmak icin ilk calistirmada komuta -c parametresi eklemek gerekli.</p>
<p>Ardindan da olusturulan repoya hangi kullanicilarin hangi haklarla erismesine izin verecegimizi de <em><strong>/var/svn/conf/svnpolicy </strong></em>dosyasindan ayarlamamiz gerekiyor.</p>
<p>Bu islemleri basitlestirmek icin kisa bir bash script yazdim. Yazinin ilerleyen kisminda bulabilirsiniz.</p>
<p>Apache&#8217;yi svn repolarimizi gosterecek sekilde ayarlamakta sira. <em><strong>/etc/apache2/modules.d/47_mod_dav_svn.conf</strong></em> dosyasinda asagidaki duzenlemeyi yazpiyoruz.</p>
<pre>&lt;IfDefine SVN&gt;
        &lt;IfModule !mod_dav_svn.c&gt;
                LoadModule dav_svn_module       modules/mod_dav_svn.so
        &lt;/IfModule&gt;
        &lt;Location /svn/repos&gt;
                DAV svn
                SVNParentPath /var/svn/repos
                #SSLRequireSSL
                AuthType Basic
                AuthName "System Integration Lab SVN Repository"
                AuthUserFile /var/svn/conf/svnusers
                AuthzSVNAccessFile /var/svn/conf/svnpolicy
#                &lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt;
                Require valid-user
#                &lt;/LimitExcept&gt;
                SVNIndexXSLT /svnindex.xsl
        &lt;/Location&gt;
        &lt;IfDefine SVN_AUTHZ&gt;
                &lt;IfModule !mod_authz_svn.c&gt;
                        LoadModule authz_svn_module     modules/mod_authz_svn.so
                &lt;/IfModule&gt;
        &lt;/IfDefine&gt;
&lt;/IfDefine&gt;</pre>
<p>Comment edilmis 2 satir var goruldugu gibi. Bu limitlemeyi acarsam bazi sorunlarla karsilastim. Bu sekilde benim icin yeterli sekilde calisiyor.</p>
<p><em><strong>SVNIndexXSLT</strong></em> satirinda belirttigimiz <strong><em>svnindex.xsl</em></strong> ve <strong><em>svnindex.css</em></strong> dosyalarini da sunucunun ana dizinine kopyaliyoruz. Bu durumda <em><strong>/var/www/localhost/htdocs/</strong></em></p>
<p>Henuz bir repo olusturmadik fakat olusturdugumuz takdirde <strong><em>http://localhost/svn/repos/repo_adi</em></strong> adresinden ulasabiliyor durumdayiz su an. Yalniz dikkat <strong><em>http</em></strong>, <strong><em>https</em></strong> degil henuz.</p>
<p>Http uzerinden tum iletisimi kesmek icin <strong><em>/etc/apache2/vhosts.d/00_default_vhost.conf </em></strong>dosyasinda tanimli ayarlarin hepsini comment ederek kapattim. Artik http uzerinden erisim yok. Https uzerinden de yok. Oh ne guzel. Yazi burada bitse ne kotu olur.</p>
<p>Simdi Redmine kurulumuna gecelim. <a href="http://www.redmine.org/wiki/redmine/RedmineInstall"><strong><em>http://www.redmine.org/wiki/redmine/RedmineInstall</em></strong></a> adresinde kurulum ile ilgili bilgiler mevcut. Svn ile redmine kodunu checkout edip istedigimiz bir dizine koyabiliriz. Ben <strong><em>/var/rails/redmine</em></strong> dizinine koydum.</p>
<p>Sistemde bulunmasi gereken paketler <em><strong>ruby</strong></em>, <strong><em>ruby-gems</em></strong>, <em><strong>mysql-ruby</strong></em>, <em><strong>rails</strong></em> ve bunlarin bagimliliklari. Kurulumdan sonra</p>
<pre>gem install rails -v=2.2.2</pre>
<p>ile rails versiyonunu ayarliyoruz.</p>
<p>Redmine dizini altindaki <code>config/database.yml dosyasinda gerekli database ayarlamasini yaptiktan sonra</code></p>
<pre><code>rake db:migrate RAILS_ENV="production"</code></pre>
<p>ile gerekli tablolari olusturuyoruz.</p>
<p>Artik redmine uygulamasini</p>
<pre>ruby script/server webrick -e production</pre>
<p>komutu ile calistirip <strong><em><span class="external">http://localhost:3000/</span></em></strong>adresinden uygulamayi gorebiliyor olmamiz gerekir.</p>
<p>/var/rails/redmine/config/email.yml dosyasinda da smtp ayarlarini yaparak Redmine&#8217;in kullanicilara e-mail yollayabilmesini saglayabiliriz.</p>
<p>Bir sonraki adim Redmine uygulamasini bu sekilde daemon modunda degil, apache icerisinden calisir hale getirebilmek. Bunun icin de apache&#8217;nin mod_rails destegi ile calismasi gerekli. Yukarida bahsettigim Passenger da iste tam bu ise yariyor.</p>
<p>Rails uygulamasi, public dizininde apache tarafindan sunulacak dosyalari barindiriyor. Burada .htaccess dosyasinda apache&#8217;ye Rails uygulamalarini mod-fcgid ile calistirmasini soylememiz gerekli.</p>
<pre># General Apache options
#AddHandler fastcgi-script .fcgi
#AddHandler cgi-script .cgi
AddHandler fcgid-script .fcgi
Options +FollowSymLinks +ExecCGI

RewriteEngine On

RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

ErrorDocument 500 "&lt;h2&gt;Application error&lt;/h2&gt;Rails application failed to start properly"</pre>
<p>Ben bu sekilde kullaniyorum. Ardindan apache&#8217;nin https uzerinden rails uygulamizi sunmasi icin <em><strong>/etc/apache2/vhosts.d/00_default_ssl_vhost.conf </strong></em>dosyasinda <strong><em>DocumentRoot</em></strong> bolumunu ayarlamamiz gerekli.</p>
<pre>&lt;IfDefine SSL&gt;
&lt;IfDefine SSL_DEFAULT_VHOST&gt;
&lt;IfModule ssl_module&gt;

Listen 443

&lt;VirtualHost _default_:443&gt;
        ServerName XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        Include /etc/apache2/vhosts.d/default_vhost.include
        ErrorLog /var/log/apache2/ssl_error_log

        &lt;IfModule log_config_module&gt;
                TransferLog /var/log/apache2/ssl_access_log
        &lt;/IfModule&gt;

        SSLEngine on

        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

        SSLCertificateFile /etc/apache2/ssl/server.crt

        SSLCertificateKeyFile /etc/apache2/ssl/server.key

        &lt;FilesMatch "\.(cgi|shtml|phtml|php)$"&gt;
                SSLOptions +StdEnvVars
        &lt;/FilesMatch&gt;

        &lt;Directory "/var/www/localhost/cgi-bin"&gt;
                SSLOptions +StdEnvVars
        &lt;/Directory&gt;

        &lt;IfModule setenvif_module&gt;
                BrowserMatch ".*MSIE.*" \
                        nokeepalive ssl-unclean-shutdown \
                        downgrade-1.0 force-response-1.0
        &lt;/IfModule&gt;

        &lt;IfModule log_config_module&gt;
                CustomLog /var/log/apache2/ssl_request_log \
                        "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
        &lt;/IfModule&gt;

        DocumentRoot /var/rails/redmine/public/

        &lt;Directory /var/rails/redmine/public&gt;
                Options ExecCGI FollowSymLinks
                AllowOverride all
                Order allow,deny
                Allow from all
        &lt;/Directory&gt;

&lt;/VirtualHost&gt;
&lt;/IfModule&gt;
&lt;/IfDefine&gt;
&lt;/IfDefine&gt;

# vim: ts=4 filetype=apache</pre>
<p><strong><em>ServerName</em></strong> kismi onemli. Domain ismini tam olarak yazmak gerekiyor, yoksa sertifika problemleri ile karsilasilabilir.</p>
<p>Apache, Redmine uygulamasini https uzerinden sunmaya hazir. Yukarida belirttigimiz sertifika dosyalarini da olusturtuktan sonra islem neredeyse tamam oluyor. <strong><em>SSLCertificateFile</em></strong> ve <strong><em>SSLCertificateKeyFile</em></strong> ile belirtilen 2 dosyayi openssl kullanarak olusturmaliyiz. Buna <strong><em>self-signed certificate</em></strong> deniyor. Bunun icin <a href="http://www.akadia.com/services/ssh_test_certificate.html">su sayfaya</a> bakabilirsiniz. Uzun uzun anlatmaya gerek yok.</p>
<pre>/etc/init.d/apache2 restart</pre>
<p>ile apache&#8217;yi tekrar baslattiktan sonra Redmine uygulamamizi https://domain_adi seklinde gorebiliyor olmaliyiz.</p>
<p>Eger buraya kadar sorunsuz geldiysek (ki cok kucuk bir ihtimal), simdi biraz sorun yaratalim.</p>
<p>Svn repolarimiza https://domain/svn/repos/repo_adi adresinden ulasabiliyorduk. Fakat bu <strong><em>DocumentRoot </em></strong>degerini degistirmeden once idi. Yeni <em><strong>DocumentRoot</strong></em> dizininde  <strong><em>svnindex.xsl</em></strong> ve <strong><em>svnindex.css</em></strong> dosyalari bulunmuyor. Bu da demektir ki artik repolara ulasamiyoruz. Aslinda apache ayarlarindan her alt dizine, her alt-domain&#8217;e gore farkli ayarlamalar yapilabiliyor. Ama ben yine en amele yolu secip bu iki dosyayi Redmine public dizinine koymayi tercih ettim. Sonucta isimi goruyorsa tamamdir, profesyonel degilim ne de olsa. Hobi olarak ugrasiyorum bu islerle. Hayir, hobilerim arasinda kendime iskence etmek gibi mazosist seyler yok.</p>
<p>Simdi gozden gecirelim neler yaptigimizi:</p>
<ul>
<li>Subversion repolarina https://domain/svn/repos/repo_adi adresinden ulasilabiliyor.</li>
<li>Redmine uygulamasi apache tarafindan calistirilip https://domain adresinden ulasilabiliyor.</li>
</ul>
<p>Iki maddecik, az gibi gorunuyor fakat cok gunlerdir bununla ugrasiyorum.</p>
<p>Simdi gelelim isleri kolaylastirmaya. Yaklasik 15 kullanici kullanacak bu sistemi. Her biri icin bir kullanici hesabi var sistemde. Reponun olusturulmasi ve gerekli izinlerin duzenlenmesi bazi asamalarda root yetkileri gerektiriyor. Herkesin reposuyla tek tek ilgilenmemek icin bu isi otomatize etmek gerekiyor.</p>
<pre>#!/bin/bash
DIR=/var/svn
REPODIR=$DIR/repos
CONFDIR=$DIR/conf
export USER=`whoami`
echo -n "SVN Database Name: "
read -e DATABASE
if test -e $REPODIR/$DATABASE
then
echo "This database exists. Please try another name."
else
svnadmin create $REPODIR/$DATABASE
sudo chown -R apache:svnusers $REPODIR/$DATABASE/
sudo chmod -R g-w $REPODIR/$DATABASE/
sudo chmod -R g+rw $REPODIR/$DATABASE/db/
sudo chmod -R g+rw $REPODIR/$DATABASE/locks/
echo "[$DATABASE:/]" | sudo tee -a $CONFDIR/svnpolicy
echo "$USER = rw" | sudo tee -a $CONFDIR/svnpolicy
echo "User $USER has been authorized to read-write the $DATABASE repository"
echo "ユーザ $USER は $DATABASE に対する書き込み/読み込みを許可されました"
echo "If you want to authorize more users, please contact with the admin"
echo "追加でユーザを許可したい場合は、管理者に問い合わせてください。"
echo ""
echo "Your database is now accessible from https://domain/svn/repos/$DATABASE"
fi</pre>
<p>Kullanicilara tamamen root yetkileri vermektense sudo kullanmak daha akilci geldi. Yukarida gorelecegi uzere yalnizca 3 komut sudo ile calistiriliyor. Bunlari da <strong><em>sudoers</em></strong> dosyasinda tanimliyorum.</p>
<pre>%svnusers ALL=/bin/chown, /bin/chmod, /usr/bin/tee</pre>
<p>Aslinda hala tehlikeli bir is, chmod ve chown kullanarak bile kolayca dagitilabilir sistem.</p>
<p>Ilk once daha farkli bir script hazirlamistim. Onun icinde bu sekilde sudo kullanmiyordum. Kullanici o scripti sudo ile calistiriyordu. Daha guvenli bir yontem. Fakat benim komutu calistiran kullanicinin adina ihtiyacim var ve whoami komutu sudo ile calistirildiginda dogal olarak root donduruyor. Aklima bir yol gelmedi simdilik. Onerilere acigim.</p>
<p>Artik kullanicilar kendileri svn repolarini olusturabiliyor durumdalar. Fakat hala Redmine uzerinde proje olusturma isi bana ait. Bunun bir yolu olup olmadigini bilmiyorum, fakat bir yandan da iyi oldugunu dusunuyorum. Onune gelen proje olusturmasin. Simdilik dusuncem bu.</p>
<p>Gelelim bir baska probleme. http uzerinden calisirken hersey gulluk-gulistanlik fakat https uzerinden ortaya cikan bir sorun var. Bununla epey cebellestikten sonra farkina vardim. Kullanici repoyu olusturuyor, https://domain/svn/repos/repo_adi adresinden goruntuleyebiliyor, Redmine&#8217;a sorunsuz bir sekilde login olup kullanabiliyor fakat Redmine&#8217;da olusturdugu projesine svn reposunu eklemeye kalktiginda bir turlu basarili olamiyordu. Uzun sure dusundukten sonra, svn checkout sirasinda  sertifikanin gecici mi kalici mi olmasini istedigimizi soran soru kafamda bir isik yakti. Biraz arastirinca anladim ki, Redmine svn reposuna ulasirken apache kullanicisini kullaniyor ve bu kullanici gerekli sertifikaya sahip degil.</p>
<p>Daha mantikli bir cozumunun oldugunu dusunuyorum fakat ben yine biraz amele bir yontem kullandim. apache kullanicisi ile svn checkout yapip sertifikayi almasini sagladim.</p>
<pre>sudo -u apache svn co https://domain/svn/repos/repo_adi</pre>
<p>Bu adimdan sonra Redmine icerisinden sorunsuz olarak repo ekleyip, goruntulenebiliyor hale geldi.</p>
<p>Son adim olarak, repolarin ve mysql vertabaninin duzenli olarak yedegininin alinmasi icin bir script hazirladim. Bu da repolardan ve veri tabanindan dump alip bunu labdaki dosya sunucusunda yedek icin ayirdigim alana periyodik olarak atmaya yariyor.</p>
<pre>#!/bin/bash

# Mount Tera Station
mount -t cifs //xxx.xxx.xxx.xxx/usr /mnt/tera -o user=xxxxx,pass=xxxxx

export whatisdate=`date +%F`

cd /var/svn/repos

# Backup the Subversion Databases
for i in $( ls ); do
echo $i repository is now backing up...
svnadmin dump $i &gt; /mnt/tera/redmine/Subversion\ Backups/$i-$whatisdate.dump;
echo "`date` - Subversion Backup : $i" &gt;&gt; /mnt/tera/redmine/log.txt
done

# Backup the Redmine Database
echo Redmine Mysql Database is now backing up...
mysqldump -u root --password=xxxxx redmine | gzip &gt; /mnt/tera/redmine/Redmine\ Database\ Backups/redmine_`date +%y_%m_%d`.gz
echo "`date` - Redmine Database Backup" &gt;&gt; /mnt/tera/redmine/log.txt

# Unmount Tera Station
umount /mnt/tera</pre>
<p>Bu scriptin soft linkini de <strong><em>/etc/cron.weekly/</em></strong> dizinine atarak haftada bir kez calismasini saglamis oluyorum.</p>
<p>Guvenlik acisindan pek cok eksigin oldugunun, scriptlerin icerisinde acik acik sifre ve kullanici adi kullandigimin farkindayim. Gunlerdir bu sistemi adam etmeye calisiyorum ve yaptiklarimin bir kismini simdiden unuttum. Bunlari da unutmadan yazayim dedim. Belki guvenlikle ilgili bazi iyilestirmeler yapabilirim.</p>
<p>Bazi kisimlarda hala sorunlarim var. Ornegin, farkli kullanicilar icin farkli repolar tanimli. Browser&#8217;da bunlardan birini https://domain/svn/repos/repo_adi seklinde actigimda beklendigi gibi kullanici adi ve sifre soruyor. Ardindan bir baska kullaniciya ait diger repoyu actigimda, tekrar kullanici adi ve sifre sormak yerine <em><strong>403 Forbidden</strong></em> hatasi veriyor. Tekrar sormasi icin browser&#8217;i kapatip tekrar acmam gerekiyor. Bunun nedenini bulabilmis degilim. Burada da fikir ve onerilere acigim.</p>
<p>Iyi aksamlar Turkiye, her nerede commit ediliyor ve ettiriliyorsa.</p>

<a href='http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/redmine1/' title='redmine1'><img width="150" height="150" src="http://tarikzengin.com/wp-content/uploads/2009/04/redmine1-150x150.png" class="attachment-thumbnail colorbox-666" alt="redmine1" title="redmine1" /></a>
<a href='http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/redmine2/' title='redmine2'><img width="150" height="150" src="http://tarikzengin.com/wp-content/uploads/2009/04/redmine2-150x150.png" class="attachment-thumbnail colorbox-666" alt="redmine2" title="redmine2" /></a>
<a href='http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/redmine3/' title='redmine3'><img width="150" height="150" src="http://tarikzengin.com/wp-content/uploads/2009/04/redmine3-150x150.png" class="attachment-thumbnail colorbox-666" alt="redmine3" title="redmine3" /></a>
<a href='http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/redmine4/' title='redmine4'><img width="150" height="150" src="http://tarikzengin.com/wp-content/uploads/2009/04/redmine4-150x150.png" class="attachment-thumbnail colorbox-666" alt="redmine4" title="redmine4" /></a>
<a href='http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/redmine5/' title='redmine5'><img width="150" height="150" src="http://tarikzengin.com/wp-content/uploads/2009/04/redmine5-150x150.png" class="attachment-thumbnail colorbox-666" alt="redmine5" title="redmine5" /></a>
<a href='http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/redmine6/' title='redmine6'><img width="150" height="150" src="http://tarikzengin.com/wp-content/uploads/2009/04/redmine6-150x150.png" class="attachment-thumbnail colorbox-666" alt="redmine6" title="redmine6" /></a>

]]></content:encoded>
			<wfw:commentRss>http://tarikzengin.com/subversion-sunucusu-ve-redmine-kurulumu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

