Domanda

Non ho mai usato alcun tipo di controllo del codice sorgente prima, anche se capisco il concetto. Ciò di cui sono confuso (e forse semplicemente non lo so) è quale vantaggio ottengo e / o perché dovrei configurare Subversion e Apache? Devo configurarlo con Apache per poter accedere ai miei repository da altri computer in rete? Non esitare a fornire altri dettagli che ritieni pertinenti?

La mia configurazione in questo momento è un laptop (Windows & nbsp; XP Pro) e una macchina virtuale (Windows & nbsp; XP Pro). Sulla mia macchina virtuale ho Apache 2.2, MySQL 5 e PHP 5. Questa configurazione è la mia principale preoccupazione, anche se sono felice di sentire esempi / situazioni che si discostano dal mio scenario.

È stato utile?

Soluzione

Non è necessario configurare Subversion con Apache. Ho usato Subversion per anni e non ho mai dovuto farlo (anche se ci sono ragioni per cui dovresti farlo, principalmente a proposito di infrastrutture di autenticazione). Dato che sei in un mondo Windows, ho visto che VisualSVN Server è altamente raccomandato ed è facile da configurare e da utilizzare.

Altri suggerimenti

Dai un'occhiata alla Voce SVNBook: scelta della configurazione del server . Parla dei pro e dei contro dei diversi modi di accedere a un server Subversion.

Il protocollo SVN è il più semplice da configurare e amministrare, ma probabilmente non funziona su tutti i firewall aziendali (ma Apache funzionerà tramite HTTP).

Può essere utile quando la porta 3690 deve essere chiusa. Inoltre, consente agli utenti di sfogliare il codice utilizzando un browser, che presenta pro e contro. Non è necessario disporre di un client Subversion per visualizzare il codice, ma un browser Web crea un browser repository scadente.

L'impostazione non è troppo complicata. Ho trovato utile questa pagina .

Ma, se lo stai semplicemente usando in un ambiente VM locale, svnserve andrebbe bene per te.

Il vantaggio di ospitare il tuo repository SVN tramite Apache entra in gioco se vuoi ACL sul tuo repository.

È possibile configurare l'autenticazione di base e limitare le autorizzazioni su base per directory (o per file se si sente la necessità). Ad esempio, è possibile configurare il repository per consentire il checkout degli ospiti, ma qualsiasi scrittura nel repository richiederà un utente specifico e valido.

Un risultato dell'utilizzo di Apache per autenticare i tuoi utenti significa che non devi definire i tuoi utenti in un .htpasswd. Apache può collegarsi a LDAP, quasi tutti i tipi di server SQL, o persino usare l'autenticazione Kerberos.

L'uso del semplicistico svnserve potrebbe essere sufficiente. Tuttavia, non è possibile applicare autorizzazioni dettagliate e non sarà possibile collegarsi a un altro database utente per l'autenticazione.

Ma dalla tua descrizione, tutto quanto sopra potrebbe essere eccessivo. I vantaggi offerti da Apache sono in gran parte inutili per un singolo utente e non valgono la seccatura.

La situazione in cui penso tu stia arrivando è se vuoi usare il protocollo WebDAV per accedere al tuo repository SVN. In questo caso, stai sostanzialmente permettendo ad Apache di gestire l'accesso ai file come intermediario dello stesso SVN (nessuna connessione diretta al repository).

Ho sentito che funziona abbastanza bene, ma ci sono diverse alternative. Dai un'occhiata al libro SVN (controlla Google) per un punto di partenza.

Usiamo Subversion in un ambiente di piccoli team (6 persone), usando il repository Visual SVN. Inizialmente non avevamo un server web Apache, solo IIS, ma ora eseguiamo anche Apache, ma non vi sono motivi validi per utilizzare Apache per il repository.

Usando Apache, puoi accedere al tuo repository tramite WebDAV, che è su HTTP su una porta standard, quindi puoi accedere / pubblicare il tuo repository dietro il firewall aziendale, ad esempio, il che potrebbe non consentire il svnserve port.

SVN può essere un sistema client-server, se si desidera condividere il proprio codice con altre persone. Tuttavia, se vuoi lavorare sul tuo codice da solo (anche da più di un computer!) Non hai bisogno di nessun server!

È possibile utilizzare il file: // - protocollo incorporato in quasi tutti i client SVN e in un repository SVN locale.

Il repository SVN può funzionare anche da una condivisione di rete. Tuttavia, dovresti usare questo approccio solo se ci lavori da solo!

Non devi usare Apache. C'è un server personalizzato: al suo posto è possibile utilizzare svnserve.exe. Funziona sulla porta 3690 per impostazione predefinita, ma può essere impostato su una porta diversa utilizzando l'opzione --port durante l'impostazione.

Greg Hewgill ti ha fornito un link che ti dirà quale versione del server Subversion usare e i diversi casi d'uso. Fondamentalmente si riduce a svnserve se non è necessario integrarsi con alcun tipo di autenticazione. Usa Apache se hai bisogno di scenari più complessi.

Ho una console commerciale di Windows che gestisce svnserve. Il mio profilo ha un link per vedere quella utility. Se decidi di utilizzare Apache, ti consiglio di utilizzare VisualSVN Server .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top