Apache Webserver
Forutsetninger
Introduksjon
Apache er det mest brukte programmet for web server. Med apache installert kan du i teorien dele nettsiden din med hele verden fra din egen PC. Vanligvis pleier man heller å leie en serverplass slik at man slipper å ha en datamaskin i huset stående på hele døgnet. I tillegg er det noen sikkerhetsrisikoer man må ta høyde for dersom man åpner pc’en sin for hele internett. Vi skal ikke åpne datamaskinen for tilgang, men kun sette opp en webserver som kan brukes mens man lager sin nettside, før man laster opp filene på en betalt server.
Apache kan brukes sammen med mange programmeringsspråk, som PHP, Ruby, Python, Node med flere.
Instruksjoner
Installasjon
Vi skal gjøre alt fra kommandolinja, så åpne din favoritterminal! Du skal ikke skrive dollartegnene i kommandoene under – det er bare for å vise at vi er i kommandolinja. Skriv kommandoene inn i kommandolinja og trykk enter.
Vi begynner med å gjøre en kjapp oppdatering:
$ sudo apt update
Så kan vi installere apache2-pakka:
$ sudo apt install apache2
Når den er installert starter den opp automatisk. Du kan sjekke at serveren kjører ved å bruke kommandoen
$ sudo service apache2 status
Hvis apache ikke kjører kan du starte den ved å kjøre
$ sudo service apache2 start
Og hvis du trenger å stanse apache:
$ sudo service apache2 stop
Dersom apache er oppe og går, skal du kunne gå til nettleseren din og skrive localhost for å startssida til Apache, som ligger lokalt på din maskin.
Sett opp en nettside
I Apache ligger alle nettsider i mappen /var/www. Som standard ligger det en html-mappe inni der, som du kan velge å bruke til din nettside uten å måtte sette opp noe ekstra. Isåfall er det bare å fjerne fila som ligger der fra før, og legge inn din index.html, og alle andre filer du trenger. Når du åpner localhost i nettleseren igjen vil da den index-fila bli lest.
$ cd /var/www/html/
$ rm index.html
$ echo "<h1>Hello world</h1>" >> index.html
Sett opp flere nettsider (Virtual hosts)
Dersom du har behov for å ha flere nettsider samtidig kan du benytte noe som heter virtual hosts. Det gjør at hver nettside kan ligge under /var/www, og at de får hvert sitt domene på din lokale maskin, f.eks minside.test.
Apache har en mappe for virtual hosts. Den inneholder tekstfiler som beskriver hver nettside. Gå til mappa /etc/sites-available:
$ cd /etc/sites-available
Så lager vi en liten backup av en fil som er her:
$ sudo mv 000-default.conf 000-default.conf.bak
Så lager vi vår egen default-fil:
$ sudo touch 000-default.conf
Bruk en tekstbehandler til å kopiere inn denne teksten:
<VirtualHost *:80>
ServerName nettsidenmin.test
ServerAdmin webmaster@localhost
DocumentRoot /var/www/nettsidenmin/
<Directory /var/www/>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Det ser voldsomt ut, ikke sant? Men du trenger ikke forholde deg til mesteparten av innholdet.
La oss si se på hvordan vi kan bruke alt dette til å opprette en eller flere nettsider. I mitt eksempel kaller jeg nettsida originalt nok for minnettside. Bare bytt ut dette navnet med navnet på din egen nettside.
Steg 0: Opprett en ny nettside
Først oppretter vi mappa for nettsida
$ mkdir /var/www/minnettside
Vi lager en enkel html-fil også:
$ echo "<h1>Velkommen til min nettside!</h1>" >> /var/www/minnettside/index.html
Steg 1: Kopier default-fila til minnettside.conf:
$ sudo cp 000-default.conf minnettside.conf
Så åpner du minnettside.conf i en tekstbehandler, og endrer ServerName (linje 2) til minnettside.test og setter DocumentRoot (linje 4) til der mappa ligger, altså /var/www/minnettside.conf.
Steg 2: Fortell apache at det finnes en ny nettside
$ sudo a2ensite minnettside.conf
Deretter kan du restarte serveren
$ sudo service apache2 restart
Steg 3: Fortell windows at du har en lokal nettside
Naviger til C:/Windows/System32/drivers/ og høyreklikk fila «hosts». Dette er en tekstfil som du kan åpne med notisblokk eller en annen tekstbehandler. Gå helt til bunn av linja og legg til følgende linjer:
127.0.0.1 minnettside.test
::1 minnettside.test
Steg 4: Pust ut, og sjekk om det fungerte
Gå nå til minnettside.test i nettleseren. Hvis det fungerer – tipp topp! Hvis ikke det fungerte, velkommen i klubben! Det er dessverre sånn at ikke alt går på skinner i tech-verden, og det kan dukke opp problemer som er spesifikke for din maskin. Se først over at alle filene har rett innhold og riktig navn. Får du opp feilmeldinger, så google febrilsk. Lag en bruker på stackoverflow og still spørsmål. I believe in you!