For et par uger siden bragte The Rocket Yard en artikel med en detaljeret beskrivelse af de mange tjenester, der vil blive fjernet fra macOS Server i den nærmeste fremtid. I dag vil jeg diskutere, hvordan man kan bringe en af disse tjenester tilbage – webhosting – ved hjælp af både Apache-webserveren, der er indbygget i macOS, og den komplette MAMP-suite.

Apache-webserver
De fleste Mac-brugere er ikke klar over det, men macOS leveres med sin egen indbyggede webserver. Apache er en open source-webserver, der har været tilgængelig siden 1995, og i 2016 var den motoren bag 46 % af alle websteder og 43 % af den største million websteder med hensyn til trafik.

At have en webserver indbygget i macOS er perfekt for dem, der ønsker at dele oplysninger i en lille arbejdsgruppe eller oprette og teste websteder på en udviklingswebserver, før de udrulles til en internetserver. Denne vejledning viser dig, hvordan du konfigurerer Apache-serveren i macOS High Sierra. Du skal have et vist kendskab til Terminal-appen og til at køre kommandolinjeprogrammer, en forståelse for webservere og et kendskab til editoren vi.

For at begynde redigerer vi Apache-konfigurationsfilen som root:

sudo vi /etc/apache2/httpd.conf

En webserver er relativt ubrugelig uden et scriptsprog på serversiden, hvormed interaktioner kan håndteres; de mest populære sprog er PHP, Perl og Python. I dette eksempel aktiverer vi PHP og Perl. For at gøre det skal du udkommentere linje 176 i konfigurationsfilen. I vi-editoren kan du nemt gøre dette ved at skrive 176G for at gå direkte til linje 176. Skriv dernæst et x over # i begyndelsen af følgende linje for at slette #-kommentarmærket:

#LoadModule php7_module libexec/apache2/libphp7.so

Vi vil gøre det samme for at kunne køre Perl-scripts, som står i linje 177 i konfigurationsfilen. Brug din piletast til at gå ned til begyndelsen af den næste linje, og skriv derefter x’et over # for at slette kommentarmarkeringen. Konfigurationsfilen bør derefter se nogenlunde sådan ud omkring linje 176 (se skærmbilledet nedenfor):

Redigering af Apache-konfigurationsfilen i vi-editoren

For at gemme dine ændringer i editoren skal du skrive :w!

Vi skal stadig aktivere personlige websteder ved at fjerne kommentaren i linje 173, så skriv 173G, og tryk på retur, og skriv derefter et x over # for at slette det. Det samme skal gøres med linje 513 i filen – skriv 513G og tryk på retur, og skriv derefter et x over # for at slette den. Nu gemmer vi disse to sidste ændringer og afslutter editoren ved at skrive ZZ.

Den sidste kommando har netop aktiveret en fil ved navn http-userdir.conf, og vi skal nu redigere den: I Terminal skal du indtaste:

sudo vi /etc/apache2/extra/httpd-userdir.conf

I denne konfigurationsfil skal vi fjerne kommentaren til linje 16. Skriv 16G, og tryk på retur, og skriv derefter et x over # for at slette den. Gem og afslut ved at skrive 16G.

Der var indtil Mac OS X Lion muligt at dele websteder med en lokal arbejdsgruppe og oprette personlige websteder med et enkelt klik; for at udgive websider lagde du blot dine html-filer i en Sites-mappe. Nu skal vi gøre meget mere arbejde. Lad os manuelt oprette en Sites-mappe i Terminal og lave en lille testfil, så vi ved, at vores webserver fungerer.

Indtast følgende kommandoer:

mkdir ~/Sites

echo “<html><body><h1>Welcome to my site</h1></body></html>” > ~/Sites/index.html.en

Næst skal vi sørge for, at vi har en brugerkonfigurationsfil. Du opretter en sådan ved at skrive i

sudo vi /etc/apache2/users/<dit korte brugernavn>.conf

Hvor <dit korte brugernavn> er dit korte Unix-brugernavn. Ved du ikke, hvad dette navn er? Kig øverst i Terminal-vinduet, og du vil se et navn opført – det er det korte brugernavn. I mit tilfælde er det stevensande, så jeg ville indtaste

sudo vi/etc/apache2/users/stevensande.conf (du skal ikke bruge dette til DIN konfigurationsfil!)

I denne konfigurationsfil vil vi indtaste følgende (klipning og indsættelse i vi virker):

<Katalog “/Users/<din korte brugernavn>/Sites/”>
AddLanguage en .en
AddHandler perl-script .pl
PerlHandler ModPerl::Registry
Options Indexes MultiViews FollowSymLinks ExecCGI
AllowOverride None
Require host localhost
</Directory>

Og igen skal du huske at erstatte <dit korte brugernavn> med dit korte brugernavn. Skriv ZZ for at gemme den nye konfigurationsfil og afslutte editoren.

Hvis du er nået så langt … tillykke! Lad os nu kontrollere vores konfiguration af Apache ved at køre følgende kommando i Terminal:

apachectl configtest

Du vil sandsynligvis få en advarsel, der siger “http: Could not reliably determine the server’s full qualified domain name” sammen med hvordan du løser dette problem; da dette kun er til en lokal webserver, skal du ignorere denne advarsel – det, du ønsker at se, er den sidste linje: Syntaks OK.

Hvis alt er i orden indtil dette punkt, er du klar til at starte Apache op. Hvis nogen af syntaksen i konfigurationsfilen er forkert, vil du modtage advarsler om, hvad der skal rettes.

Til sidst er vi klar til at starte Apache httpd-tjenesten:

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

For at se vores webside med én linje skal du starte Safari eller din yndlingsbrowser og indtaste http://localhost/

Du skulle se:

Det virker!
For at se din brugerhjemmappe skal du indtaste http://localhost/~<dit korte brugernavn>, idet du igen erstatter <dit korte brugernavn> med dit korte Unix-brugernavn. Der skulle stå:

Velkommen til mit websted
Hvis du beslutter dig for at lukke Apache-tjenesten ned, er der en simpel terminalkommando med én linje til at gøre det:

sudo /usr/sbin/apachectl stop

Makke livet lettere med MAMP
Det var en masse arbejde at få tingene op at køre, ikke sandt? Der er en meget nemmere måde at opsætte en lokal testserver på! I et godt stykke tid har udviklere indset, at pakning af Apache, MySQL (en databaseserver) og PHP/Python/Perl var den bedste måde at få en meget kraftfuld webserver på. Tilføj “Mac” i begyndelsen af dette, og du har MAMP – Mac, Apache, MySQL og PHP/Python/Perl. “AMP”-distributionerne (LAMP til Linux, WAMP til Windows, MAMP til Mac) er rygraden i den vildt populære WordPress-platform, så hvis du ønsker et meget komplet WordPress-udviklingsmiljø på din Mac, er du kommet til det rette sted.

MAMP findes i to varianter; den gratis MAMP-løsning til en personlig webserver og MAMP Pro (59 dollars), som tilføjer yderligere tjenester som e-mail, dynamisk DNS og meget mere. I dette indlæg vil vi installere og konfigurere den gratis MAMP.

1) Download MAMP fra MAMP-webstedet

2) Åbn .pkg-filen, og følg installationsvejledningen for at installere MAMP på din Mac

3) Når installationen er færdig, finder du to mapper i din programmappe – en til MAMP og en anden, der er en 14-dages gratis prøveversion til MAMP Pro. Åbn mappen med navnet MAMP, og start MAMP-appen. Du vil se noget, der ligner dette skærmbillede:

Grænsefladen til opstart af MAMP

4) Klik på knappen “Start Servers” (Start servere).

MAMP starter både Apache- og MySQL-serverne og starter derefter en webside, der bekræfter, at din MAMP-installation er færdig (se skærmbilledet nedenfor):

(MAMP’s velkomstside, der viser, at alle tjenester kører.)

Linket “Mit websted” viser en tom side, men det kan du ændre ved at placere en index.html-fil i mappen htdocs, der findes i MAMP-mappen. Det er nemt at ændre dokumentrodmappen ved at gå til MAMP > Indstillinger > Indstillinger > Webserver.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.