Subversion, açık kaynaklı bir sürüm izleme sistemidir. Dosyaları merkezi bir depoda tutar ve dizinler veya dosyalar üzerinde sürüm kontrolü sağlar. Bir geliştirici olarak proje dosyalarını bir havuzdan çekebilir, bunlarda değişiklik yapabilir ve tekrar geri gönderebilirsiniz.
Subversion, projelerinizi barındırmak için kullanabileceğiniz bir sunucu bileşenine de sahiptir. Sıradan bir dosya sunucusu gibi çalışır.
Subversion Nasıl Kurulur
Subversion'ın kurulumu basittir. Dağıtımınızın başlaması için uygun komutu kullanabilirsiniz:
# Debian, Ubuntu
sudo uygun Yüklemek yıkıcı apache2 libapache2-mod-svn
# CentOS, Fedora, RHEL
sudo dnf Yüklemek alt sürüm apache2 mod_dav_svn
Bu komutun da Apache2 web sunucusunu kurar. Subversion deposuna HTTP veya WebDAV aracılığıyla erişmek istiyorsanız bir web sunucusuna ihtiyacınız olacak. HTTPS'yi de kullanabilirsiniz, bunun için bir dijital sertifika yüklemeniz ve yapılandırmanız yeterlidir.
Bu komutu çalıştırdıktan sonra, Subversion'ın doğru şekilde kurulduğunu kontrol edebilirsiniz. Şimdi çalıştırabilmeniz gerekir
svn komutunu kullanarak mevcut sürümü görebilirsiniz. --versiyon seçenek:Subversion ile Sunucu Yapılandırması
Kurulum sorunsuz geçtiyse, artık birlikte kullanacağınız depo yapılandırması üzerinde çalışmaya başlayabilirsiniz. svn. Elbette bunun için yeni bir depo oluşturmanız gerekecek. İlk olarak, deponuzu yerleştirmek için bir kök dizinde bir klasör oluşturun:
sudo mkdir / yıkım
Deponuza HTTP üzerinden WebDAV kullanarak erişmeniz gerekiyorsa, dizininin sahipliğini Apache'ye vermeniz gerekir. Apache kullandığından beri www-veri varsayılan olarak kullanıcı, bu kullanıcıyı aşağıdaki şekilde yetkilendirin:
sudo chown www-veri: www-data /subversion
artık geçiş yapabilirsiniz www-veri kullanıcı ve deponuz üzerinde çalışmaya başlayın. olarak oturum açmak için kullanacağınız komut www-veri kullanıcı:
sudo su -s /bin/bash www-veri
Artık bir Apache kullanıcısısınız ve bu adımdan sonra Subversion deponuzu aşağıdaki gibi oluşturabilirsiniz:
svnadmin oluşturmak /subversion/myrepo
Artık bir Subversion deponuz var. Bu havuzu biraz daha güvenli hale getirmek ve kullanıcılarını belirlemek için bir sonraki adım, bir kullanıcı oluşturmak ve onun için bir şifre belirlemektir. Bunu yapmak için aşağıdaki komutu kullanın:
htpasswd -cmb /subversion/passwd myadmin mypass
Bu komuta göre kullanıcı adınız yöneticim ve şifreniz olacak mypass. Bu değerleri, durumunuza uygun olanla değiştirebilirsiniz.
Subversion deponuz artık kullanıma hazır. Bu aşamada çıkış yapabilirsiniz. www-veri kullanarak kullanıcı çıkış emretmek.
Artık aşağıdaki komutu kullanarak istediğiniz projeyi veya dosyayı deponuza gönderebilirsiniz:
sudo svn içe aktarma <proje-adresiniz> file:///subversion/myrepo -m "İlk Taahhüt"
Bu komut, içe aktarmak proje klasörünüzdeki her şeyi Subversion deponuza göndermek için parametre. Bunu yaparken, taahhüt mesajını ile birlikte eklemeniz gerekir. -m parametre.
Subversion'da Erişim Yöntemlerini Kullanma
kullandığınızı fark etmiş olabilirsiniz. dosya:// havuzunuza bir proje eklemek için protokol. Bu, bir svn deposuna erişmek için kullanabileceğiniz birkaç ağ protokolünden yalnızca biridir. WebDAV protokolünü HTTP veya HTTPS üzerinden veya subversion'ın özel protokolünü de kullanabilirsiniz. svn protokol.
Depoya Doğrudan Erişim
Gördüğünüz gibi, kullanabilirsiniz dosya:// yerel bir depoya erişmek için protokol. Geçerli dizininize yerel bir depoyu şu şekilde kontrol edebilirsiniz:
svn.co dosyası:///subversion/myrepo
Depoyu teslim aldığınızda, svn içerdiği dosyaların bir listesini görüntüler:
WebDAV Kullanarak Erişme
Subversion deponuzu Apache ile entegre etmek için bazı ayarları yapılandırmanız gerekir.
İlk adım için, etkinleştirin dav, dav_svn, ve dav_fs aşağıdaki komutları kullanarak modüller:
sudo a2enmod dav dav_fs dav_svn
Gerekli modülleri etkinleştirdikten sonra, şimdi düzenleyebilirsiniz. /etc/apache2/mods-enabled/dav_svn.conf dosya. Dosya zaten yoksa oluşturun ve içeriğini aşağıdaki gibi değiştirin:
<Konum / yıkım>
DAV svn'si
SVNPath /subversion/myrepo
AuthType Temel
Yetki Adı "Subversion Deposu"
AuthUserFile /subversion/passwd
Gerekmek geçerli kullanıcı
</Location>
bu Yetki Kullanıcı Dosyası ayarı, kullanarak daha önce oluşturduğunuz dosyaya başvurur. htpasswd. Buraya eklemek, geçerli bir parola ile kimlik doğrulaması yapmaları koşuluyla, dosyada adı geçen tüm kullanıcılara havuz erişimi sağlar.
Bu dosyayı oluşturup kaydettikten sonra, aşağıdaki komutla Apache2 hizmetini yeniden başlatın:
sudosistemctltekrar başlatapache2.hizmet
Şimdi, bir web tarayıcısı açıp şuraya gittiğinizde http://localhost/subversion/, deponuzun içeriğini göreceksiniz. Bu adrese gittiğinizde, kullanıcı adınızı ve şifrenizi isteyecektir:
Kullanıcı adı ile giriş yapın (örn. yöneticim) ve şifre (mypass) daha önce kurduğunuz. Kullanıcı adı ve şifreyi girdikten sonra WebDAV'ı kullanarak Subversion deponuza erişebilirsiniz:
SSL ve WebDAV ile Erişim
bu https:// protokol ile hemen hemen aynı konfigürasyona sahiptir. http:// protokol, sadece birkaç önemli farkla. Örnek vermek gerekirse, .conf yapılandırma sırasında kullanmanız gereken dosya farklıdır. Ayrıca bir dijital sertifika yüklemeniz gerekir. Çünkü bildiğiniz gibi sistemin çalışma mantığı bu. SSL şifreleme yöntemi.
Yapabilirsiniz dijital sertifika oluştur kendiniz veya yetkili bir makam tarafından verilen bir tane kurabilirsiniz. Dijital bir sertifika yüklediğinizi varsayarsak, yapmanız gereken basit.
Bu adımdaki fark, yapılandırma dosyasında yapacağınız değişikliklerdir. Aşağıda, SSL ve WebDAV kullanımı için örnek bir yapılandırma dosyası bulunmaktadır:
<Konum / yıkım>
DAV Açık
SSLGerekliSSL
Seçenekler Hiçbiri
AuthType Temel
Yetki Adı "Subversion Deposu"
AuthUserFile /subversion/passwd
Gerekmek geçerli kullanıcı
</Location>
Gördüğünüz gibi aradaki fark https:// ve http:// protokoller, yapılandırma dosyasındaki değişiklikler açısından o kadar fazla değil. Bu değişikliklerden sonra, yeniden başlatmanız gerekecek. apache2 hizmet. Koşmak systemctl apache2.service'i yeniden başlat böyle yaparak.
Subversion'u Neden Kullanmalı?
Bir sürüm izleyici olarak Subversion, dosyalarda ve dizinlerde yapılan her değişikliği hatırlar. Üzerinde çalıştığınız yazılım veya belgelerin eski sürümlerine erişmenizi ve aralarındaki farklılıkları bulmanızı sağlar. Bu, özellikle geliştirme ekibiniz büyükse veya dağıtılmışsa, projeleri yönetmeyi kolaylaştırır.
Subversion dışında Linux için pek çok sürüm kontrol sistemi vardır.