Przygotowanie serwera LAMP na VPS‑ie
01.08.2012 10:31
Poprzedni wpis (Dylematy serwerowe... ) miał na celu przedstawienie zalet wynikających z korzystania z serwera VPS. Obecnie chciałbym uruchomić krótki cykl porad dotyczących konfiguracji i administracji takim serwerem, oczywiście porady te wykorzystać można również przy innych rozwiązaniach, np. serwerach dedykowanych, serwerze domowym. Jak już wspominałem w poprzednim wpisie firmą, z której usług korzystam na potrzeby tych publikacji jest VIBIZNES, stąd prezentowane poniżej screeny będą się odnosiły do panelu konfiguracyjnego tejże firmy. Porady kierowane są zarówno do osób, które są obeznane z systemem Linux i podobnymi tematami, jak i do osób, które o Linuxie gdzieś tam coś kiedyś słyszały (jednakże przynajmniej podstawowa wiedza z tego zakresu byłaby wskazana ;)). Postaram się tu wyjaśnić co dokładnie robimy, niemniej jednak w przypadku braku wyjaśnień z mojej strony lub po prostu nie zrozumienia tego o czym piszę zalecam skorzystać z "wujka Google".
Konto i co dalej?
Mając już założone konto oraz opłacone zmówienie na konkretny serwer musimy odczekać na jego aktywację, z reguły nie trwa to dłużej niż kilka - kilkanaście minut ale zawsze mogą zdarzyć się jakieś odstępstwa. Poniżej zamieszczam screeny prezentujące listę posiadanych serwerów oraz główny "panel sterowania" naszym VPS‑em.
Za pomocą panelu mamy możliwość sterowania naszą wirtualną maszyną. Do najważniejszych opcji należy zaliczyć wyłączanie, włączanie i restart serwera, możliwość reinstalacji systemu na naszym serwerze (szerzej o tym w dalszej części), zmiana hasła root-a (administratora), zmiana hasła do konsoli, zestaw statystyk oraz kilka bardziej lub mniej potrzebnych funkcji. Wszystko jest przejrzyste i czytelne więc nie ma problemów z odnalezieniem się w tym panelu. Przejdźmy teraz do podstawowej czynności jaką powinniśmy wykonać na naszej nowej wirtualnej maszynie. Jest to oczywiście wybór systemu operacyjnego, wybieramy więc reinstalacja i przechodzimy na następną podstronę.
Lista jest dość pokaźna choć brakuje na niej kilku zaktualizowanych dystrybucji. Otrzymujemy między innymi: CentoOS (wersje 5, 5.5, 6), Debian (5, 6), Fedora, Gentoo, OpenSUSE, Slackware oraz nieśmiertelne Ubuntu. Nie będę się tu zagłębiał w wyjaśnianie pochodzenia, przeznaczenia i wyższości poszczególnych dystrybucji nad innymi (po prostu nie ma sensu, w sieci można znaleźć mnóstwo inforamcji na ten temat, np. na DistroWatch ). Wszystko to oczywiście w wariantach 32- i 64‑bitowych z różnymi dodatkowymi modułami. Po wybraniu interesującej nas dystrybucji wybieramy opcję "Reinstaluj", musimy tu jeszcze potwierdzić nasz wybór i za kilka chwil mamy przeinstalowany system na naszym serwerze. Ja osobiście skorzystałem z Debiana 6 w wersji 64‑bitowej. Pozostaje jeszcze zmiana hasła administratora (polecam dokonać takiej zmiany ponieważ domyślnie ustawione jest hasło wygenerowane losowo, które otrzymaliśmy w mailu potwierdzającym zamówienie serwera) i przejdziemy do łączenia się z naszym VPS‑em.
Linux...
Osoby obeznane z Linuxem wiedzą, że istnieje coś takiego jak protokół SSH, tych którzy nie wiedzą co to jest informuję, iż jest to protokół umożliwiający terminalowe połączenie z komputerem zdalnym (w tym wypadku naszym serwerem). Najpopularniejszym programem umożliwiający podłączenie się do tego protokołu jest PUTTY. Będzie to nasze główne narzędzie do administracji serwerem.
Po uruchomieniu PUTTY ukazuje nam się okno jak na powyższym screenie, w którym to pozostaje nam jedynie w polu "Host Name" wpisać adres IP naszego serwera (widoczny w internetowym panelu sterowania) lub nazwę domeny, którą przypisaliśmy do tego IP. Mamy tu oczywiście możliwość zapisania naszej sesji, czyli po podaniu nazwy hosta wpisujemy nazwę sesji w polu "Saved Sessions" i klikamy Save. Dzięki temu zabiegowi nie będziemy musieli za każdym razem podawać trudnego do zapamiętania adresu IP tylko dwa razy klikniemy w nazwę sesji, pod którą zapisaliśmy dostęp do naszego serwera i już połączenie nawiązane ;).
Jako nazwę użytkownika podajemy root i wpisujemy hasło. Oczywiście wszelkie uzupełnianie czy komendy zatwierdzamy Enterem. Pierwszą i najważniejszą czynnością niech będzie aktualizacja pakietów zainstalowanych na naszym serwerze. Zaczniemy więc od aktualizacji źródeł komendą:
apt-get update
następnie zainstalujemy wszystkie aktualizacje:
apt-get upgrade
Samo polecenie apt-get wywołuje system zarządzania pakietami, który jest cechą szczególną Debiana i dystrybucji na nim bazujących. W bardzo prosty sposób umożliwia nam odnalezienie interesującego nas pakietu w repozytoriach, sprawdzenie jego zależności, pobranie i instalację. Po więcej informacji na temat APT odsyłam do Wikipedii.
Apache
Mając to już za sobą możemy sprawdzić czy nasz serwer w ogóle działa, wystarczy że w przeglądarce internetowej jako adres podamy http://adres-ip-naszego-VPS-a lub http://nazwa-naszej-domeny i naszym oczom powinna ukazać się strona testowa serwera Apache.
Serwer Apache odpowiada na żądania użytkowników kierowane na konkretne porty i wysyła do ich przeglądarek treści stron WWW domyślnie zamieszczonych w katalogu /var/www/. Apache jest podstawowym elementem naszego serwera i jest już domyślnie zainstalowany i skonfigurowany tak, że od razu możemy wrzucać nasze strony napisane w HTML-u do w/w katalogu i cieszyć się z poprawnie działającego serwera. Niestety jednak życie nie jest takie proste i to co mamy faktycznie w tej chwili skonfigurowane to proste udostępnianie treści HTML i tylko takich, nie ma mowy o skryptach napisanych w PHP, o podpięciu do naszych stron bazy danych, nie, to po prostu w tej chwili jeszcze nie działa. Ale zaraz zadbamy oto aby działało.
PHP
Zaczniemy od instalacji modułu PHP aby nadać naszym stronom większej funkcjonalności i nie ograniczać się jedynie do treści statycznych. Komenda do konsoli jest następująca:
apt-get install php5
Chwilę zajmie pobranie i instalacja pakietów przez system, a następnie możemy zrestartować serwer Apache żeby wprowadzone zmiany zaczęły funkcjonować.
/etc/init.d/apache2 restart
Teraz wypadło by sprawdzić czy wprowadzone zmiany faktycznie funkcjonują na naszym serwerze. Utworzymy więc nowy plik w katalogu /var/www/ o nazwie test.php i wypełnimy go następującą treścią:
<?php phpinfo(); ?>
Najprostszym sposobem na dodanie takiego pliku jest edytor vi, plik utworzymy za pomocą komendy:
vi /var/www/test.php
Po wprowadzeniu treści pliku zapisujemy go najpierw wychodzą z trybu edycji przy pomocy klawisza Esc, następnie wystukujemy Shift+: aby w prawie nie widocznej linii komend na dole pojawił nam się ":", a po nim w celu zapisania wciskamy w po czym Enter oraz w celu wyjścia z edytora po ":" wybieramy q po czym Enter. W ten sposób przygotowaliśmy plik dzięki, któremu sprawdzimy poprawność instalacji modułu PHP na naszym serwerze i przy okazji możemy sprawdzić jego konfigurację. Za pomocą przeglądarki wchodzimy na stronę http://nasz-serwer/test.php i naszym oczom powinna ukazać się strona o następującym lub podobnym wyglądzie.
MySQL
Od tej chwili możemy już pisać strony z wykorzystaniem języka PHP i wszystko powinno działać poprawnie. No tak, ale jeśli chcielibyśmy założyć bloga lub stronę z newsami najwygodniej by było gdyby nasza strona przechowywała takie treści w bazie danych. Najpopularniejszą bazą danych wykorzystywaną w internecie jest MySQL i to właśnie ją zainstalujemy i skonfigurujemy w kilku następnych krokach. Po pierwsze instalacja bazy:
apt-get install mysql-server
Podczas instalacji będziemy musieli podać hasło dla administratora (root) bazy, można to pole pozostawić puste ale ze względów bezpieczeństwa zaleca się wymyślenie jakiegoś trudnego do odgadnięcia hasła. Robi się to na wypadek gdyby ktoś chciał się dostać do naszej bazy danych i usunąć lub zmodyfikować treści znajdujące się w niej.
Mając już ustawioną bazę danych należy jeszcze umożliwić komunikację pomiędzy skryptami PHP i bazą za pomocą języka SQL, przy okazji zainstalujemy również narzędzie phpmyadmin służące do administracji bazą za pomocą interfejsu webowego.
apt-get install phpmyadmin
W trakcie instalacji będziemy musieli uzupełnić kilka informacji. Pierwszą z nich będzie wybór serwera do skonfigurowania razem z phpmyadmin-em, oczywiście wybieramy tu apache2 bo z takiego właśnie serwera korzystamy. Następnie phpmyadmin zapyta się nas czy ma sobie utworzyć bazę, która będzie niezbędna do jego funkcjonowania, oczywiście potwierdzamy. Ostatni etap instalacji to podanie haseł, najpierw hasło administratora bazy danych, a następnie hasło dla głównego użytkownika phpmyadmin. Do tego jeszcze raz restart serwera Apache aby wprowadzone zmiany odniosły skutki.
/etc/init.d/apache2 restart
Na potwierdzenie działania wszystkiego przechodzimy pod adres http://nasz-serwer/phpmyadmin i sprawdzamy czy ujrzymy ekran logowania do phpmyadmina.
Po zalogowaniu się możemy przeglądać, tworzyć i modyfikować bazy danych.
Podsumowanie
Tak oto w kilku prostych krokach skonfigurowaliśmy sobie serwer LAMP (Linux-Apache-MySQL-PHP) i możemy zacząć już publikować nasze strony w Internecie. Oczywiście musimy pamiętać, że treści, które będziemy chcieli udostępnić należy umieszczać w katalogu /var/www/. W następnym wpisie postaram się wyjaśnić w jaki sposób utworzyć konta dla dodatkowych użytkowników i jak skonfigurować serwer aby umieścić na nim kilka witryn posiadających oddzielne nazwy domen i znajdujących się w różnych katalogach. Ponad to zainstalujemy narzędzie do zarządzania naszym serwerem przy pomocy interfejsu webowego.
Coming soon...