Mastodon

Środowisko web developera na Maku

10
Dodane: 14 lat temu

Artykuł pochodzi z MJ 3/2010

W numerze dotyczącym tworzenia stron internetowych nie mogło zabraknąć artykułu, który krok po kroku wyjaśni, jak od podstaw stworzyć środowisko produkcyjne dla web developera na Maku. Ktoś mógłby krzyknąć “Hola hola, przecież Mac OS X trafia w nasze ręce z wbudowanym serwerem webowym, a kod można pisać w TextEdit. Po co więc dodatkowo kombinować z jakimś środowiskiem?”. Owszem, można wykorzystać oprogramowanie dostarczone z systemem, co nie znaczy, że jest to najwygodniejsze i efektywne rozwiązanie. W tym artykule postaram się zatem przedstawić, jak skompletować wszystkie elementy, które złożą się na nasz poligon doświadczalny podczas twórczych batalii z kodem.

Na wstępie chciałbym zaznaczyć, że podany przeze mnie zestaw oprogramowania jest jedynie propozycją, która uważam powinna się dobrze sprawdzić u większości użytkowników rozpoczynających przygodę z tworzeniem własnych stron internetowych. Zawsze, gdy dochodzi do wyboru konkretnego rozwiązania software’owego pojawią się zwolennicy różnych opcji twierdzący, że tylko i wyłącznie wybór “tego jedynego” programu pozwala na profesjonalne tworzenie cyfrowych treści. Dyskusja o “tym jedynym” właściwym programie przypomina rozważania na temat wyższości Świąt Wielkanocnych, nad Świętami Bożego narodzenia. Aby zadowolić “obie strony barykady” na końcu artykułu powiem kilka słów na temat alternatywnych programów służących do tworzenia stron wwww.

Aby móc zająć się tworzeniem stron internetowych wykraczających poza poziom licealnych strony opartych o tabelki i pisanych w najprostszym HTML’u niezbędny będzie serwer z obsługą php/sql. Serwerem, który ja polecam zarówno dla początkujących jak i średnio zaawansowanych jest MAMP (akronim od słów Mac Apache MySQL PHP) do ściągnięcia w wersji darmowej pod adresem: http://www.mamp.info/. Po ściągnięciu paczki z plikami instalacyjnymi należy w standardowy sposób zainstalować MAMP’a na swoim komputerze (podając hasło administratora w razie potrzeby). Wszystko, co będzie nam niezbędne do uruchomienia własnej strony internetowej znajduje się w tej paczce. Obok serwera www Apache z obsługą PHP mamy tam również gotową do użycia bazę danych MySQL wraz z zainstalowanym skryptem phpmyadmin udostępniającym webowy interfejs do zarządzania zawartością bazy. Po instalacji paczki zalecam jej konfigurację. Na szczęście dla początkujących nie musimy bawić się w edytowanie konfiguracyjnych plików tekstowych – wszystko można zrobić za pomocą graficznego interfejsu programu. Interfejs ten wprawdzie nie udostępnia wielu opcji, ale też nic ponad to, co jest dostępne nie będzie nam potrzebne. Jedyną zmianę, jaką polecam wprowadzić to ustawienie własnego folderu, gdzie trzymamy kod stron internetowych (domyślne ustawienia systemu /Użytkownicy/Nazwa_Użytkownika/Strony/). Dzięki temu wyciągniemy domyślną lokację stron www poza folder “Aplikacje”. Jest to szczególnie ważne, jeżeli nie pracujemy na koncie z prawami administratora, ponieważ nie mamy wtedy prawa zapisu do tego folderu i jakiekolwiek zmiany jego zawartości każdorazowo muszą być potwierdzane wpisaniem hasła administratora. Brak uprawnień do zapisu wewnątrz folderu Aplikacje dodatkowo może powodować jeszcze jeden problem – MAMP może nie zapisywać wprowadzonych zmian w konfiguracji. Należy wtedy zmienić uprawnienia dla folderu i przyznać sobie prawo do zapisu dla całego folderu MAMP znajdującego się w systemowym folderze Aplikacje. Po uruchomieniu aplikacji włączane zostają serwery PHP oraz MySQL, a w domyślnej przeglądarce uruchamiana jest strona startowa, co oznacza, że wszystko działa prawidłowo.

Mając gotowy serwer pod nową stronę www konieczne jest wybranie edytora, w którym ta strona powstanie. Ponieważ artykuł skierowany jest do osób zaczynających przygodę ze stronami internetowymi jako edytor wybrałem aplikację Coda firmy Panic (http://panic.com/coda/). Jest to rozbudowana aplikacja wspomagająca pracę oraz późniejszy rozwój strony internetowej dzięki wielu przyjaznym użytkownikowi funkcjonalnościom. Do ich szczegółowego opisania niezbędny byłby osobny artykuł. Aby uzasadnić swój wybór powiem o kilku funkcjach, które z pewnością będą wielokrotnie wykorzystywane. Po pierwsze Coda dysponuje kolorowaniem składni dla wszystkich typów plików, z którymi zetkniemy się podczas pracy ze stronami webowymi – począwszy od html’a, css, przez JavaScript, php, aż do skryptów sql’a. Osobom, które kiedykolwiek pisały własny kod (czy to stron www, czy programów), nie muszę chyba tłumaczyć jak wygodna jest to funkcja. Poza kilkoma domyślnymi schematami kolorystycznymi możemy definiować własne kolory, którymi zostaną wyróżnione zdefiniowane przez nas fragmenty kodu. Oprócz kolorowania składni Coda oferuje również system podpowiedzi, który zwłaszcza na początku może przydać się przy odkrywaniu kolejnych tagów html’a czy dyrektyw css’a. Dodatkowo, jeżeli zapomnimy jak używa się danego tagu, czy dyrektywy, możemy sięgnąć do książek udostępnionych bezpośrednio w programie. Książki podzielone są tematycznie i udostępniają podstawową wiedzę na temat zastosowania oraz wariantów poszczególnych elementów składowych języków html, css, JavaScript, czy php. Niestety do przeglądania książek niezbędne jest połączenie z internetem każdorazowo, gdy będziemy chcieli włączyć ich zawartość. W trakcie pisania strony www możemy podglądnąć, jak będzie ona wyglądać w przeglądarce nie opuszczając programu – Coda ma wbudowany podgląd stron działający na silniku WebKit. Dzięki opcji podzielenia okna na sekcje możemy w jednej sekcji mieć otwarty kod html’a, a w drugiej sekcji podgląd strony – jest to bardzo wygodne szczególnie w trakcie tworzenia arkuszy stylów CSS. Jeżeli ktoś nie czuje się na tyle pewnie, aby pisać style CSS ręcznie może skorzystać z graficznego kreatora za pomocą którego wygenerujemy wszystkie niezbędne dyrektywy opisujące wygląd poszczególnych sekcji naszej strony. Bardziej zaawansowani użytkownicy docenią również wbudowany terminal pozwalający połączyć się zdalnie z serwerem poprzez protokół SSH. Oczywiście opisane powyżej funkcje to tylko wierzchołek góry lodowej spośród wszystkich drobnych i większych usprawnień, na jakie możemy liczyć pracując w programie Coda. Aby zasygnalizować, co jeszcze pozostało do odkrycia jednym tchem wymienię funkcje, które są nie mniej przydatne od tych, które opisałem: nawigator kodu, snippety, walidacja kodu w programie, praca grupowa przez Bonjour, pluginy i wiele innych.

Na tym etapie mamy już gotowy serwer, wybraliśmy program, w którym powstanie nasza strona www, więc jedyne co pozostało to skonfigurować odpowiednio nasze aplikacje tak, aby praca nad stronami www była jak najwygodniejsza. Załóżmy więc, że rozpoczynamy nowy projekt o nazwie kodowej “Test” – mamy do stworzenia stronę internetową, którą będziemy w późniejszym czasie rozwijać. Ponieważ nie możemy sobie pozwolić, aby na serwerze wylądowała strona z błędami niezbędne będzie środowisko testowe, które uruchomimy na lokalnym komputerze, oraz jakiś sposób na kontrolę wersji plików pomiędzy naszym komputerem, a serwerem. Zaczniemy od lokalnego środowiska testowego (w którym na początku zbudujemy naszą stronę). Włączamy MAMP’a oraz tworzymy nowy folder o nazwie “Test” w /Użytkownicy/Nazwa_Użytkownika/Strony/. Tam będą trzymane wszystkie pliki naszej strony internetowej, nad którymi będziemy pracować oraz które w późniejszym etapie będziemy synchronizować z serwerem (mowa tutaj o serwerze, na którym strona będzie udostępniona w internecie). Kolejnym etapem jest konfiguracja nowego projektu w programie Coda. Po włączeniu aplikacji przechodzimy w razie konieczności do widoku “Stron” (za pomocą skrótu klawiaturowego ⌘1). W lewym dolnym rogu klikamy na guzik “Add Site”, a następnie w nowo otwarty oknie wpisujemy kolejno poniższe parametry.

Zakładka Site:

– Nickname – nazwę projektu,

– Root URL – adres www pod którym strona będzie dostępna w internecie

– Local URL – adres www pod którym strona będzie dostępna lokalnie, za pomocą MAMP (w standardowych ustawieniach będzie to: http://localhost:8888/Test/)

– Remote Root – ścieżka do folderu, gdzie trzymane są pliki na serwerze zdalnym

– Local Root – ścieżka do folderu, gdzie trzymane są pliki lokalnie (/Użytkownicy/Nazwa_Użytkownika/Strony/Test/)

Zakładka Connecting:

– Server – nazwa serwera, na którym udostępnimy stronę w internecie

– User Name – nazwa naszego użytkownika do zalogowania się na serwerze

– Password – hasło

– Port – pole to uzupełniamy tylko wtedy, gdy łączymy się z serwerem na niestandardowym porcie (w większości przypadków można pozostawić to pole do automatycznego uzupełnienia przez program)

– Protocol – wybieramy za pomocą jakiego protokołu aplikacja ma się łączyć z serwerem (informacja ta powinna być dostarczona razem z nazwą użytkownika oraz hasłem dostępowym do serwera)

– List Encoding – pozostawiamy domyślną wartość

Dodatkowo możemy jeszcze skonfigurować połączenie SSH z serwerem oraz kontrolę wersji.

Po utworzeniu nowego projektu można przejść do pracy nad kodem strony – w tym celu należy kliknąć dwukrotnie na ikonę projektu, a aplikacja przełączy się w tryb edytora tekstowego. Po lewej stronie wyświetlane jest drzewo folderów/plików zarówno przetrzymywanych lokalnie jak i na serwerze. Po prawej znajduje się edytor, w którym napiszemy naszą stronę internetową. Po wpisaniu przykładowej zawartości (niech to będzie tylko nagłówek z napisem “Test”) zapisujemy plik pod nazwą index.html – powinien on się pojawić wśród plików lokalnych. Ponieważ program jest w stanie stwierdzić, że plik lokalny oraz plik na serwerze o tej samej nazwie różnią się zawartością, index.html zostanie oznaczony za pomocą strzałki, a u dołu panelu z plikami pojawią się dwie nowe opcje – Clear oraz Publish All. Pierwsza służy do odznaczenia wszystkich plików, w których wystąpiły zmiany, natomiast druga pozwala wysłać na serwer wszystkie oznaczone pliki zastępując stare wersje nowymi. Z tej funkcjonalności będziemy często korzystać podczas rozwoju naszej strony internetowej. Mając działającą wersję na serwerze on-line możemy lokalnie wprowadzać nowe zmiany, przetestować ich działanie bezpośrednio w aplikacji Coda, a następnie jednym kliknięciem wysłać zmienione pliki na serwer.

Po zastosowaniu się do wskazówek w powyższym artykule powinniśmy dysponować gotowym podstawowym środowiskiem testowo-rozwojowym dla stron www. Zainstalowaliśmy oraz skonfigurowaliśmy serwer z obsługą php/sql, skonfigurowaliśmy aplikację do tworzenia oraz testowania stron za pomocą lokalnego serwera, wiemy, jak utworzyć nowy projekt pozwalający na efektywną organizację pracy z plikami lokalnymi oraz trzymanymi na serwerze, wiemy również jak bezpiecznie wprowadzać zmiany na stronie po ich uprzednim przetestowaniu lokalnie.

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .

Komentarze: 10

no w sumie chodziło mi o wbudowanego AMP’a, a raczej apacza i php.
hm, instalacja mysql to w sumie dwuklik na pkg i jakaś komenda w terminalu, coby soket przenieść w odpowiednie miejsce o ile pamiętam. No i jeszcze ewentualnie dodanie odpowiedniej ścieżki, jak się chce w konsoli bawić.
z phpMyAdmin nigdy nie korzystałem i mam nadzieję, że korzystać nie będę musiał. Soft ten dla mnie to czarna magia i wolę sobie klepać SQL w terminalu – wtedy wiem co jak i gdzie przynajmniej zawsze.

Też sam kiedyś korzystałem z MAMP’a, ale potem doszedłem do wniosku, że jak mam już out-of-the-box to na co mi marnować miejsce na dysku?
MAMP ma faktycznie parę rzeczy więcej w swoim php’ie (chociaż aktualnie ma chyba starszą wersję niż ten w Snow Leo), podobnie MySQL jest w też trochę starszej wersji.

MAMP jest fajny, ale szczerze to chętnie przeczytałbym jak dopieścić wbudowanego php’a żeby miał mnóstwo ficzerów ;) ostatnio walczyłem pół dnia z postgresql i jego wsparciem we wbudowanym php’ie (na szczęście wygrałem).

Osobiście nie lubię dubli ;]

Instalowalem recznie M+A+P ze zrodel na linuxie, przez kilka lat, i na maku przez ponad rok. Mialem juz dosc, kiedy pojawialy sie kolejne problemy z instalacja.

Od tego momentu uzywam MAMPa – szybka instalacja, lekkie przekonfigurowanie aby gdzie indziej trzymac htdocs i tyle.

phpMyAdmin i czarna magia? Proste i szybkie przegladanie struktur baz -> tabel -> danych. Prosta wyszukiwarka rekordow, generowanie wyklikanych SQLek (dodaj kolumne => alter table …) – ktorych potrzebuje, a nie naucze sie tych wszystkich create/alter table. Wyglada jak wyglada ale dla mnie ma moc i duzo ficzerow. Wyglada jak wyglada, ale tak czesto go uzywam nie juz na to nie patrze.

Wszyscy piszą/wspominają o MAMP’ie i systemowym, a czemu nikt nie napisał czegoś o XAMPP’ie ??

BTW:

“Aby zadowolić „obie strony barykady” na końcu artykułu powiem kilka słów na temat alternatywnych programów służących do tworzenia stron wwww.”

Niestety, ale ja alternatyw w artykule nie widzę :(.

Sequel Pro – brak tabow, nie moge otworzyc “linku” (Browse, Structure, Tabeli) w osobnym tabie. Brak wyszukiwania w tresci “ekranu” (to co kazda przegladarka www). Uciazliwe generowanie SQL ze zmian w bazie – po kazdej operacji musze wejsc do logow, znalezc SQLke, skopiowac, usunac komentarze i wkleic do skryptow migracji.

Jak dla mnie prosciutki program – nie nadajacy sie dla MNIE do tego do czego PMA wykorzystuje.

MAMP/XAMP to wszystko zabawki dla okazyjnych (niedzielnych) programistów. Na dłuższą metę to porażka. Np. jest tam MySQL ale bez plików nagłówkowych, próba aktualizacji, dokompilowania czegoś i zaczynają się schody. O wiele lepiej od razu przerzucić się na MacPorts. Proste i wygodne. Można łatwo aktualizować, przełączać się między wersjami programów (activate/deactivate) itp.