Subversion Sürüm Kontrol Sistemi Kurulumu ve Apache Yapılandırması. Çağrı Emer

Benzer belgeler
SparkleShare. Çağrı Emer. Ekim, 2011

Paketi Açalım Indirmiş olduğunuz paketi tar komutu ile açın: tar xzf nagios version.tar.gz Kullanıcı Gruplarını Oluşturalım Paketi derledikten sonra n

Apache Htaccess Güvenlik Testleri

Linux Dosya ve Dizin Yapısı

OKUL HABER EKLEME MODÜLÜ TANITIM DOSYASI. Okul haberlerinizi ilçemiz web sitesinde yayınlayabilmek için aşağıdaki adımları uygulamanız gerekmektedir.

Git Sürüm Kontrol Sistemi

Veri Tabanı Yönetim Sistemleri Bölüm - 02

Sözü fazla uzatmadan bu durumlar için bir çözüm yolunu sizlere paylaşmak istiyorum..

Kabuk Programlama (Bash)

sudo SUDO'da Bu Ay...

Paralel Hesaplama - Beowulf Cluster

DBMAIL KURULUMU BELGESI (Howto Install Dbmail) Yazan: Ozgur Karatas

BIND ile DNS Sunucu Kurulumu

Komut Penceresi ile Çalışmaya Başlamak

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

.: Linux Kullanıcıları Derneği. III. Linux ve Özgür Yazılım Şenliği Mayıs Milli Kütüphane Ankara :.

Ubuntu üzerine phpbb forum yazılımının 3.2 sürümünün kurulumu. Ocak, 2017

Ağ Bağlantısı Hızlı Kurulum Kılavuzu

KÜTÜPHANE KAYNAKLARINA DIŞARIDAN (PROXY SUNUCU KULLANARAK) BAĞLANMAK İÇİN YAPILMASI GEREKENLER A. INTERNET EXPLORER KULLANICILARI İÇİN;

AirTies Kablosuz Erişim Noktası (Access Point) olarak kullanacağınız cihazı bilgisayarınıza bağlayarak ayarlarını yapabilirsiniz.

Squid. Çağrı Emer. Şubat, 2013

Yrd. Doç. Dr. A. Burak İNNER

Aktif Dizin Logon/Logoff Script Ayarları Versiyon

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Temel Linux Sunucusu Kurulumu

AirTies Kablosuz Erişim Noktası (Access Point) olarak kullanacağınız cihazı bilgisayarınıza bağlayarak ayarlarını yapabilirsiniz.

BLGM 354 DENEY 1 * GİRİŞ

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.

Bu dosyalar NT4 Server kurulum C'sinde \CLIENTS\MSCLIENT dizini altında bulunabilir.

Program Kurulum. Turquaz Muhasebe. İçindekiler

Trickbot Zararlı Yazılımı İnceleme Raporu

Hızlı Başlangıç Kılavuzu

Adım Adım Windows 2000 Server Kurulumu 11 Cuma, 08 Eylül :32 - Son Güncelleme Cumartesi, 12 Eylül :45

Apache üzerinden Red Hat 5 yüklenmesi

TAKSİ-DURAK MÜŞTERİ TAKİP PROGRAMI

Windows XP: Simple Sharing, Security ve ForceGuest Perşembe, 07 Eylül :02 - Son Güncelleme Cumartesi, 12 Eylül :36

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

İçerik Yönetim Sistemi. Joomla! Öğr.Gör. Serkan KORKMAZ. Birecik MYO

Denetim Masası/Programlar/Windows özelliklerini Aç/Kapat

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

Versiyon Kontrol Sistemleri

Nagios Network Monitör Uygulaması -2

SUBVERSION VE TRAC A GİRİŞ

Ufuk Üniversitesi Bilgi İşlem Merkezi

BEUN VPN Hizmeti. VPN Nedir?

HUAWEI Cihazlara Erişim Yöntemleri

LOGO için Online Mutabakat Kullanım Kılavuzu

Linux Kurulumu (Sürüm 1.52) İçindekiler

Proticaret Exclusive Versiyon Yükseltme Dokümanı(v.3.0'dan v3.1.0'a)

Adli Analiz İşlemlerine Başlamak

Firma Yazılımı v2.00 Kullanım Kılavuzu

FreeBSD Erişim Kontrol Listeleri

Bloglar için en çok tercih edilen düzen 1.düzendir. Yani En son yazılarımın listesi. Sizlerde ödeviniz için bu düzeni seçebilirsiniz.

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

Kurumsal Güvenlik ve Web Filtreleme

Arama motoru: kuş gribinin etkileri

Proticaret Exclusive Versiyon Yükseltme Dokümanı(v.3.2.0'dan v3.2.1'e)

Dosya/Dizin İzinleri. Okuma (r) Yazma (w) Çalıştırma (x) Dosya içeriğini görebilir mi? (Klasörler için) dosya listesini alabilir mi?

Google Chrome Kullanıyorsanız; Microsoft Internet Explorer Kullanıyorsanız;

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler.

AKINSOFT FilterPlus 2

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Temel masaüstü bileşenleri

Kurumsal Güvenlik ve Web Filtreleme

MEBWEB OKUL/KURUM WEB SİTELERİ KULLANIM KLAVUZU TEMEL İŞLEMLER

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

AHTAPOT Merkezi Güvenlik Duvarı Yönetim Sistemi Kontrol Paneli

05 - Veritabanı Sızma Testleri

Genel Programlama II

Dokuz Eylül Üniversitesi Bilgi İşlem Dairesi Sunum konusu: Web Güvenliği

VERİ TABANI NEDİR A. TABLO OLUŞTURMA

Komutlar (Devam) ls -a > deneme (ls -a komutunun çıktısı deneme isimli. ls -a >> deneme (ls -a komutunun çıktısı deneme

AHTAPOT Firewall Builder Kurulumu

LSI Keywords İle Sitenizin Sıralamasını Ve Trafiğini Arttırın

Yeni Vision Link Kullanıcı Hesabı Nasıl Oluşturabilirsiniz?

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

Bay.t Destek. İnternetten Uzak Erişim. Kullanım Klavuzu

İçindekiler ADIM 1 : Üye Olma... 2 ADIM 2 : Giriş Yap ve Hatırlatma Sayfaları... 3 ADIM 3: Üye Girişi yapıldıktan sonra yapabileceğiniz işlemler...

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Ek Uygulama 1: Windows 7 Güncelleme İşlemleri

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

Flow Kullanım Klavuzu Mart 2014

2- Kontrol Sil En Öne Getir En Arkaya Gönder Resim Özellikler: Genel Özellikler...

Windows 2000 veya XP kurarken dosya sistemini seçmeniz gerekir. Ya FAT32 dosya sistemini kullanırsınız ya da NTFS.

Kategori:Allplan->Teknik Destek ve Kurulum->SSS_Allplan_2016_Server_Lisans_Kurulumu

Üst Düzey Programlama

HESAP MAKİNASI YAPIMI

LOGO için Online Mutabakat Kullanım Kılavuzu

Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak. Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek

TAPU VERİ SAYISALLAŞTIRMA YAZILIMI KURULUM DÖKÜMANI. Tapu Kadastro Genel Müdürlüğü-Bilgi Teknolojileri Daire Başkanlığı Page 1

Tomcat Uygulama Sunucusunun Kurulumu. İlk olarak adresine gidiyoruz.

Katılımcı Portalı Kullanım Kılavuzu yatırımınızdan daha fazlasını almak için en etkili araç

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : Tarih : Copyright 2008 AKINSOFT

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.

Mobil Uygulama Kullanma Kılavuzu

Hızlı Kurulum ve Yapılandırma Kılavuzu

Kullanıcı Ayarları. Resim 89. United Security. Kullanici Adi Seviye Etkin. No.

Transkript:

Subversion Sürüm Kontrol Sistemi Kurulumu ve Apache Yapılandırması Çağrı Emer Ağustos, 2011

İçindekiler 1 Giriş.................................................... 2 2 Peki ne yapar bu Subversion?....................................... 3 3 Subversion benim için doğru araç mı?.................................. 4 4 Subversion Kurulumu........................................... 5 5 Peki bu kullanıcı izinlerini nasıl oluşturacağız?.............................. 7 6 Kullanıcılar tamam da, ya belli kullanıcıların belli dosyalara erişmesini istiyorsak ne yapacağız?..... 8 7 Notlar ve Kaynaklar............................................ 9 1

1 Giriş 2000 yılında CollabNet, Inc. tarafından başlatılan açık kaynak Subversion projesi, geçtiğimiz on yıl içerisinde büyük başarılara imza atarak neredeyse piyasa standardı haline gelen bir sürüm kontrol sistemidir. Yakın geçmişte Apache Software Foundation çatısı altına girmiş olan Subversion, bir Apache projesi olarak hayatına devam etmektedir. 2

2 Peki ne yapar bu Subversion? Subversion, zaman içinde dosya ve dizinlerinizde yaptığınız değişiklikleri takip eden ve gerektiğinde bir dosyanın ya da dizinin belli bir tarihteki versiyonuna ulaşmanıza imkan veren yazılımdır. Böylelikle verilerinizin zaman içinde nasıl değiştiğini görebilir, istenmeyen değişiklikleri ekstra bir iş yüküne gerek duymaksızın geri alabilirsiniz. Bu bağlamda Subversion, kullanıcı kılavuzunda da geçtiği üzere tabiri caizse bir zaman makinasıdır. Ağ üzerinden çalışabildiği için, değişik bilgisayarlardaki insanların dosyalara erişebilmesine ve dosyaları düzenleyebilmesine olanak verir. Üstelik bunu yaparken birinin dosyayı bozma ihtimalinden korkmanız gerekmez çünkü yapılan değişiklikleri her zaman geri alabilirsiniz. Bunun değeri, çok kişinin aynı proje üzerinde çalışması gerektiği anlarda daha rahat olarak anlaşılabilecektir. 3

3 Subversion benim için doğru araç mı? Subversion kullanmayı düşünen bir kullanıcı ya da sistem yöneticisiyseniz kendinize sormanız gereken ilk soru Subversion ın sizin kullanımınız için doğru bir araç olup olmadığıdır. Yine kullanıcı kılavuzundan aktaracak olursak, Subversion bir çekiçtir, fakat her problemi çivi gibi görmemeye özen gösterin. Eğer dosyaların ve dizinlerin eski hallerini arşivlemek, muhtemelen bu hallere geri dönmek ve verinizin zaman içinde nasıl değiştiğini gösteren kayıtları incelemek istiyorsanız Subversion tam sizin aradığınız araçtır. Eğer çeşitli dosyalar üzerinde, genellikle ağ üzerinden, diğer insanlarla birlikte çalışmak durumundaysanız ve yapılan değişiklikleri kimin yaptığını görmek istiyorsanız Subversion kullanımı yine uygun olacaktır. Subversion ın yazılım geliştirme ortamlarında kullanılmasının en büyük sebebi de budur. Tabii ki Subversion kullanmanın bir de maliyeti vardır. Verilerinizi ve tarih içindeki hallerini saklamak için bir depo yönetmeniz ve bu deponun zaman içinde yedeklerini almanız gerekir. Dosyalarınızla çalışırken bildiğimiz kopyalama, taşıma, yeniden adlandırma ve silme işlemleri yerine bu işlemlerin Subversion a özgü olanlarını kullanmanız gerekir. Bütün bu ekstra iş yüküne -ki doğru araçları kullanırsanız zamanla aslında iş yükü olmadığını göreceksiniz- razıysanız, yine de Subversion ı diğer araçların daha iyi şekilde çözebileceği bir problem için kullanmamalısınız. Örneğin Subversion, versiyonu değişmeyen fakat zaman içinde büyüyen verilerinizi dağıtabileceğiniz bir sistem değildir. Bu şekilde kullanabilirsiniz fakat bu işi çok daha iyi yapan araçlar varken Subversion kullanmak gereksiz olacaktır. Bu yazıda dav modülü ile Apache üzerinden kullanılacak şekilde Subversion yapılandırılması anlatılmıştır. 4

4 Subversion Kurulumu İlk olarak aşağıdaki komutla Subversion ve Apache için gerekli olan Subversion modüllerini kurmalısınız. 1 sudo apt get i n s t a l l subversion libapache2 svn Şimdi deponuzu tutacağınız dizini yaratıyoruz. Dizin seçimi size kalmakla birlikte, genellikle /srv ya da /var altında tutulduğunu söylersek yanlış olmayacaktır. Bu yazıda ben, /srv/svn dizinini depo olarak kullanacağım. 1 sudo mkdir p / srv / svn Dizini oluşturduktan sonra ilk depoyu yaratmaya hazırsınız. Şu komutla devam edelim. 1 svnadmin create / srv / svn Tebrikler ilk svn deponuzu oluşturmuş oldunuz. Şimdi deponuzu Apache üzerinden sunmak için yapmanız gereken temel ayarlara bakalım. Diyelim ki http://svn.ornek.com sitesi üzerinden bu işlemleri gerçekleştireceksiniz. örnek.com un yapılandırma dosyasında svn i bir VirtualHost olarak barındırdığınız varsayıldığında, yapılandırma dosyanız içine eklemeniz gereken kod şuna benzer olacaktır. 1 <VirtualHost IP : Port > 2 ServerAdmin yonetici@ornek. com 3 ServerName svn. ornek. com 4 DocumentRoot / var /www/ ornek. com/ svn. ornek. com/ public_html 5 <Location / svn > 6 DAV svn 7 SVNPath / srv / svn 8 </ Location > 9 CustomLog / var /www/ ornek. com/ svn. ornek. com/ logs / svn_ logfile %t %u %{SVN ACTION } e env=svn ACTION 10 </ VirtualHost > Apache yi yeniden başlattığınızda http://svn.ornek.com adresi üzerinden deponuza erişebilirsiniz. Lakin şu anda içinde herhangi bir şey olmadığı için boş olarak gözükecektir. Bu yapılandırmada bir erişim izini ya da erişim kontrolü oluşturmadık. Bunlar daha üst düzeyde ayarlar olduğundan ve hepsini anlatmak mümkün olmadığından çok temel iki tanesi ile devam edeceğim. Dahası için mutlaka kullanıcı kılavuzunu okumalısınız. Yukarıda oluşturduğumuz depo su anda herkese açık. svn.ornek.com adresine erişimi olan herkes depomuza da erişebilir. Dolayısıyla eğer sadece istediğimiz kişilerin erişmesini istiyorsak, erişim izinleri oluşturmalıyız. 1 AuthType Basic 2 AuthName Kimsin Sen? 3 AuthUserFile / etc / svn auth f i l e 4 Require valid user Örnek.com sitenizin yapılandırma dosyasına ekleyeceğiniz yukarıdaki satırlar tam olarak istediğimiz işi yaparlar. Yani yeni VirtualHost umuz aşağıdaki gibi gözüküyorsa, svn.ornek.com adresine gelen kullanıcıların artık kullanıcı adı ve şifre girmeleri gerekecektir. 1 <VirtualHost IP : Port > 2 ServerAdmin yonetici@ornek. com 3 ServerName svn. ornek. com 4 DocumentRoot / var /www/ ornek. com/ svn. ornek. com/ public_html 5 <Location / svn > 6 DAV svn 7 SVNPath / srv / svn 8 AuthType Basic 9 AuthName Kimsin Sen? 10 AuthUserFile / etc / svn auth f i l e 11 Require valid user 12 </ Location > 13 CustomLog / var /www/ ornek. com/ svn. ornek. com/ logs / svn_ logfile %t %u %{SVN ACTION } e env=svn ACTION 14 </ VirtualHost > 5

Şekil 1: 6

5 Peki bu kullanıcı izinlerini nasıl oluşturacağız? Neyse ki Apache bunu bizim için çok kolaylaştırmış. İlk seferde yapmamız gereken; 1 AuthUserFile / etc / svn auth f i l e satırında geçen /etc/svn-auth-file adresine izin dosyamızı oluşturmak. Bu dosya adresini kendi ihtiyaçlarınıza göre değiştirebilirsiniz. Yani /srv/permissions/svn-perm gibi bir dosyada da tutmanız herhangi bir sorun yaratmayacaktır. Unutmamanız gereken izinleri yarattığınız dosyanın adresini AuthUserFile değişkenine parametre olarak atamak. Şimdi ilk kullanıcımızı oluşturalım. 1 htpasswd cs / etc / svn auth f i l e yonetici Bu komutla /etc dizini altına svn-auth-file diye bir dosya yarattık. Yönetici isminde bir kullanıcının şifresini SHA algoritmasıyla şifreledik ve bu dosyaya kaydettik. Bundan sonra oluşturacağımız kullanıcılarda artık create manasına gelen -c seçeneğini kullanmamıza gerek yok. Bir de böyle bir kullanıcı tanımlayalım. 1 htpasswd s / etc / svn auth f i l e k u l l a n i c i 1 -s seçeneğini kullanmazsak şifrelerimiz düz metinler halinde saklanır ki hiç hoş bir şey değildir. SHA algoritması dışında hangi algoritmaları kullanabileceğinizi görmek için htpasswd nin man sayfalarına bakabilirsiniz. 7

6 Kullanıcılar tamam da, ya belli kullanıcıların belli dosyalara erişmesini istiyorsak ne yapacağız? Bunun için erişim kontrol dosyası oluşturmalı ve yine örnek.com un yapılandırma dosyasına birkaç satır eklemeliyiz. Erişim kontrol dosyası çok basit bir yapıya sahip. Diyelim yukarıda oluşturduğumuz yönetici isimli kullanıcının her dizine erişebilmesini fakat kullanıcı1 isimli kullanıcının sadece kullanıcı1 dizinine yazabilmesini fakat diğer dizinleri okuyabilmesini istiyoruz. O halde şöyle bir dosya oluşturmalıyız. Yine erişim izin dosyasında olduğu gibi bu dosyayı istediğimiz isimde ve istediğimiz dizinde oluşturabiliriz. Yeter ki adresini bilelim. 1 nano / etc / svn access f i l e #favori metin editörü tartışmasına girmeyelim : ) ben de istemez miyim bir vi kullanayım, emacs le macro dan macro ya uçayım. Bu dosyaya şu satırları yazacağız. 1 [ / ] 2 y o n e t i c i = rw 3 k u l l a n i c i 1 = r 4 5 [ / k u l l a n i c i 1 ] 6 k u l l a n i c i 1 = rw Tabii ki bu dosyaya ekleyeceğiniz satırlar kullanıcılarınıza ve deponuzun dizin yapısına göre değişecektir. Birden çok depo kullanmanız halinde ya da Apache yapılandırmasında SVNParentPath kullandıysanız bu gibi sebeplerden farklı bir yapılandırmaya ihtiyaç duyabilirsiniz. Bu noktada sizi tekrar kullanıcı kılavuzuna yönlendiriyorum. Şimdi erişim kontrolü için gereken değişkeni Örnek.com un Apache yapılandırmasına ekleyelim. 1 <VirtualHost IP : Port > 2 ServerAdmin yonetici@ornek. com 3 ServerName svn. ornek. com 4 DocumentRoot / var /www/ ornek. com/ svn. ornek. com/ public_html 5 <Location / svn > 6 DAV svn 7 SVNPath / srv / svn 8 AuthzSVNAccessFile / etc / svn access f i l e 9 AuthType Basic 10 AuthName Kimsin Sen? 11 AuthUserFile / etc / svn auth f i l e 12 Require valid user 13 </ Location > 14 CustomLog / var /www/ ornek. com/ svn. ornek. com/ logs / svn_ logfile %t %u %{SVN ACTION } e env=svn ACTION 15 </ VirtualHost > Apache yi yeniden başlattığımızda hem izin kontrolü hem de erişim kontrolü yapan ve Apache üzerinden çalışan bir Subversion sunucuya sahip olacağız. Kendimizi tebrik edebiliriz :) Temel Subversion kullanımı ve Git ile arasındaki farkları gelecek ayki SUDO da bulabilirsiniz. 8

7 Notlar ve Kaynaklar VirtualHost yapılandırması için kullandığım CustomLog un nasıl oluşturulduğunu Apache sayfalarında bulabilirsiniz. \ http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#customlog Diğer her şey için bakmanız gereken kaynak kullanıcı kılavuzudur.\ http://svnbook.red-bean.com/ 9