Apache Subversion , noto anche come SVN, un sistema di controllo della versione open source utilizzato per tenere traccia del file e dei documenti di origine.
Ogni volta che aggiungi, elimini o modifichi un file o una cartella che controlli con subversion, impegni queste differenze nel repository di subversion, che crea una nuova revisione nel repository di subversion che riflette queste modifiche.
In qualsiasi momento puoi tornare indietro, visualizzare e ottenere i contenuti delle revisioni precedenti.
Questo post ti aiuta a installare Apache SVN su Ubuntu 18.04 .
Passa all'utente root.
su -
O
sudo su -
Installa server web
aggiorniamo prima l'indice del repository.
apt update
Qui installeremo server Apache per l'accesso al server SVN tramite URL HTTP.
apt install -y apache2 apache2-utils
Verifica il servizio Apache visitando l'URL sottostante.
http://tuo.ip.add.dressDovresti ottenere la pagina predefinita di Apache2.
Installa Apache Subversion
Una volta che Apache server web è installato, puoi procedere e installare Apache subversion .
apt -y install subversion subversion-tools libapache2-mod-svn
Configura Apache Subversion
Ora crea un repository secondo le tue esigenze. Qui sto creando /opt/svn come base e creerò un repository "testrepo".
mkdir /opt/svn
Crea il repository chiamato “testrepo ”.
svnadmin create /opt/svn/testrepo
Modifica i permessi del repository in modo che Apache possa leggere e scrivere dati su di esso.
chown -R www-data:www-data /opt/svn/testrepo/
Configura un host virtuale in Apache per SVN.
nano /etc/apache2/mods-enabled/dav_svn.conf
Inserisci il seguente contenuto.
<Location /svn> DAV svn SVNParentPath /opt/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location>
Creare un file di password per l'utente. Sostituisci raj con il tuo nome utente .
htpasswd -cm /etc/apache2/dav_svn.passwd raj
Riavvia il server Apache.
systemctl restart apache2
Test di sovversione di Apache
Accedi ad Apache SVN utilizzando un browser .
http://your-ip-add.ress/svn/testrepoAutenticati con nome utente e password.
Dopo aver effettuato correttamente l'accesso, otterrai la pagina come di seguito.
Crea una directory chiamata "checkout ”.
mkdir checkout
Controlla i file contenuti nella directory nel repository di test. Sostituisci raj con il tuo nome utente .
svn checkout http://192.168.1.10/svn/testrepo --username raj checkout/
L'output sarà come di seguito.
Authentication realm: <http://192.168.1.10:80> Subversion Repository Password for 'raj': **** <-- Enter Password ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <http://192.168.1.10:80> Subversion Repository can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes <-- Store Password Checked out revision 0.
Crea file di test per il commit nel repository testrepo.
cd checkout/ touch checkout1.txt touch checkout2.txt
Aggiungi i file creati per il commit.
svn add checkout1.txt checkout2.txt
Risultato:
A checkout1.txt A checkout2.txt
Conferma i file aggiunti. Puoi aggiungere messaggi con un flag -m .
svn commit -m 'First Revision'
Risultato:
Adding checkout1.txt Adding checkout2.txt Transmitting file data .. Committed revision 1.
Puoi visualizzare i file salvati in un browser.
Puoi utilizzare client SVN come TortoiseSVN per Windows e RapidSVN per Linux per gestire le revisioni.
Questo è tutto.