Előfeltételek
1. lépés: Frissítse a rendszert
2. lépés: Telepítse az Apache-t
3. lépés: Telepítse az SVN-t és a mod_dav_svn modult
4. lépés: Konfigurálja az SVN-t
5. lépés: Indítsa el az Apache-t, és módosítsa a tűzfalszabályokat
Az Apache Subversion (SVN) egy széles körben használt verziókezelési megoldás, amely segít különféle verziójú fájlok, például forráskód és dokumentumok tárolásában.
Ebben a cikkben bemutatom, hogyan használhatja az Apache Subversion-t és az Apache-t egy SVN-kiszolgáló felépítésére Vultr CentOS 7 kiszolgálópéldányon.
Előfeltételek
- CentOS 7-et futtató virtuális gép (minimális telepítés javasolt, de nem kötelező).
- Sudo felhasználó a bejelentkezéshez. Egy másik Vultr-cikk leírja a sudo-felhasználó beállításának részleteit.
1. lépés: Frissítse a rendszert
sudo yum update
sudo shutdown -r now
Az újraindítás után jelentkezzen be újra a rendszerbe ugyanazzal a sudo felhasználóval.
2. lépés: Telepítse az Apache-t
Az Apache telepítése a YUM használatával:
sudo yum install httpd
Távolítsa el az Apache alapértelmezett üdvözlőoldalát:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Megakadályozza, hogy az Apache a "/var/www/html" könyvtárban lévő fájlokat jelenítse meg:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
3. lépés: Telepítse az SVN-t és a mod_dav_svn modult
Ahhoz, hogy az SVN működjön az Apache-val, telepítenie kell egy „mod dav svn” Apache modult az SVN mellett:
sudo yum install subversion mod_dav_svn
1) Módosítsa az SVN konfigurációs fájlt
sudo vi /etc/httpd/conf.modules.d/10-subversion.conf
A fájlnak a következőnek kell lennie:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dontdothat_module modules/mod_dontdothat.so
A következő szegmens hozzáfűzése:
<Location /svn>
DAV svn
SVNParentPath /svn
AuthName "SVN Repos"
AuthType Basic
AuthUserFile /etc/svn/svn-auth
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
Mentés és kilépés:
:wq!
Megjegyzés : Ebben a konfigurációban megadtunk egy HTTP-hozzáférési hitelesítési fájlt „/etc/svn/svn-auth” és egy „/svn/authz” felhasználói engedély-vezérlő fájlt. Mindkettő később jön létre.
2) Hozzon létre egy SVN-tárat
sudo mkdir /svn
cd /svn
sudo svnadmin create repo1
sudo chown -R apache:apache repo1
3) Állítsa be az SVN felhasználói fiókokat
Használja a következő parancsokat egy "/svn/svn-auth" HTTP-hozzáférési hitelesítési fájl és egy "user001" SVN felhasználói fiók létrehozásához:
sudo mkdir /etc/svn
sudo htpasswd -cm /etc/svn/svn-auth user001
sudo chown root:apache /etc/svn/svn-auth
sudo chmod 640 /etc/svn/svn-auth
Ha több SVN felhasználói fiókot szeretne létrehozni, olvassa el a következő parancsokat:
sudo htpasswd -m /etc/svn/svn-auth user002
sudo htpasswd -m /etc/svn/svn-auth user003
Figyelmeztetés : Mostantól ne használja a "-c" jelzőt, különben újraépíti a hitelesítési fájlt, és törli az összes korábban beállított felhasználói fiókot.
4) Beállítási engedélyek a felhasználók számára
sudo cp /svn/repo1/conf/authz /svn/authz
sudo vi /svn/authz
Feltételezzük, hogy:
- A "user001" felhasználó a rendszergazda.
- A "user002" felhasználó egy képzett felhasználó, aki olvasási és írási jogosultságokkal rendelkezik a "repo1" SVN-tárhoz.
- A "user003" felhasználó egy gyakornok, aki csak a "repo1" SVN repo tartalmát tudja olvasni.
Ezután az alábbiak szerint módosíthatja a beállításokat:
[groups]
admin=user001
repo1_user=user002
repo1_trainee=user003
[/]
@admin=rw
[repo1:/]
@repo1_user=rw
@repo1_trainee=r
Mentés és kilépés:
:wq!
5. lépés: Indítsa el az Apache-t, és módosítsa a tűzfalszabályokat
Indítsa el az Apache-t:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Nyissa meg a HTTP szolgáltatás portját:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Végül használja a következő elérési utat az SVN repo "repo1" eléréséhez a kiszolgálón egy SVN kliensről:
http://<your-server-ip>/svn/repo1/
Ezzel az oktatóanyagunk véget ért. Köszönöm, hogy elolvasta.