- Egy kétrészes sorozat első része az Apache/PHP fejlesztői környezet beállításához macOS-en
- A legújabb operációs rendszer frissítések beszerzése
- Install Xcode
- Install Homebrew
- Apache naplófájl könyvtárak létrehozása
- Az Apache telepítése és konfigurálása
- Change the Listening Port
- Enable Useful Apache Modules
- Az Apache felhasználói és csoportbeállításainak módosítása
- Apache Server Admin és Server Name beállítása
- Dokumentumgyökér, könyvtár és felülírások módosítása
- Apache hibanapló helyének beállítása
- Sites mappa létrehozása
- Apache újraindítása
Egy kétrészes sorozat első része az Apache/PHP fejlesztői környezet beállításához macOS-en
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.