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!