Tämän artikkelin kohderyhmänä ovat web-kehittäjät, jotka haluavat Apache-verkkopalvelimen asentamisen osaksi Macin kehitysympäristönsä asennusta.

Jos olet PHP-kehittäjä, tämä artikkeli on edellytys seuraavalle artikkelille, jossa käydään läpi PHP:n asentaminen Homebrew:n ja PECL:n avulla. Linkki kyseiseen artikkeliin löytyy tämän sivun alareunasta.

Kehittäjänä luotin ennen Apachen versioon, joka oli valmiiksi asennettuna käyttöjärjestelmän mukana MacBook Prossani. MacOS:n jatkuvasti muuttuvien tietoturvasääntöjen myötä olen päättänyt muuttaa koko lähestymistapaani ja sen sijaan poistaa Apachen jaetun version käytöstä ja käyttää kokonaan Homebrew:sta saatavaa asennusta. Tämä uusi lähestymistapa mahdollistaa enemmän joustavuutta versioinnissa ja toimii jatkossakin kaikissa macOS-versioissa.

Nämä ohjeet toimivat samalla tavalla macOS 10.13 High Sierrassa ja 10.14 Mojavessa. En ole testannut aiemmilla macOS-versioilla, mutta sen pitäisi toimia samalla tavalla. Sinun ei myöskään tarvitse aloittaa tuoreella käyttöjärjestelmäasennuksella käyttääksesi tätä artikkelia, mutta olen nähnyt joitain outoja asioita tapahtuvan päivitettäessä Mojaveen verrattuna tuoreeseen asennukseen (esim. mod_deflate.so-moduulin laajennustiedosto puuttuu kokonaan päivityksen jälkeen). Suosittelen tuoretta asennusta, mutta jos sen sijaan uhmaat päivitystä, varaudu jahtaamaan joitain tiedostoja ja polkuja.

Aloitetaan!

Hanki uusimmat käyttöjärjestelmäpäivitykset

Jos olet juuri tehnyt tuoreen käyttöjärjestelmäasennuksen, tätä ei todennäköisesti tarvitse tehdä.

Asenna Xcode

Jos et ole kiinnostunut asentamaan koko Xcode-sovellusta, se sopii, Homebrew install-komento asentaa tarvitsemansa perus Xcode-komentorivityökalut. Suosittelen kuitenkin täyttä asennusta varsinkin jos käytät Mojavea. Voit tehdä tämän suorittamalla terminaalista seuraavan komennon:

xcode-select --install

Install Homebrew

Seuraava komento asentaa Homebrew:n.

(Huomaa, että seuraava komento on yksittäinen rivi, joka on kääritty Mediumin sivunleveysrajoitusten vuoksi. Varmista, että kopioit koko rivin).

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Luo Apachen lokitiedostohakemistot

Apache tulee valmiiksi konfiguroituna omilla lokihakemistoillaan, mutta me luomme oman ”/usr/local/log/”-kansiomme, jotta ne löytyvät helposti tarvittaessa. Jos siirryt seuraavaan artikkeliin asentaaksesi PHP:n, käytämme tätä samaa lokitiedostojen sijaintia myös PHP-lokeille ja saamme kaikki lokit yhteen paikkaan.

Seuraa näitä ohjeita luodaksesi asianmukaiset hakemistot ja asettaaksesi niiden käyttöoikeudet. Älä ota huomioon mahdollisesti saamiasi ”on jo olemassa”-viestejä.

$ sudo mkdir /usr/local/log$ sudo mkdir /usr/local/log/httpd$ sudo chgrp -R staff /usr/local/log/httpd$ sudo chmod -R ug+w /usr/local/log/httpd/

Asenna ja konfiguroi Apache

macOS 10.13 High Sierra ja 10.14 Mojave tulevat Apachen kanssa esiasennettuna. Toimitetun version käyttämisen sijaan asennamme kuitenkin Apachen Homebrew:n kautta ja konfiguroimme sen sitten toimimaan portissa 80.

Jos sinulla on jo esiasennettu Apache käynnissä, se on ensin sammutettava ja mahdolliset automaattiset latausskriptit poistettava. Ei ole pahitteeksi ajaa molemmat seuraavista komennoista, jopa tuoreessa asennuksessa.

(Huomaa, että toinen komento on yksittäinen rivi, joka on kääritty Mediumin sivun leveysrajoitusten vuoksi. Varmista, että kopioit koko rivin).

$ sudo apachectl stop
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

Asenna nyt Homebrew:n tarjoama uusi Apache-versio.

$ brew install httpd

Kun tämä on valmis, suorita seuraava komento käynnistääksesi Apache-palvelun ja varmistaaksesi, että se käynnistyy automaattisesti uudelleen sisäänkirjautumisen yhteydessä.

$ brew services start httpd

Olet nyt asentanut Homebrew:n version Apache:stä ja konfiguroinut sen käynnistymään automaattisesti uudelleenkäynnistyksessä. Sen pitäisi olla jo käynnissä, joten sinun pitäisi pystyä osoittamaan selaimellasi osoitteeseen http://localhost:8080 ja nähdä yksinkertainen otsikko, jossa lukee: ”Se toimii!”.

Huomaa, että olemme tällä hetkellä osoittaneet porttiin 8080. Muutamme sen seuraavissa vaiheissa. Nyt kun meillä on toimiva web-palvelin, haluamme tehdä joitain konfiguraatiomuutoksia, jotta se toimii enemmän meidän mieleiseksemme … tai oikeastaan vain minun mieleeni ;-).

Avataan Apachen konfigurointitiedosto:

$ open -e /usr/local/etc/httpd/httpd.conf

Muutetaan kuunteluportti

Rullaa alaspäin ja etsi rivi, jossa lukee ”Kuuntele 8080” ja vaihda se muotoon;

Listen 80

Hyödyllisten Apache-moduulien ottaminen käyttöön

Seuraavaksi voit ottaa käyttöön seuraavat kaksi kätevää Apache-modulia. Voit etsiä seuraavat kaksi riviä ja poistaa niiden kommentit poistamalla johtavan hashtagin ”#”.

Vihje: deflate-rivi on LoadModule-osion keskellä ja rewrite-rivi aivan LoadModule-osion alareunassa.

LoadModule deflate_module lib/httpd/modules/mod_deflate.so
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

Apachen käyttäjä- ja ryhmäasetusten muuttaminen

Oletusarvoisesti Apache toimii käyttäjänä _www ja ryhmänä _www. Kohta asetamme oletusarvoiseksi dokumenttihakemistoksi ”Sivustot”-hakemiston kotihakemistossamme, ja nämä käyttäjä- ja ryhmäasetukset aiheuttavat sinulle käyttöoikeusongelmia, kun yrität käyttää kotihakemistossasi olevia tiedostoja.

Rullaa noin kolmannes httpd.conf-tiedoston alareunasta alaspäin, ja löydät kaksi riviä, jotka asettavat Käyttäjän (User) ja Ryhmän (Group), joiden alaisuudessa Apache toimii. Muuta nämä vastaamaan käyttäjätiliäsi. Korvaa your_username MacBookin käyttäjänimelläsi ja käytä ryhmänimeksi staff.

User your_username
Group staff

Set Apache Server Admin and Server Name

Etsi ”ServerAdmin”-rivi ja ota se käyttöön poistamalla johtava hashtag ”#” (jos tarpeen) ja vaihda sitten sähköpostiosoite omaasi:

ServerAdmin [email protected]

Kytke Apache-palvelimen nimi käyttöön konfiguraatiossa poistamalla johtava hashtag ”#” ja vaihtamalla se muotoon localhost:

ServerName localhost

Muuta dokumentin juurta, hakemistoa ja päällekkäisyyksiä

Seuraavaksi vaihdamme Apachen dokumentin juuren. Tämä on kansio, josta Apache hakee tiedostoja. Oletusarvoisesti dokumentin juureksi on määritetty /usr/local/var/www. Koska luomme kehitysympäristöä ja haluamme välttää mahdollisimman paljon kansioiden käyttöoikeusongelmia, muutamme dokumentin juuren kansioksi kansioksi Home-hakemistossamme (jonka luomme pian).

Jatka vierittämistä alaspäin ja etsi DocumentRoot-rivi. Muuta se muotoon:

DocumentRoot "/Users/your_username/Sites"

Seuraavaksi sinun on muutettava myös tag-viittaus heti DocumentRoot-rivin alapuolella. Tämäkin on muutettava osoittamaan uutta dokumentin juurta:

<Directory "/Users/your_username/Sites">;

Samasta lohkosta löydät AllowOverride-asetuksen. Tämä tulisi muuttaa None:sta sallimaan ”All” overrides:

AllowOverride All

Set Apache Error Log Location

Viimeiseksi asetamme Apachen virhelokin sijainnin aiemmin luotuun kansioon. Vieritä hieman alaspäin ja etsi rivi ”ErrorLog” ja muuta se seuraavanlaiseksi:

ErrorLog "/usr/local/log/httpd/error_log"

Tallenna ja poistu tekstieditorista.

Luo Sivustot-kansio

Luo seuraavilla kahdella rivillä ”Sivustot”-kansio ja lisää indeksi.html-tiedoston, jotta pääsemme alkuun:

(Huomaa, että toinen komento on yksi rivi, joka on kääritty Mediumin sivun leveysrajoitusten vuoksi. Varmista, että kopioit koko rivin).

$ mkdir ~/Sites
$ echo "<h1>It Works in my Sites Folder</h1>;" > ~/Sites/index.html

Käynnistä Apache uudelleen

Käynnistämme nyt Apachen uudelleen varmistaaksemme, että konfiguraatioasetuksemme ovat oikein:

$ sudo apachectl -k restart

Kokeile selata localhostisi uuteen sijaintiin: http://localhost

Jos tämä toimii ja näet viestin ”It Works in my Sites Folder”, niin onnittelut! Sinulla on uusi verkkopalvelininstanssi, joka toimii portissa 80.

Mikäli saat virheilmoituksen, todennäköinen syy voi olla httpd.conf-tiedoston hakemistomerkintöjen ympärillä käytetyt kaksoismerkit. Joskus tekstieditorit muuttavat nämä latinalaismerkkityyppisiksi lainausmerkeiksi. Nämä lainausmerkit ovat valinnaisia ja ne voidaan poistaa. Kokeile poistaa kaksinkertaiset lainausmerkit ja käynnistä Apache uudelleen.

admin

Vastaa

Sähköpostiosoitettasi ei julkaista.

lg