niedziela, 13 stycznia 2008

Podstawa - instalacja serwera Apache, PHP i MySQL na systemie Fedora

Od pierwszego posta upłynęło trochę czasu i może niektórym nasuwały się jakieś myśli, że jednak ten blog nie wypali czy coś. Niestety sporą rolę odegrał tu tradycyjnie brak dłuższej chwili wolnego czasu. Teraz postaram się to nadrobić, publikując dwa posty :)

Kiedyś, dawno temu, jak jeszcze pracowałem na Windows za lokalny serwer WWW służył mi wszystkim znany i mniej lub bardziej lubiany kombajn Krasnal ;) Czasy jednak się zmieniają, dojrzałem, przesiadłem się na Linucha, a tu zonk - Krasnala nie ma! Poszukałem więc czegoś podobnego i znalazłem pakiet XAMPP. Dziś jednak nie o nim będę pisał, spokojnie. XAMPP ma swoje zalety, jednak nie jest też idealnym rozwiązaniem, tym bardziej że użytkownicy Fedory mają pod ręką tak potężne narzędzie jak Yum :D Cóż to jest? Pokrótce wytłumaczę wszystkim, którzy nigdy nie mieli styczności z żadną linuksową dystrybucją. Yum to proste narzędzie uruchamiane w konsoli systemu ułatwiające znacząco instalację i aktualizację oprogramowania (w tym składników systemu). To najprostsza definicja - więcej można doczytać w sieci. Jak wiadomo, niektóre programy instalowane w systemie wymagają do pracy spełnienia zależności, czyli doinstalowania innych programów, bibliotek lub składników. Czasami jest to naprawdę uciążliwe, choćby ze względu na fakt, że te doinstalowywane elementy też mogą mieć swoje wymagania xD Brzmi groźnie? Możliwe. Jednak dysponując Yumem nie ma się czego obawiać - on wszystko zrobi za nas.

No więc, jak zainstalować i uruchomić ten cholerny serwer? :> Otóż wystarczy wejść do konsoli i wykonać dosłownie dwa proste polecenia:

1. Logujemy się jako root. Jest to konieczne jeśli chcemy dokonać w systemie jakichkolwiek poważnych zmian, a instalacja czegokolwiek takową bez wątpienia jest :)
su --

Wpisujemy hasło roota i naciskamy Enter.

2. Wpisujemy

yum install httpd\* php\* mysql\*

Teraz Yum zaczyna mielić. Odpytuje repozytoria czy mają jakiś soft, którego nazwa zaczyna się od httpd (Apache), php lub mysql. Jeśli znajdzie, po chwili naszym oczom powinna ukazać się piękna, obszerna lista z wynikami. Znajdziemy na niej szukane elementy wraz z istniejącymi dodatkami (biblioteki, rozszerzenia, moduły, etc). Na końcu znajduje się prośba o potwierdzenie chęci instalacji wyszczególnionych pozycji. Zatwierdzamy wpisując Y i naciskając Enter. Teraz komponenty serwera są pobierane i instalowane, a my mamy trochę czasu dla siebie :)

Tip: Gdyby podczas instalacji program się wysypywał, możliwe że jakieś pakiety gryzą się ze sobą. Wówczas jesteśmy zmuszeni do rezygnacji z jednego z nich. Rozpoczynamy wszystko od nowa, wpisując:

yum -x nazwa_paczki install httpd\* php\* mysql\*

Po zakończonej instalacji Yum wyświetli wyczekiwany komunikat Complete! i będziemy mogli rozpocząć korzystanie z WWW na własnym komputerze. To właśnie jeden z plusów instalacji komponentów serwera przez Yuma. Nie musimy martwić się o żadną dodatkową konfigurację. PHP i MySQL praktycznie od razu współpracują z Apachem.

WWW i MySQL można uruchomić kolejno poleceniami:

/etc/init.d/httpd start
/etc/init.d/mysqld start

Dodatkowo, w zależności od potrzeb korzystamy z parametrów restart i stop.

Z podstawowych informacji warto nadmienić też, że dostęp do phpMyAdmin uzyskujemy przez adres http://127.0.0.1/phpMyAdmin/, a zawartość głównego katalogu możemy przeglądać przez http://127.0.0.1 lub http://localhost (zależy od lokalnych ustawień systemu).

Pliki swojej strony WWW umieszczamy natomiast w katalogu

/var/www/html

Jeśli wszystko będzie w porządku, po uruchomieniu serwera i przejściu pod adres http://127.0.0.1 zobaczymy mniej więcej coś takiego:


To chyba byłoby tyle. W kolejnym odcinku napiszę jak można pobawić się ustawieniami dostępnymi w httpd.conf, czyli pliku konfiguracyjnym Apache'a.

PS. Udostępniłem możliwość komantowania dla każdego, nie tylko dla posiadaczy konta Google lub OpenID co teraz powinno być na standardowym wyposażeniu każdego internauty ;) Ostrzegam jednak, że brzydkie komentarze będą sukcesywnie usuwane.

Zauważyłeś błąd w artykule? Coś nie działa? Zostaw swoje uwagi w komentarzach.

9 komentarzy:

Anonimowy pisze...

witam wywala mi problem z paczką "php-pecl-apc conflicts with php-eaccelerator"
zainstalowałem wiec najpierw samo apache i mysql a gdy podaje komende yum-x php-pecl-apc install php\* wywala ze bez tej paczki niemozna zainstalowac
dodam ze po uruchomieniu komenda httpd serwer rusza zas po uruchomieniu komenda mysqld juz nie
jakies sugestie ?

Dawid Pająk pisze...

Dzięki za komentarz. Spróbuj pominąć w takim razie tę drugą paczkę.

yum -x php-eaccelerator install php\*

A jak nie pomoże to można ew. spróbować w ogóle zrezygnować z PECL'a.

yum -x php-pecl\* install php\*

Anonimowy pisze...

Nie ma za co to ja dziękuje za pomoc, później bede jeszcze raz wszytko od nowa instalował bo zrezygnowałem z KDE na poczet znanego mi już z ubuntu gnome, ale do rzeczy - wyczytałem ze ten "pecl" to jakaś funkcja zenda tak wiec czy nie można by zrezygnować z całego zenda ? Gdy pod windowsem stawiałem np webserv to tam nie było zenda i z tego co mi wiadomo jest on tylko potrzebny do interpretacji zaszyfrowanego kodu php a ja swoich plików php szyfrować nie zamierzam jak na razie. Tak więc czy jest jakaś komenda by pominac calego zenda ?
Pozdrawiam

Dawid Pająk pisze...

Wydaje mi się, że masz na myśli Zend Guard, która jest płatny, więc nie zainstaluje się z repo Fedory :) No i PECL nie ma nic z tym wspólnego. Ogólnie mnie się PECL nigdy nie przydał chyba (prędzej PEAR), więc można go pominąć drugim poleceniem, które podałem. Tym bardziej, że sprawia problemy przy instalacji. Reszta rzeczy może się przydać, więc nie zaszkodzi zainstalować. Jakoś specjalnie to serwera nie spowalnia :)

Anonimowy pisze...

Witam ponownie na wstepie wielkie dzieki jesteś gość !!! Dzieki Tobie jakoś sobie poradziłem.
Komenda yum -x php-pecl\* install php\* wywaliła mi tyle błedów że cieżko by spisać.Na wstępie dodam że jestem nowym użytkownikiem Fedora a Ubuntu nie chwaląc sie raczej liznołem i to dawno temu wiec yum jest mi obcy, postawiłem system jeszcze raz poeniważ wczora go popsułem i podczas aktualizacji zauważylem ze Fedora 10 posiada juz w sobie Apache i wystarczy go odpalić komendą /etc/init.d/httpd start tak więc kozystają z Twojej pomocy i po wielu nieudanych próbach zmontowałem komende yum -x php-eaccelerator install php\* mysql\* i niesamowite - poszło. Szkoda tylko bo jak podejrzewam wiekszośc co instaluje yum jest po angielsku choc jak widze PhpMyAdmin jest po Polsku tylko problem jest taki ze nie moge sie wogole do niego zalogowac jako uzytkownika podaje root a jako haslo probowalem haslo to roota systemu , haslo do uzytkownika systemu i bez hasla jak pod webserv i nie idzie - wiesz cos o tym ? W systemie pojawił sie jakiś MysQl Administrator ale do niego także nie moge sie zalogować ...
W konsoli gdy wpisze mysql -p ( na localu pomijam parametry "-h" i "-u" ), zwraca mi zapytanie o haslo tak jak powinno być ale też żadne hasło nie idzie :(

Dawid Pająk pisze...

No ciekawa sprawa z tym hasłem. Jeśli się nie mylę to właśnie MySQL nie miał żadnego domyślnego hasła dla użytkownika root. Pamiętam nawet, że przy logowaniu do PMA pojawiała się taka czerwona ramka na dole, że root nie ma hasła i wypada jakieś ustawić. A próbowałeś może wpisać pustą nazwę usera i puste hasło? Takie kwiatki też się zdarzają ;P

BTC pisze...

Próbowałem i niestety dalej nie moge sie zalogować

Dawid Pająk pisze...

Hmm. To w sumie już nie wiem co może z tym być. Tak jak to jest opisane, tak działa na Fedorce w podanej wersji. Za jakieś 2 tygodnie wychodzi Fedora 11. Spróbuję zweryfikować wtedy powyższy opis dla nowej wersji.

Dawid Pająk pisze...

Znalałem rozwiązanie. Problem polega na tym, że nie wiadomo za bardzo jakie jest deafultowe hasło roota. Istnieją użytkownicy "mysql" oraz "root\" (backslash na końcu! OMG) z pustymi hasłami, ale działają oni w trybie readonly, więc nie mogą nawet bazy utworzyć. Trzeba zresetować hasło roota. Jak to zrobić jest napisane tutaj -> http://yampress.dug.net.pl/doku.php?id=serwer_mysql (Resetowanie hasła root do bazy). Mam nadzieję, że pomoże. Będę musiał o tym wspomnieć przy najbliższej okazji.