Testowy serwer www na maszynie wirtualnej

Jeżeli ktoś bawi się w systemy zarządzania treścią czyli w tzw. CMS-y, to dobrze wie, że niekiedy po aktualizacji systemu do wyższej wersji część wtyczek może się posypać, szczególnie tych działających w trybie zgodności oraz autorskie pluginy. Nie jest przyjemna taka wpada na serwerze produkcyjnym, gdzie nagle połowa witryny nie działa. Lepiej przetestować to wszystko na środowisku testowym, poprawić i potem ewentualnie wdrażać.

W tym artykule pokaże jak postawić testową, podkreślam testową maszynę WWW pod systemem Ubuntu Server.

Zadanie administratorskie wykonywane są na koncie root-a a nie za pomocą sudo.  

Pomijam zagadnienie tworzenia i konfiguracji wirtualnej maszyny oraz szczegółowego opisu instalacji systemu.

Instalacja LAMP-a podczas instalowania systemu

Podczas instalacji systemu Ubuntu Server mamy możliwość wybrania jakie pakiety oprogramowania mają być instalowane:

Nasz szczególnie interesuje usługa LAMP, czyli Linux + Apache + PHP + MySQL oraz openssh. Po co openssh ? Gdyż system będzie pracował wirtualnie i dużo łatwiej będzie nam zarządzać serwerem przez ssh. Głupie wklejanie, kopiowanie łatwiej wykonywać poprzez np. Putty niż bezpośrednio na maszynie wirtualnej. Zaznaczamy więc pakiet LAMP oraz openssh i instalujemy system.

Kolejnym elementem instalacji to podanie hasła do roota bazy danych:

Wpisujemy hasło oraz powtarzamy go:

I rozpocznie się już właściwa instalacja.

Sprawdzanie IP

Aby móc połączyć się z serwerem, musimy znać jego adres IP. Sprawdzamy go poleceniem ifconfig:

Mój serwer akurat posiada adres 192.168.0.27 Należy go zapamiętać, bo będzie nam on potrzebny.

Dodatkowe oprogramowanie

Po instalacji mamy już gotową platformę LAMP. Jednak aby można było łatwo tworzyć, usuwać i inne cuda wykonywać na bazach danych, potrzebujemy phpmyadmin-a. Wykonujemy więc polecenie:

apt-get install phpmyadmin

Podczas instalacji zostanie zadane kilka pytań:

Na początku zostaniemy poproszeni o wpisanie hasła dla administratora bazy danych. Wpisujemy hasło takie samo jakie podawaliśmy przy konfiguracji bazy danych podczas instalacji systemu:

Tutaj podajemy hasło aplikacji MySQL do phpmyadmin. Nie musimy podawać swojego hasła. Jeżeli wybierzemy ok, program sam wygeneruje hasło.

W kolejnym oknie wybieramy, z jakim serwerem ma współpracować phpmyadmin:

Z tej racji, że mamy zainstalowany LAMP, wybieramy apache2 i czekamy, aż się wszystko skonfiguruje.

Po instalacji, aby phpmyadmin zadziałał, musimy wykonać jeszcze jeden myk. Wpisujemy:

nano /etc/apache2/apache2.conf

przewijamy do końca zawartość pliku i dopisujemy:

Include /etc/phpmyadmin/apache.conf

Zapisujemy zmiany.

Teraz musimy ponownie uruchomić apache.

/etc/init.d/apache2 restart

Po uruchomieniu wpisujemy w przeglądarkę:

ip_serwera/phpmyadmin

Powinno pojawić się nam coś takiego:

Serwer FTP

Phpmyadmin zainstalowany. Teraz pora na serwer FTP.

Jako serwer FTP posłużę się pakietem proftpd, gdyż miałem z nim najwięcej do czynienia.

Wpisujemy polecenie:

apt-get install proftpd

Podczas instalacji pokaże nam się owy komunikat:

wybieramy opcję Standalone i naciskamy Enter.

Po chwili proftpd zostanie zainstalowany.

Instalacja Webmin-a

Webmin posiada własne repozytorium, które musimy dodać. Wpisujemy zatem polecenie:

nano /etc/apt/sources.list

i na końcu pliku dodajemy:

deb http://download.webmin.com/download/repository sarge contrib

Zapisujemy plik. Teraz musimy dodać klucz. W tym celu wpisujemy:

wget http://www.webmin.com/jcameron-key.asc

po pobraniu:

apt-key add jcameron-key.asc

Klucz zostanie dodany. Teraz odświeżamy repozytoria:

apt-get update

i instalujemy webmina:

apt-get install webmin

Zmiana języka

Webmin domyślnie komunikuje się z nami po angielsku, jednak jest do wyboru język polski.

Wpisujemy w przeglądarkę:

https://adresserwera:10000

Akceptujemy certyfikat bezpieczeństwa i powinno nam się pojawić coś takiego:

Aby się zalogować, wpisujemy jako user root i hasło do niego.

Po zalogowaniu panel wygląda tak:

Aby zmienić język rozwijamy menu Webmin i wybieramy Change Language and Theme. Z kategorii Webmin UI language zaznaczamy opcję Personal Choice i szukamy języka Polskiego:

Klikamy na Make Changes i aby zmiany były widoczne, musimy się wylogować i zalogować ponownie.

Konfiguracja serwera FTP

Webmin gada już do nas po Polsku. Teraz zajmiemy się konfiguracją serwera FTP. Z lewej strony rozwijamy listę serwery i wybieramy serwer ProFTPD.

Wybieramy teraz opcję Pliki i katalogi:

Na nowej stronie w nagłówku Początkowy katalog logowania zaznaczamy drugą opcję i wpisujemy:

/var/www

Jest to domyślny katalog na pliki witryn. Zjeżdżamy na sam dół i klikamy na przycisk Zachowaj. Teraz musimy zezwolić, aby user root mógł łączyć się z serwerem FTP. Klikamy na Autoryzacja:

W nowej stronie w nagłówku Zezwolić na logowanie roota zaznaczamy opcję Tak. Klikamy na przycisk Zachowaj.

Teraz klikamy na Użytkownicy nie dopuszczeni do FTP:

W nowej stronie pojawi nam się spisz użytkowników, którzy nie mają prawa łączyć się z serwerem FTP. Odszukujemy tam konto root i usuwamy go. Aby zapisać zmiany klikamy na przycisk Zachowaj.

Ok. Wszystkie zmiany w serwerze FTP zostały wprowadzone. Teraz musimy wykonać jego restart. Na głównej stronie znajduje się przycisk Zastosuj zmiany:

Klikamy go. Gdy strona się przeładuje, oznacza to, że serwer FTP został zrestartowany.

Uruchamiamy witrynę

Mamy już wszystko skonfigurowane. Teraz musimy sprawdzić, czy serwer da radę uruchomić jakąś witrynę.

Na początku łączymy się z serwerem FTP. Ja pokaże to na przykładzie aplikacji FileZilla.

Uruchamiamy program i w odpowiednie pola wpisujemy następujące dane:

Serwer: IP naszego serwera

Nazwa użytkownika: root

Hasło: hasło do konta root-a

Port – pozostawiamy puste

Klikamy na Szybkie łączenie. Jeżeli wszystko przebiegnie zgodnie z planem, dostaniemy się do serwera.

Mamy połączenie. Teraz pasuje przekopiować jakieś pliki instalacyjne. Pobierzmy przykładowo Joomla, obojętnie jaką wersję. Ja pobiorę wersję 1.7. Nie będę omawiał pobierania i kopiowania plików na serwer ftp bo zakładam, że jest to wiadome.

Tutaj jeszcze jedna ważna uwaga. Jeżeli tworzymy np. folder joomla17 i do niego pakujemy pliki, to musimy dać mu chmody 777. Inaczej witryna nie będzie działać poprawnie. Jeżeli mamy utworzony folder, to w filezilli klikamy na niego prawym przyciskiem myszy, z menu wybieramy Prawa pliku i w nowym oknie jako Wartość numeryczna wpisujemy:

777

Klikamy na OK.

Teraz musimy utworzyć bazę danych. Wpisujemy w przeglądarkę:

ip_serwera/phpmyadmin

i logujemy się jako root

W polu:

Wpisujemy nazwę bazy danych np. joomla17 i klikamy na Utwórz. Baza danych utworzona. Teraz zainstalujemy silnik CMS.

W pasku adresu w przeglądarce wpisujemy:

ip_serwera/joomla17

Powinien pojawić nam się instalator:

Połowa sukcesu. Klikamy na Dalej. Pojawi nam się aktualne konfiguracja serwera. Dalej. Umowa licencyjna. Dalej.

Teraz musimy podać parametry do naszej bazy danych:

Typ bazy danych: MySQL

Nazwa serwera bazy danych: localhost

Nazwa użytkownika: root

Hasło: hasło do konta root

Nazwa bazy danych: podajemy taką samą nazwę bazy, jaką utworzyliśmy w phpmyadmin-ie.

Resztę ustawień pozostawiamy bez zmian. Dalej.

Jeżeli silnik nawiąże połączenie z bazą, pojawi nam się okno ustawień FTP. Nie chcemy tego. Klikamy na Dalej.

W tym oknie wpisywane dane zależą od nas. Możemy wpisać cokolwiek. Osobiście proponuję wciśnięcie przycisku Załaduj przykładowe dane:

Spowoduje to załadowanie domyślnego szablonu, układu tekstów, modułów itd. Klikamy na Dalej.

Na samym końcu zostaniemy poproszeniu o wywalenie katalogu instalacyjnego joomli. Przechodzimy do klienta ftp i szukamy folderu o nazwie installation. Jak go znajdziemy, to go usuwamy.

Po usunięciu folderu ukaże nam się ekran logowania do panelu oraz witryna

Artykuł pokazuje jak postawić TESTOWY serwer www. Nie polecam tej konfiguracji na serwer produkcyjny. Posłużyłem się kontem roota z tego powodu, iż z klienta FTP będziemy mieli pełną władzę przy modyfikowaniu plików. Można było oczywiście utworzyć osobne konto, ale to ma być serwer, na którym swoje wyczyny będzie testował webmaster a nie administrator.

Gdyby ktoś chciał zobaczyć jak wygląda tekst przelany na rzeczywistość, to poniższy film to pokazuje.

Testowy serwer WWW from Morfeusz888 on Vimeo.