För några veckor sedan publicerade The Rocket Yard en artikel om de många tjänster som kommer att tas bort från macOS Server inom en snar framtid. Idag ska jag diskutera hur du kan få tillbaka en av dessa tjänster – webbhotell – med hjälp av både Apache-webbservern som är inbyggd i macOS och hela MAMP-sviten.
Apache-webbserver
De flesta Mac-användare vet inte om det, men macOS har en egen inbyggd webbserver. Apache är en webbserver med öppen källkod som har funnits tillgänglig sedan 1995, och 2016 var den motorn bakom 46 % av alla webbplatser och 43 % av den översta miljonen webbplatser när det gäller trafik.
Att ha en webbserver inbyggd i macOS är perfekt för dem som vill dela information i en liten arbetsgrupp eller sätta upp och testa webbplatser på en utvecklingswebbserver innan de distribueras till en internetserver. De här instruktionerna visar hur du konfigurerar Apache-servern i macOS High Sierra. Du behöver ha viss kunskap om appen Terminal och hur man kör kommandoradsprogram, en förståelse för webbservrar och en förtrogenhet med editorn vi.
För att börja redigerar vi Apache-konfigurationsfilen som root:
sudo vi /etc/apache2/httpd.conf
En webbserver är relativt värdelös utan ett skriptspråk på serversidan som man kan hantera interaktioner med; de populäraste språken är PHP, Perl och Python. I det här exemplet aktiverar vi PHP och Perl. För att göra det måste du avkommentera rad 176 i konfigurationsfilen. I editorn vi kan du enkelt göra detta genom att skriva 176G för att gå direkt till rad 176. Skriv sedan ett x över # i början av följande rad för att ta bort #-kommentarsymbolen:
#LoadModule php7_module libexec/apache2/libphp7.so
Vi vill göra samma sak för att kunna köra Perl-skript, vilket finns på rad 177 i konfigurationsfilen. Använd piltangenten för att gå ner till början av nästa rad och skriv sedan x över # för att radera kommentarsmarkeringen. Konfigurationsfilen bör då se ut ungefär så här runt rad 176 (se skärmdump nedan):
För att spara dina ändringar i editorn skriver du :w!
Vi måste fortfarande aktivera personliga webbplatser genom att avkommentera rad 173, så skriv 173G och tryck på return, skriv sedan ett x över # för att radera det. Samma sak måste göras med rad 513 i filen – skriv 513G och tryck på return, skriv sedan ett x över # för att radera den. Nu sparar vi dessa två sista ändringar och avslutar editorn genom att skriva ZZ.
Det sista kommandot aktiverade just en fil som heter http-userdir.conf, och vi måste nu redigera den: I Terminal skriver du:
sudo vi /etc/apache2/extra/httpd-userdir.conf
I den här konfigurationsfilen måste vi avkommentera rad 16. Skriv 16G och tryck på return, skriv sedan ett x över # för att radera den. Spara och avsluta genom att skriva 16G.
Förrän Mac OS X Lion var det möjligt att dela webbplatser med en lokal arbetsgrupp och skapa personliga webbplatser med ett klick; för att publicera webbsidor lade du helt enkelt dina html-filer i en Sites-mapp. Nu måste vi göra mycket mer arbete. Vi skapar manuellt en Sites-mapp i Terminal och gör en liten testfil så att vi vet att vår webbserver fungerar.
Inför följande kommandon:
mkdir ~/Sites
echo ”<html><body><h1>Välkommen till min webbplats</h1></body></html>” > ~/Sites/index.html.sv
Nästan måste vi se till att vi har en användarkonfigurationsfil. För att skapa en sådan skriver du in
sudo vi /etc/apache2/users/<ditt korta användarnamn>.conf
Där <ditt korta användarnamn> är ditt Unix korta användarnamn. Vet du inte vad det namnet är? Titta överst i terminalfönstret och du kommer att se ett namn listat – det är det korta användarnamnet. I mitt fall är det stevensande, så jag skulle skriva
sudo vi/etc/apache2/users/stevensande.conf (använd inte detta för DIN konfigurationsfil!)
I den konfigurationsfilen vill vi skriva in följande (klippa och klistra in i vi fungerar):
<Adressbok ”/Users/<Ditt korta användarnamn>/Sites/”>
AddLanguage en .en
AddHandler perl-script .pl
PerlHandler ModPerl::Registry
Options Indexes MultiViews FollowSymLinks ExecCGI
AllowOverride None
Require host localhost
</Directory>
Vänta återigen <Ditt korta användarnamn> med ditt korta användarnamn. Skriv ZZ för att spara den nya konfigurationsfilen och avsluta editorn.
Om du har kommit så här långt… grattis! Låt oss nu kontrollera vår konfiguration av Apache genom att köra följande kommando i Terminal:
apachectl configtest
Du kommer förmodligen att få ett varningsmeddelande som säger ”http: Could not reliably determine the server’s full qualified domain name” tillsammans med hur du ska lösa problemet; eftersom det här bara är för en lokal webbserver kan du strunta i den varningen – vad du vill se är den sista raden: Syntax OK.
Om allt är bra fram till denna punkt är du redo att starta Apache. Om någon av syntaxen i konfigurationsfilen är felaktig får du varningar om vad som måste rättas till.
Äntligen är vi redo att starta Apache httpd-tjänsten:
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
För att se vår webbsida med en rad, starta Safari eller din favoritwebbläsare och skriv http://localhost/
Du bör se:
Det fungerar!
För att se din användares hemkatalog skriver du http://localhost/~<Ditt kortfattade användarnamn>, där du ännu en gång ersätter <Ditt kortfattade användarnamn> med ditt korta Unix-användarnamn. Det bör stå:
Välkommen till min webbplats
Om du bestämmer dig för att stänga av Apache-tjänsten finns det ett enkelt terminalkommando på en rad för att göra det:
sudo /usr/sbin/apachectl stop
Måttet att göra livet enklare med MAMP
Det var en hel del arbete för att få saker och ting att fungera, eller hur? Det finns ett mycket enklare sätt att sätta upp en lokal testserver! Under en längre tid har utvecklare insett att paketering av Apache, MySQL (en databasserver) och PHP/Python/Perl var det bästa sättet att få en mycket kraftfull webbserver. Lägg till ”Mac” i början av detta och du får MAMP – Mac, Apache, MySQL och PHP/Python/Perl. ”AMP”-distributionerna (LAMP för Linux, WAMP för Windows, MAMP för Mac) är ryggraden i den mycket populära WordPress-plattformen, så om du vill ha en mycket komplett WordPress-utvecklingsmiljö på din Mac har du kommit till rätt ställe.
MAMP finns i två varianter; den kostnadsfria MAMP-lösningen för en personlig webbserver och MAMP Pro (59 dollar), som lägger till ytterligare tjänster som e-post, dynamisk DNS med mera. I det här inlägget ska vi installera och konfigurera den kostnadsfria MAMP.
1) Ladda ner MAMP från MAMP:s webbplats
2) Öppna .pkg-filen och följ installationsinstruktionerna för att installera MAMP på din Mac
3) När installationen är klar hittar du två mappar i mappen Program – en för MAMP och en annan som är en 14-dagars kostnadsfri testversion för MAMP Pro. Öppna mappen som heter MAMP och starta MAMP-appen. Du kommer att se något som ser ut som den här skärmdumpen:
4) Klicka på knappen ”Starta servrar”.
MAMP startar både Apache- och MySQL-servrarna och startar sedan en webbsida som bekräftar att din MAMP-installation är klar (se skärmdump nedan):
Länken ”Min webbplats” visar en tom sida, men du kan ändra det genom att placera en index.html-fil i mappen htdocs som finns i MAMP-mappen. Det är lätt att ändra dokumentrotkatalogen genom att gå till MAMP > Preferences > Web Server.