Ez a cikk olyan webfejlesztőknek szól, akik egy Apache webszerver telepítését szeretnék a Mac-en lévő fejlesztési környezetük beállításának részeként.

Ha PHP-fejlesztő vagy, akkor ez a cikk előfeltétele a következő cikknek, amely a PHP telepítését mutatja be a Homebrew és a PECL segítségével. A cikkre mutató link az oldal alján található.

Fejlesztőként régebben az Apache azon verziójára támaszkodtam, amely az operációs rendszerrel együtt előre telepítve volt a MacBook Pro gépemen. A macOS folyamatosan változó biztonsági szabályai miatt úgy döntöttem, hogy megváltoztatom az egész megközelítésemet, és inkább letiltom az Apache elosztott verzióját, és egy teljesen Homebrew-ból származó beállítást használok. Ez az új megközelítés nagyobb rugalmasságot tesz lehetővé a verziókezelésben, és továbbra is működik minden macOS-verzióban.

Ezek az utasítások ugyanúgy működnek a macOS 10.13 High Sierra és a 10.14 Mojave esetében is. A macOS korábbi verzióin nem teszteltem, de hasonlóan kell működnie. Emellett nem kell friss OS-telepítéssel kezdeni a cikk használatához, de láttam néhány furcsa dolgot Mojave-ra való frissítéskor a friss telepítéshez képest (pl. teljesen hiányzik a mod_deflate.so modulbővítő fájl teljesen a frissítés után). Javaslom a friss telepítést, de ha inkább a frissítést választja, készüljön fel arra, hogy néhány fájl és elérési útvonal után kell kutatnia.

Kezdjük el!

A legújabb operációs rendszer frissítések beszerzése

Ha most végzett friss telepítést, erre valószínűleg nem lesz szüksége.

Install Xcode

Ha nem érdekel a teljes Xcode alkalmazás telepítése, az rendben van, a Homebrew install parancs telepíti az alapvető Xcode parancssori eszközöket, amelyekre szüksége van. Én azonban a teljes telepítést ajánlom, különösen, ha Mojave-et futtatsz. Ehhez a következő parancsot futtathatja terminálból:

xcode-select --install

Install Homebrew

A következő parancs telepíti a Homebrew-t.

(Kérjük, vegye figyelembe, hogy a következő parancs egyetlen sor, amely a Medium oldalszélességi korlátok miatt be van csomagolva. Győződjön meg róla, hogy a teljes sort másolja).

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

Apache naplófájl könyvtárak létrehozása

Az Apache előre be van állítva a saját naplókönyvtáraival, de mi létrehozzuk a saját “/usr/local/log/” mappánkat, hogy szükség esetén könnyen megtaláljuk őket. Ha továbblépünk a következő cikkhez a PHP telepítéséhez, akkor ugyanezt a naplófájlok helyét fogjuk használni a PHP-naplók számára is, és az összes napló egy helyen lesz.

A következő lépéseket követve hozzuk létre a megfelelő könyvtárakat és állítsuk be a jogosultságaikat. Ne törődjön az esetlegesen megjelenő “már létezik” üzenetekkel.

$ 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/

Az Apache telepítése és konfigurálása

macOS 10.13 High Sierra és 10.14 Mojave esetén az Apache előre telepítve van. A szállított verzió használata helyett azonban a Homebrew segítségével telepítjük az Apache-ot, majd úgy konfiguráljuk, hogy a 80-as porton fusson.

Ha már fut az előtelepített Apache, akkor azt először le kell állítani, és minden automatikus betöltődő szkriptet el kell távolítani. Nem árt lefuttatni az alábbi két parancsot, még friss telepítés esetén sem.

(Kérjük, vegye figyelembe, hogy a második parancs egyetlen sor, amely a Medium oldalszélességi korlátai miatt be van csomagolva. Győződjön meg róla, hogy a teljes sort másolja).

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

Most telepítse a Homebrew által biztosított Apache új verzióját.

$ brew install httpd

Ha ez megtörtént, futtassa a következő parancsot az Apache szolgáltatás elindításához, és győződjön meg róla, hogy bejelentkezéskor automatikusan újraindul.

$ brew services start httpd

Most telepítette az Apache Homebrew verzióját, és beállította, hogy újraindításkor automatikusan elinduljon. Ennek már futnia kell, így a böngésződdel a http://localhost:8080 címre kell mutatnod, és egy egyszerű fejlécet kell látnod, ami azt mondja: “Működik!”.

Megjegyezzük, hogy jelenleg a 8080-as portra mutatunk. Ezt a következő lépésekben meg fogjuk változtatni. Most, hogy már van egy működő webszerverünk, szeretnénk néhány konfigurációs változtatást végrehajtani, hogy jobban működjön a kedvünkre … vagy igazából csak az én kedvemre ;-).

Nyissuk meg az Apache konfigurációs fájlját:

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

Change the Listening Port

Görgessünk lefelé és keressük meg a “Listen 8080” sort, majd változtassuk meg;

Listen 80

Enable Useful Apache Modules

A következő két hasznos Apache modult engedélyezzük. Keresse meg az alábbi két sort, és a vezető “#” hashtag eltávolításával vegye ki a megjegyzéseket.

Súgó: a deflate sor a LoadModule szakasz közepén, a rewrite sor pedig a LoadModule szakasz legalsó részén található.

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

Az Apache felhasználói és csoportbeállításainak módosítása

Az Apache alapértelmezés szerint _www felhasználóként és _www csoportként fut. Nemsokára beállítjuk az alapértelmezett dokumentumkönyvtárunkat a Home mappánkban lévő “Sites” könyvtárra, és ezek a felhasználói és csoportbeállítások jogosultsági problémákat fognak okozni, amikor megpróbáljuk elérni a home könyvtárban lévő fájlokat.

Görgessünk lefelé a httpd.conf fájlban körülbelül az út egyharmadánál, és találunk két sort, amelyek beállítják azt a felhasználót és csoportot, amely alatt az Apache futni fog. Módosítsa ezeket a felhasználói fiókjának megfelelően. A your_username-t helyettesítse a MacBook felhasználói nevével, a csoport neve pedig legyen staff.

User your_username
Group staff

Apache Server Admin és Server Name beállítása

Keresd meg a “ServerAdmin” sort, és engedélyezd a vezető “#” hashtag eltávolításával (ha szükséges), majd változtasd meg az e-mail címet a sajátodra:

ServerAdmin [email protected]

Engedélyezzük az Apache szerver nevét a konfigurációban a vezető “#” hashtag eltávolításával, és változtassuk meg localhost-ra:

ServerName localhost

Dokumentumgyökér, könyvtár és felülírások módosítása

A következőkben az Apache dokumentumgyökerét fogjuk megváltoztatni. Ez az a mappa, ahonnan az Apache a fájlok kiszolgálását keresi. Alapértelmezés szerint a dokumentum gyökere a /usr/local/var/www. Mivel fejlesztői környezetet hozunk létre, és szeretnénk elkerülni a lehető legtöbb mappaengedélyezési problémát, ezért a dokumentum gyökerét a Home könyvtárunkban lévő mappára változtatjuk (amelyet hamarosan létrehozunk).

Görgessünk tovább lefelé, és keressük meg a DocumentRoot sort. Változtassuk meg a következőre:

DocumentRoot "/Users/your_username/Sites"

A következő lépésben a DocumentRoot sor alatt található tag hivatkozást is meg kell változtatnunk. Ezt is úgy kell megváltoztatni, hogy az új dokumentum gyökerére mutasson:

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

Ugyanebben a blokkban talál egy AllowOverride beállítást. Ezt a None helyett az “All” felülírások engedélyezésére kell módosítani:

AllowOverride All

Apache hibanapló helyének beállítása

Végül az Apache hibanapló helyét a korábban létrehozott mappába állítjuk be. Görgessünk egy kicsit lejjebb, és keressük meg a “ErrorLog” sort, és módosítsuk a következőképpen:

Mentés és kilépés a szövegszerkesztőből.

Sites mappa létrehozása

A következő két sor segítségével hozzunk létre egy “Sites” mappát és adjunk hozzá egy indexet.html fájlt a kezdéshez:

(Kérjük, vegye figyelembe, hogy a második parancs egyetlen sor, amely a Medium oldalszélességi korlátai miatt fel van tekerve. Győződjön meg róla, hogy a teljes sort másolja).

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

Apache újraindítása

Most újraindítjuk, hogy megbizonyosodjunk arról, hogy a konfigurációs beállításaink helyesek:

$ sudo apachectl -k restart

Próbáljuk meg böngészni a localhostot az új helyen: http://localhost

Ha ez működik, és megjelenik a “Működik a Sites mappámban” üzenet, akkor gratulálunk! Van egy új webkiszolgáló példányod, amely a 80-as porton fut.

Ha hibát kapsz, annak valószínű oka a httpd.conf fájlban a könyvtárbejegyzések körül használt dupla idézőjelek lehetnek. Néha a szövegszerkesztők ezeket latin karakteres idézőjelekké alakítják. Ezek az idézőjelek opcionálisak, és eltávolíthatók. Próbálja meg eltávolítani a kettős idézőjeleket, és indítsa újra az Apache-ot.

admin

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.

lg