Een paar weken geleden heb ik je laten zien hoe je je eigen Linux-server kon instellen. Nu ga ik je laten zien hoe je nog meer kunt toevoegen
functionaliteit.
In deze handleiding wordt ervan uitgegaan dat u mijn vorige zelfstudie, Hoe u een Dedicated Web Server gratis hebt geïnstalleerd, of
dat er al een soortgelijke server is ingesteld.
In deze zelfstudie gaan we:
Deze stappen kunnen worden uitgevoerd terwijl u achter de computer zit en in de console typt, of voor degenen die
graag een headless server draaien, mag je SSH gebruiken. Ik heb het in mijn vorige handleiding behandeld, dus als u niet bekend bent met
de technologie, ga daarheen om ermee aan de slag te gaan. Nu, zonder verder oponthoud, laten we aan de slag gaan!
Hoewel er veel versiecontrolesystemen zijn, is Subversion een van de meest populaire. Met Subversion kun je meerdere versies van je code bewaren, zodat je altijd terug kunt keren als je een vorige versie nodig hebt.
Laten we het downloaden!
Eerst moet je inloggen op je server; Ik doe het via SSH, dus mijn screenshots laten mijn terminal zien:
Typ dit nu in en druk op enter:
sudo aptitude install subversion
Het zal u om uw wachtwoord vragen; typ het in en druk op enter. Ook kan het u vragen of u wilt doorgaan, druk op "y" en druk op Enter.
Uw server zal nu de subversion-server downloaden en installeren:
Zodra dat is gebeurd, moeten we het instellen.
Dit volgende deel kan nogal verwarrend zijn. Wat we gaan doen is een nieuwe groep maken, genaamd "subversion", die de Subversion-server toestaat
veilig schrijven naar uw repositories in uw webserver, maar niets anders. Hiertoe voert u de volgende opdrachten in, waarbij u USERNAME vervangt door uw huidige gebruikersnaam.
sudo addgroup subversion sudo usermod -a -G subversion USERNAME sudo usermod -a -G subversion www-data
In volgorde, die commando's: voeg een nieuwe groep toe genaamd "subversion", voeg uw gebruikersaccount toe aan de nieuwe groep en voeg de gebruiker van de webserver toe aan de groep.
Nu moeten we een plaats maken voor uw repositories. Dit kan technisch overal worden geplaatst, maar ik bewaar het altijd in / var:
sudo mkdir / var / svn
Maak ten slotte de projectmap en de repository aan:
sudo mkdir / var / svn / project sudo svnadmin create / var / svn / project
En geef de webserver (en iedereen in de subversiegroep) toegang tot:
sudo chown -R www-data: subversion / var / svn / project sudo chmod -R 770 / var / svn / project
Tot nu toe hebben we de subversiegroep gemaakt, een plaats gemaakt voor onze repository's, een nieuwe repository gemaakt met de naam 'project' en de webserver toegang tot dit project gegeven.
Het laatste wat we moeten doen is Apache toestaan de repositories te bedienen. Om dit te doen, moeten we een nieuwe Apache-bibliotheek installeren, genaamd libapache2-svn. Inmiddels zou je moeten weten hoe
doe dit:
sudo aptitude install libapache2-svn
Nadat dat is gebeurd, opent u het Apache SVN-configuratiebestand:
sudo nano /etc/apache2/mods-available/dav_svn.conf
Scrol helemaal naar beneden en voeg het volgende toe:
DAV svn SVNParentPath / var / svn SVNListParentPath op AuthType Basic AuthName "Subversion" AuthUserFile / etc / subversion / passwd Vereist geldige gebruiker
Sla het bestand op (Control-O en voer vervolgens in) en sluit het (Control-X). (opmerking voor Mac- en Linux-gebruikers: ongeacht uw OS-instellingen is dit nog steeds controle, geen opdracht of super.)
Kortom, wat er gebeurde was dat je Apache vertelde dat wanneer de URL eindigt met "/ svn", serveren
een lijst van uw subversion repository's die zich bevinden in "/ var / svn". Je hebt toen gezegd dat je alleen
wil dat mensen die zijn opgenomen in "/ etc / subversion / passwd" deze opslagplaatsen kunnen zien.
Om deze wijzigingen in werking te zetten, laadt u de configuratie van Apache opnieuw:
sudo /etc/init.d/apache2 force-reload
Nadat je dat hebt gedaan, open je je favoriete webbrowser en blader je naar http: //yourserveraddress/ Svn. Het zal je vragen om in te loggen, maar wat je ook doet, je zult het krijgen
een interne serverfout:
Maak je geen zorgen! Dit komt omdat we nog geen gebruikers hebben gedefinieerd in / etc / subversion / passwd. Laten we dat nu doen:
sudo htpasswd -c / etc / subversion / passwd USERNAME
Hiermee wordt een nieuw item voor USERNAME gemaakt met het wachtwoord dat u opgeeft. Gebruik alsjeblieft NIET je normale accountwachtwoord, want dit wachtwoord wordt onveilig verzonden, en in het oneven geval iemand
onderschept het, u wilt niet dat ze root-toegang hebben tot uw machine. Nadat je dit hebt gedaan, ga je terug naar die pagina (http: //yourserveraddress/ svn) en vernieuw het. Het zou nu moeten vragen om je gebruikersnaam
en wachtwoord opnieuw:
Leg ze in, en voila! Je kunt nu al je repositories zien (in dit geval, gewoon project) en je bent klaar om het te gebruiken voor versiebeheer!
Als u meer gebruikers wilt toevoegen, voert u deze opdracht uit en vervangt u USERNAME door de gebruikersnaam van de nieuwe gebruiker.
sudo htpasswd / etc / subversion / passwd USERNAME
Nu je deze chique server hebt die al deze verschillende dingen doet, zou het niet leuk zijn om het gemakkelijk te kunnen beheren? Zeg hallo tegen Webmin, een geweldige web-gebaseerde front-end voor
systeemconfiguratie, monitoring, etc. Het doet een aantal aardige dingen, zoals het sturen van een sms naar je telefoon als je server uitvalt. Het beste deel: het is helemaal gratis. Dus laten we het installeren!
Ten eerste moeten we het nieuwste debianpakket van Webmin van hun site downloaden. Op het moment dat dit artikel werd geschreven, is de huidige versie 1.450. Dus voer deze opdracht uit om het bestand te downloaden:
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.450_all.deb
Voordat we het kunnen installeren, moeten we echter aan een aantal afhankelijkheden voldoen (we moeten programma's installeren die door Webmin worden gebruikt):
sudo aptitude installeren perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
Nadat dit is voltooid, installeert u Webmin met behulp van het bestand dat we zojuist hebben gedownload:
sudo dpkg -i webmin_1.450_all.deb
Laat dat nu af, en als het klaar is, is Webmin geïnstalleerd! Open uw favoriete webbrowser en blader naar https: //yourserveraddress: 10000 / (merk op dat het http iss). Je zou de volgende pagina moeten zien: (Als het niet werkt, blijf lezen)
Log in met uw normale gegevens; dezelfde details die u gebruikt om u aan te melden bij de server.
Voor degenen onder u die geen verbinding kunnen maken (waarschijnlijk de meesten van u), leest u het volgende gedeelte. Voor degenen die dat kunnen, sla het volgende gedeelte over.
Voor degenen die geen verbinding kunnen maken, goed. Het betekent dat je firewall zijn werk doet. In dit geval willen we echter toegang tot poort 10000, dus we moeten een nieuwe firewallregel toevoegen. Deze aanwijzingen zijn expliciet voor degenen die mijn vorige gids hebben gevolgd. Open uw Shorewall-regelsbestand:
sudo nano / etc / shorewall / rules
Voeg deze regel toe recht boven waar het staat #LAST LINE:
ACCEPTER netto $ FW tcp 10000
Sla het bestand op (Control-O en voer vervolgens in) en sluit het (Control-X).
Ter vergelijking, hier zijn de firewallregels van AlexVillmann.com: (Ik heb meer regels dan degene die we toevoegen, maar je krijgt de foto)
Start nu Shorewall opnieuw:
sudo /etc/init.d/shorewall herstart
Ga als laatste terug naar uw webbrowser en blader terug naar Webmin (https: //yourserveraddress: 10000 /) en het zou deze keer moeten werken.
Gefeliciteerd! Je hebt Webmin helemaal klaar! Er zijn een miljoen dingen die je ermee kunt doen, maar ze vallen allemaal buiten het bestek van dit artikel. Persoonlijk zou ik er gewoon mee spelen totdat het de dingen doet die jij het ook wilt. Het is nogal vanzelfsprekend en voor al het andere is er de Webmin-documentatie. Veel plezier!
Door deze handleiding te volgen, hebt u versiebeheer en een gebruiksvriendelijke webbeheertoepassing geïnstalleerd. Ik wou dat ik in detail zou kunnen gaan over Webmin, maar dat is een artikel helemaal vanzelf. Hoe dan ook, ik hoop dat dit je helpt om verder te komen in je Linux-serveravontuur!
Voor diegenen die meer informatie willen over de onderwerpen die ik heb behandeld, zijn hier enkele geweldige links: