Lav din egen webserver med DigitalOcean VPS

En VPS er et alternativ til shared host, og her vil jeg forsøge at lave en guide til hvordan du laver din egen webserver med DigitalOcean til dine hjemmesider.
Gennem mange år har jeg brugt shared hosting til mine hjemmesider. Det er da også det rigtige valg til det meste, men efterhånden som jeg har fået flere hjemmesider begynder det at blive mere aktuelt at anvende en VPS i stedet. Herudover har jeg også stor lyst til at styre tingene selv, og det kan man jo i højere grad med en VPS.
Der findes mange forskellige steder man kan få en VPS. Et af dem er Digital Ocean, og her får du oven i købet en prøveperiode på 2 måneder med et forbrug på maks. 100 dollars helt gratis.
I denne artikel vil jeg gennemgå et eksempel på hvordan du opretter din egen webserver på DigitalOcean. Jeg vil oprette en droplet (navnet på en server på DigitalOcean) Ubuntu 16.04 server (den nyeste er 18.04) der ligger i Amsterdam. På denne vil jeg installere Apache webserver, PHP, MySQL og Virtualmin. For at fortsætte i denne artikel skal du altså have en DigitalOcean konto og være klar til at oprette en ny droplet.

Opret ny server

Først opretter du en ny droplet med styresystemet Ubuntu 16.04 og som ligger i Amsterdam. Du får herefter tilsendt en mail med IP-adresse, brugernavn “root” og et engangskodeord du skal bruge første gang du logger på.
For at tilgå din nye server, skal du bruge en terminal. Det er indbygget i både Linux og Mac, men hvis du har Windows kan du installere Putty. I denne artikel bruger jeg Putty. Når du åbner Putty første gang indtaster du IP-adressen og trykker “Open” hvorefter terminalen forsøger at oprette forbindelse. Du vil få en advarsel første gang, som du bare accepterer. Herefter skal du taste “root” som brugernavn og så
engangskodeordet som password. Du indsætter et kodeord du har kopieret til udklipsholder i Putty, blot ved at højreklikke (du vil ikke kunne se det blive indsat når det er et password). Når du har indtastet engangskodeordet første gang, skal du skifte det til dit eget password, som du så bruger fremadrettet.
Nu vil vi gerne oprette en ny bruger til vores server, og det gør du med kommandoen:

adduser andy

Dette opretter en ny bruger der hedder andy. Brugeren bliver en standardbruger, og får sin egen brugermappe på serveren. Efter brugeren er oprettet bliver du bedt om at indtaste passwordet til brugeren og andre oplysninger, såsom navn osv.
Nu vil vi gerne gøre den nye bruger til administrator, og dette gør vi ved at tilføje brugeren til “sudo” (administrator) gruppen:

usermod -aG sudo andy

Du kan herefter også vælge at øge sikkerheden for din server med SSH adgang og firewall, men dette vil jeg komme ind på i en anden artikel.

Installer Apache

Nu skal vi lave serveren til en webserver, dvs. så den kan bruges til hjemmesider. Dette kræver at vi installerer en webserver (Apache), programmeringssproget PHP og databasen MySQL. Vi installerer først Apache med følgende kommandoer.

sudo apt-get update
sudo apt-get install apache2

Nu skal vi have konfigureret det primære domænenavn til din server (alternativt bruger du serverens IP-adresse. Åbn først Apaches konfigurationsfil med følgende kommando:

sudo nano /etc/apache2/apache2.conf

Gå ned i bunden af filen og tilføj følgende linje:

ServerName dansklinux.info

Jeg har her tilføjet domænet dansklinux.info, som jeg blot bruger for testens skyld her. Tryk CTRL+X for at lukke editoren Nano. Tryk y og enter for at bekræfte og herefter enter for at gemme under samme filnavn. Tjek herefter om du har lavet en syntaxfejl med følgende kommando:

sudo apache2ctl configtest

Så genstarter du Apache for at få dine indstillinger til at træde i kraft med kommandoen:

sudo systemctl restart apache2

Herefter skulle du gerne se en Apache standardside, når du besøger domænet eller IP adressen i din browser.

Installer MySQL

Så skal vi installere MySQL, så du også har en database. Det gør vi med kommandoen:

sudo apt-get install mysql-server

så bliver du bedt om at sætte et password til “root” brugeren på MySQL. Dette er adgangen til selve MySQL databasen.
Herefter kører du nedenstående kommando, for at øge sikkerheden omkring din MySQL database. Den stiller dig en række spørgsmål, som du så skal besvare. Blandt andet bliver du bedt om at sætte kravene til passwords, når man skal have adgang til databasen. Herudover fjernes anonym og fjern adgang.

mysql_secure_installation

Nu er MySQL databasen opsat og klar til brug.

Installer PHP

Nu skal du installere PHP, så du kan køre PHP scripts. Brug følgende kommando:

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

Nu skal vi have indstillet Apache, så den prioriterer en fil der ender på .php over en fil der ender på .html. For eksempel vil index.php derfor blive indlæst som standard i stedet for index.html. Det gør du ved at åbne følgende fil i editoren Nano:

sudo nano /etc/apache2/mods-enabled/dir.conf

Dette retter du nu, så index.php står først:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Så gemmer du ved at trykke CTRL+X, y og enter to gange.
Nu genstarter du Apache med kommandoen:

sudo systemctl restart apache2

Du kan i øvrigt til enhver tid tjekke status for din Apache server med nedenstående kommando, dvs. om den kører eller ikke kører.

sudo systemctl status apache2

Installer PHP moduler

Nu er PHP klar til brug på din server, men du mangler at installere evt. PHP komponenter. Find listen over komponenter med følgende kommando. Du kan herefter scrolle ned ad listen og vælge q for at slutte.

apt-cache search php- | less

Du kan til enhver tid få uddybet hvad et modul gør med kommandoen, f.eks. i dette tilfælde med php-pear.

apt-cache show php-pear

For at installere et PHP komponent bruger du bare kommandoen:

sudo apt-get install php-cli

Test om serveren virker

Du har allerede testet om Apache virker, ved at åbne dit domæne/IP-adresse i en browser. Her fik du vist en Apache standard HTML side. Selve filerne vil som standard ligge i denne mappe:

/var/www/html/

Dette kan vi dog ændre, specielt hvis vi skal have flere domæner til at køre på Apache serveren. Men nu vil vi starte med at oprette en ny PHP fil, for at teste om PHP virker. PHP filen skal hedde info.php og ligge i ovenstående mappe. Vi opretter filen ved at åbne den i editoren Nano:

sudo nano /var/www/html/info.php

Så skriver du en PHP kode, f.eks.:

<?php
phpinfo();
?>

Og gemmer ved CTRL+X, y og enter to gange. Test nu ved at åbne http://www.ditdomæne.dk/info.php. Du får en side der viser forskellige egenskaber om din server. Du kan altid slette filen igen med denne kommando:

sudo rm /var/www/html/info.php

Men nu har du altså en Apache webserver med både MySQL og PHP installeret.

Installer phpMyAdmin

Jeg kan anbefale at installere phpMyAdmin på din server. Det er et program der gør det let at administrere dine MySQL databaser. Du installerer phpMyAdmin med kommandoen:

sudo apt-get install phpmyadmin apache2-utils

Nu skal phpMyAdmin også tilføjes til Apaches konfigurationsfil, som du åbner ved:

sudo nano /etc/apache2/apache2.conf

Tilføj følgende på nederste linje:

Include /etc/phpmyadmin/apache.conf

Og genstart så Apache med:

sudo service apache2 restart

Der kan være nogle relevante sikkerhedstiltag du kan gøre, for at gøre phpMyAdmin lidt mere sikker, men dem kommer jeg ind på i en anden artikel.
For at åbne phpMyAdmin taster du bare ditdomæne.dk/phpmyadmin i browseren.

Åbn SFTP til din server

SFTP er allerede som standard installeret på din server. Du kan derfor installere et FTP-program som for eksempel Filezilla, og så indtaste IP-adressen som FTP adresse. Ved at logge ind som root, kommer du som standard ind på root’s brugermappe. Her trykker du så bare .. for at komme et niveau op og så går du ind på /var/www/html for at finde filerne til dit webhotel.

Installer Webmin og Virtualmin

Nu har du en Apache Webserver kørende, men det kan være anvendeligt at installere et panel på din webserver. Et panel er et program lignende cPanel, men cPanel er temmelig dyr, så det kan være anvendeligt at installere Virtualmin i stedet. Virtualmin er en overbygning til Webmin, så vi skal først installere Webmin.
Først skal vi lige have tilføjet downloadmappen for Virtualmin ved at åbne følgende fil.

sudo nano /etc/apt/sources.list

Tilføj nu følgende linje nederst:

deb http://download.webmin.com/download/repository sarge contrib

Tilføj følgende så serveren også betragter det som en troværdig kilde:

wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

Så skal vi opdatere listen med pakker, så Webmin bliver inkluderet:

sudo apt-get update

Og så er vi klar til at installere Webmin med kommandoen:

sudo apt-get install webmin

Nu skulle Webmin gerne være installeret på port 10000 på dit domæne, dvs. ditdomæne.dk:10000.

5 1 vote
Article Rating

Andreas Andersen

Forfatter og grundlægger af IT-blogger.dk, der har blogget om IT-emner siden 2012. Findes på Mastodon på @aphandersen@ansico.dk

You may also like...

Abonner
Giv besked ved
guest

0 Comments
mest stemt på
nyeste ældste
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x