Linux LAMP, czyli Apache, Php i MySQL



LAMP – jest to po prostu serwer stron www, pracujący na Linux-ie z zainstalowanym apache, językiem php oraz bazą danych MySQL. System ten stosuje ogromna większość hostingów istniejących na rynku, również zagranicznych, można się o tym przekonać przy zmianie uprawnień do plików przy pomocy klienta FTP. Nie zobaczymy tam opcji uprawnień znanych z systemem Windows, tylko liczbowe z Linux-a, przykładowo 644 lub 755. Jest to obecnie standard stosowany na cały świecie, warto więc się z nim lepiej zapoznać!

Apache

Najpierw zajmiemy się najważniejszym elementem systemu LAMP, tj. apache. Apache  to serwer stron www oparty na licencji Apache License, która mówi nam, że oprogramowanie to jest w 100% darmowe, możliwa jest też modyfikacja jego kodu źródłowego. Tak liberalna licencja, połączona z faktem, że serwer tej jest bardzo stabilny i dopracowany, przesądziła o jego sukcesie i popularności.

Aby zainstalować apache w systemie Ubuntu wpisujemy:

sudo apt-get install apache2

apache2 (a nie apache) ponieważ jest to wersja od 2.0. Sprawdzamy, czy po instalacji serwer się nam uruchomił:

service apache2 status

jeżeli nie pisze „Apache2 is running”, to go uruchamiamy:

sudo service apache2 start

możemy teraz wpisać w przeglądarkę internetową adres IP naszego komputera, powinna się wyświetlić domyślna strona apacha:

Uwaga: jeżeli apache działa, ale powyższa strona nam się nie wyświetla, to prawdopodobnie blokuje go firewall. W takim wypadku trzeba w firewallu odblokować port 80.

Od tego momentu możemy już wgrać jakąś prostą stronę www opartą o html. Stronę wgrywamy do folderu:

/var/www

w Ubuntu domyślnie właścicielem tego katalogu jest użytkownik, jednak np. w Mandrivie tak nie jest, w takim wypadku warto zmienić właściciela właśnie na użytkownika, ułatwia to znacznie dalszą pracę. Główny plik wykonywany przez apache to index.html i to on jest zawsze wyświetlany na stronie głównej. Pamiętajcie, że nie mamy jeszcze zainstalowanego php więc strony go wykorzystujące nie będą działać.


Konfiguracja

Plik konfiguracyjny apacha znajduje się tutaj:

/etc/apache2/apache2.conf

edytujemy go:

sudo nano /etc/apache2/apache2.conf

w zasadzie nie zmieniamy tutaj nic, interesuje nas jedynie zapis:

Include mods-enabled/*.load
Include mods-enabled/*.conf

oznacza on, że apache ładuje sobie moduły z folderu /etc/apache2/mods-enabled. Jeżeli spojrzymy do katalogu /etc/apache2/mods-available, to znajdziemy tam moduły, które można opcjonalnie włączyć. Aby je aktywować należy je po prostu skopiować do folderu mods-enabled, ja proponuje włączyć je wszystkie, czyli:

cd /etc/apache2/mods-available
sudo cp * /etc/apache2/mods-enabled

w ten sposób aktywowaliśmy np. mod-rewrite odpowiedzialny za przyjazne linki na stronie www. Na koniec restartujemy serwer:

sudo service apache2 restart

To by było na tyle, serwer mamy uruchomiony i skonfigurowany.

PHP

Php to język programowania, głównie stosowany do tworzenia stron www oraz aplikacji internetowych. Jest równie popularny jak sam internet, dlatego też należy go bezwzględnie zainstalować. W Ubuntu będzie to:

sudo apt-get install php5

w ten sposób zainstalujemy sobie podstawowy pakiet bez żadnych dodatków. Zalecam wam jednak zainstalować również dodatki, ponieważ duża część CMS-ów czy też aplikacji może wam nie działać, ja zainstalowałem następujące:

sudo apt-get install php5-mysql
sudo apt-get install php5-mcrypt
sudo apt-get install php5-gd
sudo apt-get install php5-cli
sudo apt-get install php5-curl
sudo apt-get install php5-enchant
sudo apt-get install libapache2-mod-php5

jak zapewne już zauważyliście powyższe pakiety dodają obsługę m.in. apacha czy też mysql-a. Dla osób lubiących „grzebać” podam też ścieżkę do pliku konfiguracyjnego php:

/etc/php5/apache/php.ini

należy jednak zwrócić uwagę, że do normalnego zastosowania naszego serwera www, nie trzeba tutaj nic zmieniać.


Po instalacji wszystkiego restartujemy apacha. Sprawdzimy czy wszystko nam do tej pory działa, w tym celu tworzymy plik i nazywamy go:

info.php

otwieramy go i wklejamy:

<?php phpinfo() ?>

a następnie zapisujemy i przenosimy do folderu:

/var/www

następnie w Firefox-ie wpisujemy adres:

adres_IP/info.php
lub
localhost/info.php

powinno się pokazać okienko z informacją o php i jego modułach. Poza tym w dziale apache2handler można zobaczyć aktualnie włączone moduły apacha. W przyszłości, po doinstalowaniu jakichkolwiek modułów, można tutaj sprawdzić, czy zostały one włączone.

MySQL

MySQL to najpopularniejsza i najczęściej używana na świecie baza danych. Bez niej nie zadziała nam np. Joomla, WordPress ani całe mnóstwo innego oprogramowania.

instalujemy najpierw podstawowy pakiet:

sudo apt-get install mysql-server

po zainstalowaniu uruchamiamy go:

sudo service mysql start

następnie ustalamy hasło roota, np:

mysqladmin -u root password 12345

do zarządzania bazami najlepiej zainstalować phpmyadmin-a:

sudo apt-get install phpmyadmin

teraz wchodzimy do phpmyadmin, wpisując w Firefox-a:

localhost/phpmyadmin

w polu użytkownika wpisujemy root, a hasło takie jak ustaliliśmy wcześniej, na moim przykładzie było to 12345. Po zalogowaniu się będziemy mogli tworzyć nowych użytkowników, nowe bazy danych, nadawać różne prawa oraz zmieniać poszczególne ustawienia.

 

Podsumowanie

Po zainstalowaniu wszystkich trzech elementów (apache, php, mysql) będziemy mieli do dyspozycji pełnowartościowy serwer www. Możecie teraz spróbować wgrać WordPress-a i przetestować czy wszystko działa. Zastosowań dla własnego serwera jest dużo, szczególnie jest on przydatny np. dla osób tworzących strony www lub aplikacje internetowe. Ponadto możecie po prostu uruchomić swoją stronę domową albo firmową, choć do tego bardziej bym polecał zewnętrzny hosting (komputer musi być cały czas włączony). Ja osobiście wykorzystuję LAMP-a do uruchamiania aplikacji, które na normalnych hostingach zbyt mocno obciążają procesor.

Tagi: , , , , , ,

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>