Sep 19

Z racji nadmiaru pracy i niedomiaru czasu który mogę spędzić w biurze, pojawiła się potrzeba odpalenia zestawu opisanego w tytule postu. Wcześniej korzystałem z MAMPa, ale tym razem postanowiłem wykorzystać dobrodziejstwa Snow Leoparda. Okazuje się, że Apache jest standardowo zainstalowany w systemie – trzeba go jedynie lekko skonfigurować żeby pracował tak jak chcemy. Do dzieła…

Apache

Linia poleceń zawsze była szybsza niż klikanie, więc przejdziemy od razu do rzeczy:

sudo apachectl start
sudo apachectl stop
sudo apachectl restart

Polecenia, które uruchamiają, zatrzymują lub restartują Apacha – widoczny pod domeną http://localhost w naszej przeglądarce. Niestety domyślnie DocumentRoot wskazuje na /Library/WebServer/Documents, co nijak nie pasuje do naszej koncepcji wygodnego posługiwania się Apachem. Edytujemy więc konfiguracje Apacha:

sudo nano /etc/apache2/httpd.conf

Szukamy linii:

# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf

zdejmujemy komentarz z drugiej linii i edytujemy sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
Interesuje nas fragment:

<VirtualHost *:80>
ServerAdmin nasz@adres.email.pl
DocumentRoot "/Users/slav/Sites"
ServerName test.localhost
ServerAlias www.test.localhost
ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>

gdzie zamiast slav wstawiacie nazwę użytkownika pod którym pracujecie, dzięki temu pod nazwą test.localhost będziemy widzieć zawartość katalogu “Witryny” w polskiej wersji systemu.
Jeszcze trzeba tylko dopisać odpowiednią linijkę do nano /etc/hosts tak aby system rozpoznawał test.localhost

127.0.0.1 localhost test.localhost

Teraz wystarczy tylko zrobić restart sudo apachectl restart Apacha i… powinno działać. Ok. Mamy działającego Apacha, teraz czas na…

PHP

Edytujemy ponownie konfigurację Apacha

sudo nano /etc/apache2/httpd.conf

Dodajemy dwie linijki:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

najlepiej w odpowiednim miejscu, żeby nie było bałaganu w konfigu ;)
Druga linijka, która nas interesuje to

LoadModule php5_module libexec/apache2/libphp5.so

wystarczy ją odkomentować.
tradycyjnie restart: sudo apachectl restart i sprawdzamy czy działa PHP…

LAMP

jak widać SOA#1.

Do pełni szczęścia brakuje nam jedynie

MySQL

Niestety Snow Leopard nie został wyposażony w MySQLa musimy go więc pobrać ze strony MySQL. Ważne jest żeby pobrać sobie paczkę .dmg która zawiera plik .pkg z instalatorem. Oszczędzi nam to zabawy. Istotne jest również to, żeby zainstalować sobie Panel Ustawień.
mysql
Po instalacji wchodzimy do “Preferencje systemowe” i pojawia nam się ładne okienko:

mysqls

Na sam koniec warto zwrócić uwagę, że phpMyAdmin nie połaczy się z naszą bazą danych jeżeli user będzie miał “puste” hasło… także koniecznie trzeba dodać usera z hasłem.

Pisząc ten artykuł korzystałem z informacji zawartych na stronie Building Apache, MySQL, and PHP warto też przeczytać Installing Apache, PHP and MySQL.

5 odpowiedzi do “Apache PHP MySQL na Mac OS X”

  1. scorpion Says:

    O co chodzi z tym użytkownikiem ??, zrobiłem wszystko jak opisywałeś, i php mi działa, rozpakowałem phpmyadmin i niestety, próbowałem stworzyć hasło roota ale wywala mi błąd, pisałem to tak mysql -u root -p
    i wykładał mi się błędem, wiec wywołałem go z mysqladmin i mimo że wpisałem hasło to go nadal nie mam, w phpmyadmin w pliku konfiguracyjnym wpisałem hasło ale nadal nie mogę się połaczyć, czy można to opisać bardziej szczegółówow ??, czyli jak zakładamy nowego użytkownika by można było się połączyć z mysql..

    Dziękuję serdecznie.

  2. admin Says:

    mialo być

    sudo mysql -u root -p

    inaczej nie uruchamiasz mysqla z prawami roota i hasla nie zmienisz. Na przyszlosc jak sie “wywala blad” to wklej mi go. Inaczej nie wiem co to za blad i ciezko powiedziec.

  3. scorpion Says:

    próbowałem z sudo, tym razem po admin przeszło, stworzyłem bazę danych i tabele w sql, i próbuję się połączyć z php i mam taki komunikat

    Warning: mysql_connect() [function.mysql-connect]: Can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’ (2) in /Users/scorpion/Sites/index.php on line 2

    z tym że dziwna sprawa bo mysql mam w katalogu /usr/local i
    mam 2 katalogi jeden to mysql
    a drugi to mysql-5.0.87-osx10.5-x86

    ten 2 to jest ten co instalowałem, wiec czemu się odwołuję do lokalizacji mysql, robiłem wszystko według wskazówek, spróbuje jeszcze raz odpoczątku, mam tylko jedno pytanie, czy jak wywala katalogi mysql i ten mysql-z wersja to czy muszę gdzie indziej jeszcze usówać jakieś informacje o nim czy to wystarczy ??

  4. admin Says:

    dwie sprawy
    1. czy mysql dziala ? sprawdz preferencje systemowe, tam na dole jest zakladka i zobacz czy chodzi
    2. jak sie laczysz z mysql, to sprobuj przez 127.0.0.1 a nie przez localhost…

    a trzecia… nie pisz do mnie z bledami bo nie bede odpowiadal :)

  5. scorpion Says:

    Dziękuję, pomogło, jak można przestawić by ,również działało na localhost.

    Jeszcze raz dziękuję za pomoc.

zostaw komentarz