Serwer MAMP na porcie 80 bez wpisywania hasła administratora

Data aktualizacji: 22.04.2024r. Autor: Bartosz Stefanicki.

Serwer MAMP na porcie 80 bez wpisywania hasła administratora

MAMP to skrót od My Apache-MySQL-PHP. Początkowo korzystałem z wbudowanego środowiska w macOS, ale nie był bezawaryjny. Trafiłem na MAMP.

1. Instalacja MAMPa

Środowisko jest dostępne w wersji bezpłatnej i płatnej. MAMP Pro oferuje trochę większe możliwości, natomiast bezpłatna powinna spokojnie wystarczyć na początek.

Wystarczy pobrać MAMPA z jego oficjalnej strony, zainstalować i to wszystko - możemy korzystać z serwera, z PHP, nawet lokalnej bazy danych poprzez phpMyAdmina.

2. Zmiana portów

Przejdę do sedna. Nie trzeba nic konfigurować - serwer i nasze strony dostępne są pod adresem http://localhost:8888, natomiast baza danych pod portem :8889. Ja jednak wolałem żeby serwer i baza danych były dostępne pod domyślnymi portami dla tych usług - odpowiednio: 80 i 3306.

Aby to zmienić należy przejść do ustawień w MAMPie i kliknąć przycisk "Set to default Apache and MySQL ports".

Przy okazji wyłączyłem wbudowanego Apache na Mac OS:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
  • launchctl to program na Mac, który łączy się z launchd, który zarządza demonami. Demony to małe programy, które działają jako procesy w tle (w tym związane z Apache),
  • unload przekazujelaunchctl informację, żeby nie ładować wskazanego pliku konfiguracyjnego,
  • -w - dzięki temu wskazany plik będzie oznaczony jako wyłączony,
  • System/Library/ LaunchDaemons/org.apache.httpd.plist - lokalizacja pliku, który chcemy odłączyć/wyłączyć,

3. Tworzenie AppleScript

Teraz pojawia się problem, który w tej poradzie rozwiążemy. Przy każdym włączeniu serwera trzeba podać hasło administratora. Dlaczego? Ponieważ w systemach uniksowych aby uruchomić port równy 1024 lub niższy należy posiadać uprawnienia administratora. Jak tego uniknąć? Do tej pory włączałem komputer, uruchamiałem MAMPa i wpisywałem hasło i tak w kółko, aż w końcu mi się to znudziło.

Jest kilka rozwiązań krążących po sieci, natomiast większość sprowadza się do zmiany plików w MAMPie. Poniższe rozwiązanie będzie działać nawet wtedy, gdy odinstalujemy MAMPa (na przykład w przypadku jakiejś awarii) i zainstalujemy go ponownie.

Przechodzimy do Menu > Inne > Edytor skryptów. Wpisujemy do niego poniższy kod:

do shell script "/Applications/MAMP/bin/startApache.sh &" password "HASŁO ADMINISTRATORA" user name "NAZWA UŻYTKOWNIKA" with administrator privileges
do shell script "/Applications/MAMP/bin/startmySQL.sh > /dev/null 2>&1"

Pierwsze wyjaśnienie - dlaczego trzeba wpisać hasło tylko przy uruchomianiu Apache, a w przypadku MySQL już nie? Ponieważ tylko Apache w MAMPie wymaga hasła, aby wystartować pod zmienionym portem.

Podmieniamy "HASŁO ADMINISTRATORA" i "NAZWA UŻYTKOWNIKA" na poprawne dane.

Następnie wybieramy Plik > Eksportuj. Podajemy nazwę pliku np. run_mamp_without_password, jako format plików wybieramy "program", w opcjach zaznaczamy "Tylko do uruchamiania", klikamy "Zachowaj". Dzięki zaznaczeniu opcji "Tylko do uruchamiania", nikt nie będzie w stanie otworzyć kodu źródłowego tworzonego przez nas programu i podejrzeć naszej nazwy użytkownika i naszego hasła. Następnie zamykamy Edytor skryptów (anulujemy zwykłe zapisanie pliku).

Analogicznie możemy stworzyć mały program, który wyłączy nam Apache i MySQL.

4. Skrót do programu i dodanie ikonki

Stworzyliśmy program który uruchamia MAMPowego Apache i MySQLa bez konieczności podawania hasła administratora. Warto byłoby teraz wrzucić ten program do autostartu systemu.

Przechodzimy do Ustawień > Użytkownicy i grupy > Wybieramy użytkownika > Logowanie. Klikamy na plus, aby dodać pozycję i wybieramy nasz program. Na liście programów, przy naszej pozycji zaznaczamy "Ukryj". Przy uruchamianiu systemu będzie przez kilka sekund "skakała" ikonka naszego programu, następnie zniknie.

Aby zmienić ikonę programu, należy ją otworzyć w programie graficznym (np. GIMP) i skopiować (Cmd+C). Zauważyłem, że można również po prostu dwa razy kliknąć ikonę, aby zobaczyć jej większy podgląd i skopiować. Następnie należy prawym klawiszem myszki kliknąć na program, wybrać z menu kontekstowego "Informacje", kliknąć na obecną ikonę programu i wkleić zawartość schowka (Cmd+V).

To wszystko. Teraz przy uruchomieniu komputera przez kilka sekund podskoczy nam logo MAMPa w docku systemowym, uruchomi się Apache i MySQL bez potrzeby wpisywania hasła systemowego.

Kategorie: macOS. Tagi: #apache, #serwer, #mamp. Źródło obrazków: Pixabay, Font awesome.

Zobacz także

1 komentarz