Migliorare il tuo server Ubuntu

Qualche settimana fa, ti ho mostrato come configurare il tuo server linux personale. Ora, ti mostrerò come aggiungere ancora di più
funzionalità.

Prima di iniziare ...

Questa guida presuppone che tu abbia seguito il mio precedente tutorial, Come configurare un server Web dedicato gratuitamente, o
che hai già un server simile già configurato.



Cosa stiamo andando a realizzare

In questo tutorial, stiamo andando a:

  1. Installare un server Subversion, in modo da poter utilizzare il controllo della versione per i propri progetti.
  2. Aggiungi un'applicazione di gestione del sistema, più conosciuta come Webmin, in modo da poter tenere traccia dello stato del tuo server
    e ricevi aggiornamenti in tempo reale.

Una nota rapida

Questi passaggi possono essere realizzati seduti al computer e digitando nella console o per chi
come eseguire un server headless, è possibile utilizzare SSH. L'ho coperto nella mia guida precedente, quindi se non hai familiarità con
la tecnologia, dirigiti laggiù per iniziare a usarlo. Ora, senza ulteriori indugi, iniziamo!

Scarica Subversion

Mentre ci sono molti sistemi di controllo della versione, Subversion è uno dei più popolari. Subversion ti permette di mantenere più versioni del tuo codice, permettendoti di tornare sempre indietro se hai bisogno di una versione precedente.
Scaricalo!

Per prima cosa, devi accedere al tuo server; Lo sto facendo su SSH, quindi i miei screenshot mostreranno il mio terminale:

Ora, digita questo e premi invio:

 sudo aptitude install subversion

Ti chiederà la tua password; digitarlo e premere invio. Inoltre, potrebbe chiederti se vuoi continuare, premere "y" e premere invio.
Il tuo server ora scaricherà e installerà il server subversion:

Una volta fatto, dobbiamo configurarlo.

Impostazione di Subversion

Questa prossima parte può essere un po 'confusa. Quello che faremo è creare un nuovo gruppo, chiamato "sovversione" che consentirà al server Subversion di
scrivere in modo sicuro nei repository nel server Web, ma nient'altro. Per fare ciò, inserisci i seguenti comandi, sostituendo USERNAME con il tuo vero nome utente.

 sudo addgroup subversion sudo usermod -a -G subversion USERNAME sudo usermod -a -G subversion www-data

In ordine, questi comandi: aggiungi un nuovo gruppo chiamato "subversion", aggiungi il tuo account utente al nuovo gruppo e aggiungi l'utente del server web al gruppo.

Ora, dobbiamo creare un posto per i tuoi repository. Questo può tecnicamente essere messo ovunque, ma lo memorizzo sempre in / var:

 sudo mkdir / var / svn

Infine, crea la cartella del progetto e il repository:

 sudo mkdir / var / svn / project sudo svnadmin crea / var / svn / project 

E dare accesso al server web (ea chiunque nel gruppo di sottoversioni):

 sudo chown -R www-data: subversion / var / svn / progetto sudo chmod -R 770 / var / svn / project

Finora, abbiamo creato il gruppo di subversion, creato un posto per i nostri repository, creato un nuovo repository chiamato "project" e dato l'accesso al web server a questo progetto.
L'ultima cosa che dobbiamo fare è consentire ad Apache di servire i repository. Per fare questo, abbiamo bisogno di installare una nuova libreria Apache, chiamata libapache2-svn. A questo punto dovresti sapere come
Fai questo:

 sudo aptitude install libapache2-svn

Al termine, apri il file di configurazione SVN di Apache:

sudo nano /etc/apache2/mods-available/dav_svn.conf

Scorri fino in fondo e aggiungi quanto segue:

  DAV svn SVNParentPath / var / svn SVNListParentPath Su AuthType Basic AuthName "Subversion" AuthUserFile / etc / subversion / passwd Richiedi utente valido 

Salva il file (Control-O e poi entra) e chiudilo (Control-X). (nota per utenti Mac e Linux: indipendentemente dalle impostazioni del sistema operativo, è ancora controllo, non comando o super.)

In sostanza, quello che è successo è che hai detto ad Apache che quando l'URL termina con "/ svn", servi
un elenco dei repository di subversion che si trovano in "/ var / svn". Allora hai detto che solo tu
vuoi che le persone elencate in "/ etc / subversion / passwd" siano in grado di vedere questi repository.

Ora, per applicare queste modifiche, ricarica la configurazione di Apache:

sudo /etc/init.d/apache2 force-reload

Dopo averlo fatto, apri il tuo browser web preferito e vai a http: //yourserveraddress/ Svn. Ti chiederà di accedere, ma non importa cosa tu metti, otterrai
un errore interno del server:

Non preoccuparti! Questo perché non abbiamo ancora definito alcun utente in / etc / subversion / passwd. Facciamolo ora:

sudo htpasswd -c / etc / subversion / passwd USERNAME

Ciò creerà una nuova voce per USERNAME con la password che specifichi. PER FAVORE, NON usare la normale password dell'account poiché questa password viene inviata in modo non sicuro e nell'evento dispari qualcuno
lo intercetta, non vuoi che abbiano accesso root al tuo computer. Dopo averlo fatto, torna a quella pagina (http: //yourserveraddress/ svn) e aggiornarlo. Dovrebbe ora chiedere il tuo nome utente
e password di nuovo:

Mettili dentro e voilà! Ora puoi vedere tutti i tuoi repository (in questo caso, semplicemente progetto) e sei pronto per usarlo per il controllo della versione!

Per aggiungere altri utenti, esegui questo comando, sostituendo USERNAME con il nome utente del nuovo utente.

sudo htpasswd / etc / subversion / passwd USERNAME

Configurazione di Webmin per la gestione dei server

Ora che hai questo server elegante che fa tutte queste cose diverse, non sarebbe bello essere in grado di gestirlo facilmente? Saluta Webmin, un fantastico front-end basato sul web
configurazione del sistema, monitoraggio, ecc. Fa alcune cose piuttosto dolci, come inviare un messaggio di testo al telefono se il server va giù. La parte migliore: è completamente gratuita. Quindi, installiamolo!

Prima di tutto, dobbiamo scaricare l'ultimo pacchetto debian di Webmin dal loro sito. Al momento in cui questo articolo è stato scritto, la versione corrente è 1.450. Quindi, esegui questo comando per scaricare il file:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.450_all.deb

Tuttavia, prima di poterlo installare, è necessario soddisfare alcune dipendenze (è necessario installare programmi che Webmin utilizza):

sudo aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

Al termine, installa Webmin utilizzando il file appena scaricato:

sudo dpkg -i webmin_1.450_all.deb

Ora, lascia che finisca, e una volta fatto, è stato installato Webmin! Apri il tuo browser web preferito e vai a https: //yourserveraddress: 10000 / (notare che è httpS). Dovresti vedere la seguente pagina: (Se non funziona, continua a leggere)

Accedi usando i tuoi normali dettagli; gli stessi dettagli che usi per accedere al server.

Per quelli di voi che non riescono a connettersi, (probabilmente la maggior parte di voi), leggete la prossima sezione. Per quelli che possono, salta la prossima sezione.

Sostenere; Non riesco a connettermi!

Per quelli che non possono connettersi, bene. Significa che il tuo firewall sta facendo il suo lavoro. Tuttavia, in questo caso, vogliamo accedere alla porta 10000, quindi è necessario aggiungere una nuova regola firewall. Queste indicazioni sono esplicitamente per coloro che hanno seguito la mia precedente guida. Apri il tuo file delle regole di Shorewall:

sudo nano / etc / shorewall / rules

Aggiungi questa linea proprio sopra dove dice #LAST LINE:

ACCEPT net $ FW tcp 10000

Salva il file (Control-O e poi entra) e chiudilo (Control-X).

Per fare un confronto, ecco le regole del firewall di AlexVillmann.com: (ho più regole di quelle che stiamo aggiungendo, ma ottieni l'immagine)

Ora, riavvia Shorewall:

sudo /etc/init.d/shorewall restart

Infine, torna al tuo browser web e torna a Webmin (https: //yourserveraddress: 10000 /) e dovrebbe funzionare questa volta.

Congratulazioni! Hai Webmin tutto pronto! Ci sono un milione di cose che puoi fare con esso, ma tutte sono al di fuori dello scopo di questo articolo. Personalmente, mi limiterò a giocarci finché non farà le cose che vuoi anche tu. È piuttosto auto-esplicativo, e per tutto il resto, c'è la documentazione di Webmin. Divertiti!

Avvolgendo

Seguendo questa guida, hai configurato il controllo della versione e una dolce applicazione di gestione web. Vorrei poter entrare nei dettagli di Webmin, ma questo è un articolo tutto da solo. Comunque, spero che questo ti aiuti ad andare avanti nella tua avventura con il server Linux!

Per coloro che cercano maggiori informazioni sugli argomenti trattati, ecco alcuni link interessanti:

  • Subversion su Ubuntu
  • Webmin Official Wiki
  • Iscriviti al feed RSS di NETTUTS per ulteriori tuts e articoli di sviluppo web giornalieri.