Ubuntu i programista PHP
Od dłuższego czasu moim systemem operacyjnym jest Ubuntu. Chciałbym na przykładzie wersji 7.04 przedstawić w jaki sposób poradzić sobie z instalacją i konfiguracją oprogramowania potrzebnego do pracy programiście php.
Zaczynamy od instalacji apache2 i php5. Polecam do tego użycie menadżera pakietów synaptic gdzie wystarczy je wybrać z listy. Po zainstalowaniu przystępujemy do włączania modułu userdir poprzez polecenie a2enmod.
$ sudo a2enmod userdir $ sudo /etc/init.d/apache2 force-reload $ mkdir ~/public_html
W ten sposób nasza strona jest już dostępna pod adresem http://127.0.0.1/~nazwa_uzytkownika/.
Kolejnym etapem jest umożliwienie wstawiania do plików .htaccess komendy php_flag, gdyż przy domyślnej konfiguracji pojawia się błąd 500 o treści w logach php_flag not allowed here. W tym celu musimy dodać do AllowOverride opcje Options.
$ sudo gedit /etc/apache2/mods-enabled/userdir.conf
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Options
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
</IfModule>
Domyślnie od php 5.1 zainstalowane jest PDO. Niestety wszystkie sterowniki poza pdo_sqlite trzeba doinstalować we własnym zakresie. Z pakietów wybrać musimy: php-pear, php5-dev, postgresql oraz postgresql-dev. W innym przypadku pojawią się błędy, sam miałem problemy ponieważ nie wybrałem postgresql-dev i wyskakiwał mi błąd z brakiem pg_config.
$ sudo pecl install pdo_pgsql
Automatycznie powinny się dodać rozszerzenia do plików konfiguracyjnych php więc nie musimy tego robić.
Następnie przechodzimy do zainstalowania IDE (zintegrowane środowisko programistyczne), wybór tutaj pada na Eclipse z rozszerzeniem php – PDT (PHP Development Tools).
Domyślnie eclipse korzysta z java gnu, ale jest ona bardzo wolna dlatego poza eclipse wybierzmy do instalacji sun-java6-jdk. Przystępujemy teraz do przełączenia na nową jave. Wpisujemy poniższą komendę i wybieramy z listy java sun.
sudo update-alternatives --config java
Edytujemy dwa poniższe pliki i dodajemy na samą górę listy wpis: /usr/lib/jvm/java-6-sun.
$ sudo gedit /etc/jvm $ sudo gedit /etc/eclipse/java_home
Informacje o edycji potrzebnych plików pochodzą z Bug #45347 in eclipse (Ubuntu).
Przechodzimy do instalacji PDT. W tym celu uruchamiamy eclipse i wybieramy w menu Help -> Software Updates -> Find and Install… Zaznaczamy Search for new features to install i przechodzimy dalej.
Teraz klikamy New Remote Site i dodajemy nazwę PDT i adres http://downloads.zend.com/pdt. Zanim klikniemy koniec należy zaznaczyć jeszcze na liście Callisto Discovery Site.
Po ściągnięciu listy zaznaczamy PDT, wyskakują nam informacje o brakujących elementach. Kliknięcie w Select Required nic nie daje, ale co jest bardzo śmieszne po rozwinięciu Callisto Discovery Site, wybranie Select Required zadziała.
To by było na tyle, miłej pracy.
Słowa kluczowe: Apache, Linux, PHP, PostgreSQL, Techblog, eclipse, ide, java, pdo, pdt, ubuntu, artykuł, blog

Komentarze i opinie
:/
WST Server Adapters (2.0.0.v200706041905-4--_kE77Y7QI7EEEQ) requires plug-in "org.mortbay.jetty (5.1.11)", or compatible.
Zapomniałem napisać - klikam Select required, on mi zaznacza jakieś pakiety, a i tak mam ten błąd i nie mogę dokończyć instalacji
Może spróbuj wybrać inne źródło pakietów? Osobiście wybrałem Niemcy.
Ja też już niemcy wybierałem. Próbowałem zmienić EMF na wersję, którą te WST chciało - niestety próba instalacji któregokolwiek wymaganego pluginu kończy się takimi błędami. Spędziłem już na próbach instalacji PDT godziny. Ściągnąłem nawet pakiet all-in-one, który uruchomiłem, ale żadnej obsługi php nie znalazłem (może jestem za leniwy - inaczej, mam teraz dużo za mało czasu na takie męczenie się) ale niestety, czego ukryć się nie da - Eclipse to jeszcze nie narzędzie, które można sobie zainstalować i z nim pracować od tak. A na Linuksa coś by się na kształt mojego ukochanego Zenda przydało.
Chyba niestety skończę na gVimie. Żaden z "normalnych" edytorów na Gnome'a z jakimi się spotkałem nie spełnia podstawowych kryteriów 'szybko w nim pisalności' i wygody.
Albo zainstaluj ubuntu 7.04 od nowa ;) Testowałem dzisiaj i wszystko działa poprawnie na czystym systemie. Na drugim laptopie też wszystko chodzi dobrze, chodź trochę to trwało bo poszczególne pakiety instalowałem ręcznie z uwagi na moją niewiedzę o opcji Select Required.
reklama na jakilinux dziala ;) Fajny artykuł chociaż osobiście nie lubie babrać się w konfiguracji po przez konsole...
To się dopiero okaże ;) Co do konfiguracji przez konsolę to tutaj są naprawdę proste rzeczy przedstawione. Poza tym nie wiem czy jest jakaś graficzna nakładka na pear / pecl, a nawet jeśli to szybciej wpisać kilka komend niż instalować do tego osobny soft.
Mam czyste ubuntu 7.04 na lapku :) Instalowałem ze dwa tygodnie temu.
I z przymusu (jutro wyjeżdżam do Zakopca, a projekty nie pozamykane :D) właśnie postawiłem apache'a+php+mysql w pół godziny. Wszystko ręcznie, a bez problemów się nie obyło, więc jestem happy :)
Już nawet prawie zapomniałem jaki zły byłem kiedy eclipse znowu odmówił mi posłuszeństwa.
Swoją drogą, jak zobaczyłem tę notkę na techblogu, to pomyślałem, że wreszcie ktoś mi ładnie wytłumaczy jak zainstalować pdt. A tu bełt. Będę jeszcze przeinstalowywał Ubuntu na laptopie i wtedy spróbuję. Na razie... do zakładek.
Tylko dlaczego taki moloch jak eclipse?
o bluefish nie slyszeli? ;>
@Reinmar: no spróbuj jeszcze raz, może w końcu pójdzie :) aktualizacje pakietów po instalacji i potem od razu eclipse + java sun.. no nie może być tak, że u kogoś działa u kogoś nie.. chyba, że to problem sprzętowy np. u Ciebie procesor 64bitowy, ale czy to może mieć wpływ?
@z: Bo to już nie ten poziom programowania? :P Używałem jedit oraz bluefish wcześniej, ale aktualnie to jest za mało. Bluefish jest fajny do edycji jednego pliku, ale jeśli tworzę projekty to eclipse jest idealny, posiada podpowiadanie składni, integracja z cvs, zawijanie kodu, dodali nawet debuger do php i dużo dużo innych rzeczy.
@Reinmar: a zrób jeszcze tak : otwórz z Calisto Discovery Site -> Web and J2EE Development i wybierz Web Standard Tools (WST). I wtedy kliknij Select Required.
Się tak składa, że jestem etatowym panem i władcą pi ejcz pi i z tym ,nie ten poziom' trafieś pod zły addr :] Eclipse pamiętam za czasów windowsa i pewnego serwera pewnej gry mmo napisanego w javuni i tego jak to wszystko śmierdziało.. Wolne i jakieś takie, not user friendly, prawie jak zend std. Od tego czasu (>2lata) eclipse nie tykam i jestem absolutnie uprzedzony do wszystkiego co zostało napisane w javie, nawet gier na telefonie nie włączam ;)
A co do tych darmowych bazuń, też śmierdzą. Prawdziwym panem i władcą na tym polu jest jedyny i słuszny mssql, ale o tym każdy wie :>
@z: nie rozumiem Twojego toku rozumowania, mówisz, że coś jest złe bo jest napisane w java? To jest argument? Do tego przyznajesz się, że nie używałeś eclipse 2 lata? Rzeczywiście, poziom to Ty prezentujesz "wysoki".
Poza tym co mnie rusza pan i władca mssql skoro ja jestem bożkiem, też mi zaimponowałeś ;]
Nie dziwię się, że nie rozumiesz. W takim razie wyjaśnię: kiedy dziecko raz wsadzi paluszki do kontaktu już więcej ich tam nie pcha, prwada? To tak jak z windowsem, spróbujesz raz i więcej nie chcesz. Proste. Co do poziomu.. skoro wniosujesz po tym, że ktoś ma wstręt do javy, to gratulacje po raz kolejny :)
A co do mssql przeczytaj drugi raz. Chociaż, wyjaśnię, znowu. Nie ja jestem panem i władcą mssql tylko mssql itself. Przy tym potworze wszystkie darmowe zabawki pokroju mysql i portagtsql.. no, zabawkami są :>
Jak można porównywać prąd i java? Jak spadłeś kiedyś z rowera to też już nigdy nie wsiadłeś na niego? Nie trafione porównanie, a wręcz śmieszne.
Nie będę porównywał mssql do pgsql bo nie mam takiej potrzeby. Jeśli już chcesz kogoś przekonać do jakieś bazy to napisz o funkcjonalności, która może się przydać w tworzeniu stron, którą ta baza posiada, a nie używasz farmazonów.
;]] To jednak Twoja analogia jest nie na miejscu. Za dziecka (o ile dalej nim nie jestes) nigdy nie bawiles sie prądem? Nigdy Cię nie poraził? Jeśli tak to, pchałeś tam łapska spowrotem? Nie sądzę.. ;] Chociaż....
Przyjmuję temat za zamknięty ;) Proszę się trzymać na przyszłość wątku programowania, a nie dzieciństwa.
PDT dla Eclipse można w jednej paczce wraz z debuggerem ściągnąć ze strony Zenda : http://www.zend.com/pdt
Przydatny artykulik :) Sam używam ubuntu i bardzo mi się przydał :)
jak wlaczasz aplikacje X11 w trybie sudoersa to przez gksu nie sudo.
Kurde ja tez nie moge normalnie z software update korzystac :/ a wersja PDT z czerwca to w ogole prawie nie dzialala. Co dziwne na Macu pod osx nigdy nie mialem z eclipse najmniejszych problemow.
No ale teraz to mi sie udalo nawet subclipse zainstalowac :]
ja nawet aktualizacji Eclipse nie mogę zrobić bo jak już ściągnie pakiety i zacznie instalować to wywala błąd
Unable to complete action for feature "Eclipse Platform" due to errors.
Unable to complete action for feature "Eclipse RCP" due to errors.
Unable to create file "/usr/lib/eclipse/features/org.eclipse.rcp_3.2.2.r322_v20070104-8pcviKVqd8J7C1U/eclipse_update_120.jpg". [/usr/lib/eclipse/features/org.eclipse.rcp_3.2.2.r322_v20070104-8pcviKVqd8J7C1U/eclipse_update_120.jpg (No such file or directory)]
Unable to create file "/usr/lib/eclipse/features/org.eclipse.rcp_3.2.2.r322_v20070104-8pcviKVqd8J7C1U/eclipse_update_120.jpg". [/usr/lib/eclipse/features/org.eclipse.rcp_3.2.2.r322_v20070104-8pcviKVqd8J7C1U/eclipse_update_120.jpg (No such file or directory)]
Unable to complete action for feature "Eclipse RCP" due to errors.
Unable to create file "/usr/lib/eclipse/features/org.eclipse.rcp_3.2.2.r322_v20070104-8pcviKVqd8J7C1U/eclipse_update_120.jpg". [/usr/lib/eclipse/features/org.eclipse.rcp_3.2.2.r322_v20070104-8pcviKVqd8J7C1U/eclipse_update_120.jpg (No such file or directory)]
Unable to create file "/usr/lib/eclipse/features/org.eclipse.rcp_3.2.2.r322_v20070104-8pcviKVqd8J7C1U/eclipse_update_120.jpg". [/usr/lib/eclipse/features/org.eclipse.rcp_3.2.2.r322_v20070104-8pcviKVqd8J7C1U/eclipse_update_120.jpg (No such file or directory)]
Unable to create file "/usr/lib/eclipse/features/org.eclipse.rcp_3.2.2.r322_v20070104-8pcviKVqd8J7C1U/eclipse_update_120.jpg". [/usr/lib/eclipse/features/org.eclipse.rcp_3.2.2.r322_v20070104-8pcviKVqd8J7C1U/eclipse_update_120.jpg (No such file or directory)]
a przy próbie instalacji PDT
PDT Feature (1.0.0.v20070520------9FhPQOQ7hP) requires feature "org.eclipse.emf (2.2.0)", or later version.
nie mogę również dokonać aktualizacja Aptana
ogólnie masakra :P nie chce mi się przesiadać pod winde, ale nie zamierzam robić teraz formata, więc muszę na razie pracować na tym co mam.
A mnie sie cos PDO nie chce poprawnie zainstalowac, co go dolacze (extenstion=pdo.so) to mi serw nie wstaje
Pawle - aptitude purge eclipse; aptitude install eclipse
moze pomoze ;)
aktualizacja Eclipse nastąpiła, ale niestety dalej to samo z PDT
PDT Feature (1.0.0.v20070520------9FhPQOQ7hP) requires feature "org.eclipse.emf (2.2.0)", or later version.
chyba szkoda czasu na szukanie problemu, wystarczy mi phpeclipse, a z PDT spróbuje po reinstalacji systemu
# Pawle - aptitude purge eclipse; aptitude install eclipse
# moze pomoze ;)
Nie lepiej
$ sudo aptitude reinstall eclipse
?
witek - reinstall chyba konfiguracyjnych nie czysci
jak zainstalować extensiom dom_xml pod linuxa?
A jak próbowałeś? Trzeba to zrobić z pecl w php5 bo dom_xml nie jest już rozwijane, zastąpiło go dom, które to powinieneś używać.
do wszystkich mających problem z instalacją PDT Feature przez eclipse
tutaj podaje link do strony gdzie jest informacja na temat problemu (ENG) pamietajcie, żeby przy wyborze źródła z eclipse lub PDT
pozdrawiam serdecznie
http://dev.eclipse.org/blogs/wayne/category/php/
link ;)
nie poradzilem sobie z instalacja PDT.
Ale znalazlem kompromisowe rozwiązanie.
Zainstalowałem eclipse przez synaptic, Sciagnałem all-in-one.
Skopiowałem configuration, features i plugins z rozpakowanego all-in-one do folderu /usr/lib/eclipse
i jest cacy
Debuggerhttp://downloads.zend.com/pdt/server-debugger/
tez dziala, nie polecam ZendPlatform, troche mozna sie pogubic w tym co ZP robi
ja tam polecam xampp'a - wszystko w jednym wystarczy sciągnąć i odpalić jednym wierszem ;)
mam pytanie:
co robię źle jeśli po wykonaniu wskazówek dzięki którym ~/public_html ma mi działać, nadal działa domyślne "it works"?. mam katalog "public_html", a w nim index.php. edytowałem też userdir.conf
Nowy komentarz