![Hoe installeer ik macOS Mojave op Windows 10 op een virtuele machine?](/f/2eae28c59b9919b992cb88b9aa97fac8.png?width=100&height=100)
Als uw werk documenten, webpagina's en andere soorten bestanden moet verwerken die regelmatig worden bijgewerkt, wilt u misschien een versiebeheermechanisme gebruiken als u dat nog niet doet.
Hiermee kunt u onder andere (en ook een groep potentiële medewerkers) wijzigingen volgen die in een bepaald bestand zijn aangebracht, en laat je teruggaan naar een vorige versie als zich een probleem voordoet of wanneer een update niet het verwachte heeft opgeleverd resultaat.
In het vrije software-ecosysteem wordt het meest gebruikte versiebeheersysteem genoemd Apache-ondermijning (of SVN in het kort). Met de hulp van mod_dav_svn (Apache's module voor Subversion), u kunt toegang krijgen tot een Subversion-repository met behulp van HTTP en een webserver.
Dat gezegd hebbende, laten we onze mouwen opstropen en deze tools installeren op een RHEL / CentOS 7, Fedora 22-24, Debian 8/7 en Ubuntu 16.04-15.04 server. Voor onze tests gebruiken we a CentOS 7 server met IP 192.168.0.100.
Aan de klantzijde (a Windows 7
machine), zullen we installeren en gebruiken! SchildpadSVN (die is gebaseerd op Apache Subversion) als een interface naar SVN.Server - CentOS 7IP adres - 192.168.0.100Cliënt - Windows 7
Zoals we zojuist vermeldden, zullen we op Apache vertrouwen om toegang te krijgen tot de SVN-repository met behulp van een webinterface. Als het nog niet is geïnstalleerd, voeg het dan toe aan de lijst met pakketten, zoals hieronder weergegeven:
Op CentOS / RHEL / Fedora # yum update && yum install mod_dav_svn subversion httpd -y Op Debian / Ubuntu # apt-get update && apt-get install libapache2-svn subversie apache2 -y
Tijdens installatie op CentOS 7, wordt een Apache-configuratiebestand voor SVN gemaakt als /etc/httpd/conf.modules.d/10-subversion.conf. Open het bestand en voeg het volgende configuratieblok toe:
/etc/httpd/conf.modules.d/10-subversion.conf
DAV svn SVNParentPath /websrv/svn AuthType Basic AuthName "Welkom bij SVN" AuthUserFile /etc/httpd/subversion-auth Valid-user vereist.
Opmerking: Op Debian / Ubuntu je moet onderstaande regels toevoegen aan /etc/apache2/mods-enabled/dav_svn.conf
het dossier.
/etc/apache2/mods-enabled/dav_svn.conf
DAV svn SVNParentPath /websrv/svn AuthType Basic AuthName "Welkom bij SVN" AuthUserFile /etc/apache2/subversion-auth Valid-user vereist.
Op Debian / Ubuntu, je moet inschakelen dav_svn Apache module:
# a2enmod dav_svn.
Een paar verduidelijkingen:
# mkdir -p /websrv/svn.
Het is belangrijk op te merken dat deze map zich NIET binnenin, of overlapt, mag bevinden in de DocumentRoot van een virtuele host die momenteel wordt bediend door Apache. Dit is een showstopper!
We zullen nu gebruik maken van htpasswd om een wachtwoord aan te maken voor accounts die toegang krijgen tot SVN. Alleen voor de eerste gebruiker hebben we de -C
keuze.
Toegestane accounts en bcrypt-gecodeerde wachtwoorden (-B
) wordt opgeslagen in /etc/httpd/subversion-auth in sleutel-waardeparen. Houd er rekening mee dat volgens de huidige normen de standaard MD5- of SHA-codering die door htpasswd wordt gebruikt, als onveilig wordt beschouwd.
Op CentOS / RHEL / Fedora # htpasswd -cB /etc/httpd/subversion-auth tecmint Op Debian / Ubuntu # htpasswd -cB /etc/apache2/subversion-auth tecmint.
Vergeet niet het juiste eigendom en de rechten voor het authenticatiebestand in te stellen:
Op CentOS / RHEL / Fedora # chgrp apache /etc/httpd/subversion-auth. # chmod 660 /etc/httpd/subversion-auth Op Debian / Ubuntu # chgrp www-data /etc/apache2/subversion-auth. # chmod 660 /etc/apache2/subversion-auth.
Aangezien u toegang krijgt tot SVN via een webinterface, moet u toestaan HTTP (en optioneel HTTPS) verkeer door uw firewall.
Op CentOS / RHEL / Fedora # firewall-cmd --add-service=http --permanent. # firewall-cmd --add-service=https --permanent. # firewall-cmd --reload
Door de firewallconfiguratie opnieuw te laden met: --herladen
, worden de permanente instellingen onmiddellijk van kracht.
Maak een eerste SVN-repository met de naam tecmin:
# svnadmin maak /websrv/svn/tecmint.
Wijzig de eigenaar en groepseigenaar in apache recursief:
Op CentOS / RHEL / Fedora # chown -R apache: apache /websrv/svn/tecmint Op Debian / Ubuntu # chown -R www-data: www-data /websrv/svn/tecmint.
Ten slotte moet u de beveiligingscontext van: /websrv/svn/tecmint
(merk op dat u deze stap moet herhalen als u later besluit om andere repositories aan te maken):
Op CentOS / RHEL / Fedora# chcon -R -t httpd_sys_content_t /websrv/svn/tecmint/ # chcon -R -t httpd_sys_rw_content_t /websrv/svn/tecmint/
Opmerking: De laatste twee commando's zijn mogelijk niet van toepassing als je SVN installeert op een VPS met SELinux uitgeschakeld.
Voorgesteld lezen:Leer hoe u SELinux tijdelijk of permanent kunt uitschakelen in Linux
Herstarten Apache en controleer of de repository beschikbaar is.
Op CentOS / RHEL / Fedora # systemctl herstart httpd Op Debian / Ubuntu # systemctl herstart apache2.
Start vervolgens een webbrowser en wijs deze naar: http://192.168.0.100/svn/tecmint
. Na het invoeren van de inloggegevens voor de geldige gebruiker die we hebben aangemaakt in Stap 1, moet de uitvoer vergelijkbaar zijn met:
Op dit moment hebben we nog geen code aan onze repository toegevoegd. Maar dat zullen we zo doen.
Zoals we in de inleiding al zeiden, SchildpadSVN is een gebruiksvriendelijke interface voor Apache Subversion. Het is Vrije Software gelicentieerd onder de GPL en kan worden gedownload van: https://tortoisesvn.net/downloads.html.
Kies de architectuur (32 of 64-bits) die overeenkomt met uw computer en installeer het programma voordat u verdergaat.
In deze stap gebruiken we een map met de naam web applicatie
binnenkant Documenten. Deze map bevat een HTML-bestand en twee mappen met de naam scripts en stijlen met een Javascript- en een CSS-bestand (script.js en stijlen.css, respectievelijk) die we willen toevoegen aan versiebeheer.
Klik met de rechtermuisknop web applicatie en kies SVN Afrekenen. Dit maakt een lokale kopie van de externe repository (die op dit moment leeg is) en initialiseert de map voor versiebeheer:
Typ in de URL van de repository http://192.168.0.100/svn/tecmint
en zorg ervoor dat de lokale kassa-directory hetzelfde blijft, klik dan op OK:
Voer de gebruikersnaam en het wachtwoord in (zie: Stap 2) en klik op OK:
U wordt gevraagd of u wilt afrekenen in een niet-lege directory. Bevestigen om verder te gaan met afrekenen. Zodra het is voltooid, verschijnt er een groen vinkje naast de mapnaam:
Klik met de rechtermuisknop op web applicatie
opnieuw en kies Verbinden deze keer. Schrijf vervolgens een beschrijvende opmerking om deze commit later te identificeren, en controleer de bestanden en mappen die je in de repository wilt implementeren. Klik ten slotte op OK:
Afhankelijk van de grootte van de bestanden, zou de vastlegging niet langer dan een minuut moeten duren. Als het klaar is, zul je zien dat we nu bezig zijn revisie 1, die overeenkomt met de versie en bestanden die worden vermeld in de webinterface:
Als er meerdere mensen aan dezelfde bestanden werken, wilt u: Bijwerken uw lokale exemplaar om de nieuwste versie beschikbaar te hebben om aan te werken. Dat doe je door rechts te klikken op web applicatie
en kiezen Bijwerken vanuit het contextmenu.
Gefeliciteerd! U hebt met succes een SVN-server opgezet en een eenvoudig project onder versiebeheer vastgelegd / bijgewerkt.
In dit artikel hebben we uitgelegd hoe u een Apache-ondermijning repository-server op a CentOS 7 server, en hoe u wijzigingen in die repository kunt vastleggen met SchildpadSVN.
Let op er is nog veel meer te doen SVN en SchildpadSVN dan wat we hier adequaat kunnen behandelen (met name hoe terug te keren naar eerdere revisies), dus misschien wilt u verwijzen naar de officiële documenten (SVN en SchildpadSVN) voor meer informatie en configuratiegevallen.
Zoals altijd, aarzel niet om ons te laten weten als je vragen hebt! Voel je vrij om het onderstaande reactieformulier te gebruiken om ons op elk moment te bereiken.