- Ensimmäinen osa kaksiosaisesta sarjasta Apache/PHP-kehitysympäristön asentamiseksi macOS-käyttöjärjestelmään
- Hanki uusimmat käyttöjärjestelmäpäivitykset
- Asenna Xcode
- Install Homebrew
- Luo Apachen lokitiedostohakemistot
- Asenna ja konfiguroi Apache
- Muutetaan kuunteluportti
- Hyödyllisten Apache-moduulien ottaminen käyttöön
- Apachen käyttäjä- ja ryhmäasetusten muuttaminen
- Set Apache Server Admin and Server Name
- Muuta dokumentin juurta, hakemistoa ja päällekkäisyyksiä
- Set Apache Error Log Location
- Luo Sivustot-kansio
- Käynnistä Apache uudelleen
Ensimmäinen osa kaksiosaisesta sarjasta Apache/PHP-kehitysympäristön asentamiseksi macOS-käyttöjärjestelmään
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.