Jak trwoga to do „boga" cz. 2 - SSH, LAMP, Joomla
23.07.2016 | aktual.: 17.08.2016 12:44
Previously...
W poprzednim moim wpisie "Jak trwoga to do "boga" cz.1 " skonfigurowaliśmy oprogramowanie VirtualBox wraz z maszyną wirtualną. Zainstalowaliśmy system Ubuntu Serwer wraz z oprogramowaniem openssh, bind9, mc, less, bzip2, unzip, zip, dnsutils. Na tak zaopatrzonym systemie operacyjnym skonfigurowaliśmy serwer SSH by łączyć się zdalnie do naszej maszyny wirtualnej. Skonfigurowaliśmy też i zobaczyliśmy jak działa własny serwer DNS. Wykonaliśmy wszystkie założenia z laboratorium lab 0 i lab 1. Zanim jednak przejdziemy dalej do wykonywania kolejnych zadań poddajmy analizie to co do tej pory zrobiliśmy.2625492
DNS
Pewnie zapis powyższego nagłówka na pierwszy rzut oka nie jest dla Ciebie zrozumiały , i nie dziwie Ci się. Prawdopodobnie nie znasz sposobu dzięki któremu, byś zamienił/zmieniła to na ciąg bardziej zrozumiały. Może poniższy obrazek troszkę Ci podpowie.
Od razu łatwiej prawda? Dokładnie tak samo działa serwer dns (w naszym przypadku oprogramowanie bind9) ma zdefiniowane domeny i przypisane do nich właściwy adres IP. W zasadzie to pozwala on na zamianę adresów znanych użytkownikom internetu na adresy zrozumiałe dla urządzeń tworzących siec komputerową. Tak, DNS nazwę mnemoniczną dobreprogramy.pl zamienia na odpowiadający jej adres IP, czyli 194.0.171.163. Dlatego po wpisaniu nazwy łatwej do zapamiętania dla ludzi a trudnej do interpretacji dla komputera, jesteśmy przekierowywania na odpowiedni adres gdzie kryje się strona portalu. Tak samo też było w naszym przypadku (podobnie - logika ta sama). Sprawdziliśmy adres IP domeny lab.lokalne narzędziem nslookup.
SSH
Nasz serwer SSH działa i nasłuchuje domyślnie na porcie 22 i przyjmie każde żądanie odpowiedzi od każdego, kto pozna adres IP naszego serwera. Komunikacja po SSH jest bezpieczna ponieważ w odróżnieniu od Telnetu jest szyfrowana (telnet przesyła dane otwartym tekstem przez sieć) i uwierzytelniana nas na kilka sposobów. Pierwszy poznałeś, jest nim uwierzytelnianie na podstawie hasła. Pozostałe to klucz (RSA, DSA) lub protokół kerberos.
Tu może urodzić się nam myśl jak zabezpieczyć się przed "szkodnikami" którzy, w grupie oprócz odpowiedniej wiedzy wyróżniają się też dużą tendencją do płatania figli. Zastanówmy się co wiemy.
- Po pierwsze jesteśmy leniwi i zapominalscy, więc jak Pan doktor Grzegorz Śliwiński podpowie nam by dla łatwiejszego zapamiętania dać hasło na użytkownika user user, tak też zrobimy.
- Po drugie port nasłuchu i komunikacji SSH zostanie domyślnie ustawiony podczas instalacji na 22 (w przypadku studentów ZUT jest on już zainstalowany i uruchomiony na serwerze z domyślnym hasłem).
- Po trzecie podejrzenie przez ramie adresu IP serwera kolegi nie będzie jakimś tam wielkim wyczynem.
Teraz wystarczy tylko zastanowić się na odpowiednim rozwiązaniem które, z jednej strony nie będzie od nas wymagało zapamiętania hasła, a z drugiej strony da nam gwarancję bezpiecznej i zarazem łatwej komunikacji.
[list] [item]Weryfikacja adresu IP z którego, się łączymy jest może i fajnym rozwiązaniem ale rodzi pewne problemy natury technicznej. Nie mamy pewności czy komputer przy którym, siądziemy zawsze będzie miał ten sam adres IP. Ustawienie adresu IP serwera RDC też mija się z celem - inni też mają do niego dostęp.[/item]
[item]Zmiana portu z domyślnego 22 na inny jest już lepszym rozwiązaniem, ale to też kwestia czasu kiedy to ktoś podejrzy nasze ustawień które to, będziemy wpisywali do putty.[/item]
[item]Najlepszym rozwiązaniem wydaje się zastosowanie certyfikatu. Certyfikat taki możemy wygenerować dzięki puttygen na zdalnym RDC lub lokalnym komputerze. Plik z certyfikatem możemy przechowywać na dysku sieciowym do którego, mamy jedynie my dostęp w ramach konta uczelnianego. Dzięki takiemu rozwiązaniu unikniemy zapamiętywania niestandardowego hasła, odgadnięcia naszego portu, oraz problemu z łatwym hasłem. Niegroźne też już będą ataki "przez ramię".[/item][/list]
Zatem pobieramy aplikację puttygen.
Uruchamiamy ją ustawiamy SSH‑2 RSA, liczbę bitów w naszym kluczu (pole Number of in generated key) na większą niż 1024 i generujemy klucz poprzez naciśniecie przycisku Generate.
Wygenerowanie klucza będzie zależne od losowości wygenerowanych liczb na podstawie ruchów naszą myszą w wyznaczonym obszarze aplikacji.
Po wygenerowaniu klucza ujrzymy okno podobne do tego prezentowanego przeze mnie. Będziemy mogli uzupełnić komentarz klucza o własny wpis oraz wygenerować parę kluczy publiczny i prywatny
Klucz publiczny musimy otworzyć do edycji (polecam program notepad++ ) i zapisać go w miej więcej takiej formie. Kasując dwie pierwsze linie i ostatnie oraz wszystko zapisując w jednym ciągu na początku dopisując ssh‑rsa.
Teraz wystarczy na naszym serwerze w katalogu danego użytkownika (np user) utworzyć ukryty katalog .ssh (W Linuxie ukryte pliki/katalogi zaczynają się od kropki i nie jest to wymuszane tak jak w Windows za pomocą atrybutu).
mkdir .ssh
Nadać mu odpowiednie uprawnienia co nie powinno być dla Ciebie już problemem.
chmod 700 .ssh
Przechodzimy do nowo utworzonego katalogu.
cd .ssh
Tworzymy nowy plik.
nano authorized_keys
Kopiujemy zawartość pliku z naszym publicznym kluczem i wklejamy do nowo utworzonego pliku w naszym terminalu SSH.
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==
Zmieniamy uprawnienia do tego pliku
chmod 600 authorized_keys
Przełączamy się na roota
su - Password: root@dp:~#
Otwieramy do edycji plik sshd_config
nano /etc/ssh/sshd_config
Odszukujemy linię 51 i usuwamy znak komentarza # oraz zmieniamy wartość na "no"
PasswordAuthentication no
Teraz tylko restart ssh i po rozłączeniu możemy logować się już za pomocą certyfikatu
/etc/init.d/ssh restart [ ok ] Restarting OpenSSH Secure Shell server: sshd.
Na koniec konfiguracja putty gdzie wskażemy klucz prywatny
Od teraz możemy cieszyć się bezpiecznym logowaniem z użyciem klucza. Nadal będziemy podawali nazwę użytkownika jednak bez samego klucza nie zostaniemy uwierzytelnieni.
Dobra czas wrócić do laboratorium bo czas nas goni. Zatem...
Linux, Apache, MySQL i PHP w jednym domu stały
Nadal lekko zagubiony jesteś jeżeli chodzi o DNS? Lepszy pogląd na całą sytuację da nam wykonanie laboratorium numer 2 które, możesz obejrzeć na portalu youtube. Poniżej tak jak poprzednio znajdzie się swoisty opis tego ćwiczenia. Tak więc zaczynamy. [youtube=https://www.youtube.com/watch?v=vp1dfojg5ns]
Laboratorium 2
W tym laboratorium zajmiemy się LAMP (czyli Linux, Apache, MySQL i PHP ). Nim na początku zainstalujemy odpowiednie pakiety musimy sobie wyrobić taki odruch, aktualizacji listy pakietów i oprogramowania dostępnego dla naszego serwera. Nawyk ten spowoduje że, nie będziemy mieli problemów z instalacją oprogramowania na naszej platformie.
[Uwaga] Oprogramowanie zmienia się bardzo szybko, ale nie aż tak szybko. Wydanie polecenia raz w ciągu danego dnia podczas instalacji pakietów wystarczy, nie ma potrzeby wydawania go przed każda instalacją pakietu. Co innego gdy zmienimy listę naszych pakietów wtedy musimy wydać polecenie aktualizacji.
Przypominam polecenie:
sudo apt-get update && sudo apt-get upgrade
LAMP – zestaw oprogramowania open source stanowiący popularną platformę serwerową dynamicznych stron WWW: [list] [item]Linux (system operacyjny)[/item][item]Apache (serwer WWW)[/item][item]MariaDB / MySQL (serwer bazy danych)[/item][item]Perl, PHP, ew. Python, Primate (język skryptowy)[/item][/list] Pomimo że żaden z tych elementów nie został stworzony specjalnie do współdziałania z pozostałymi, taki zestaw oprogramowania jest bardzo popularny ze względu na niski koszt i dostępność wszystkich komponentów (m.in. są dołączane do większości dystrybucji Linuksa). Akronim LAMP został stworzony przez Michaela Kunze w artykule dla niemieckiego magazynu komputerowego c't. Celem artykułu było wskazanie zestawu darmowego oprogramowania, który mógł stanowić alternatywę dla oprogramowania komercyjnego. Znając zamiłowanie środowiska informatycznego do akronimów, Kunze stworzył LAMP jako chwytliwy sposób popularyzacji wolnego oprogramowania (w jęz. angielskim słowo „lamp” oznacza lampę). Wśród anglojęzycznych informatyków termin LAMP został rozpowszechniony przez wydawnictwo O’Reilly i producentów MySQL. Istnieją odmiany tego zestawu oprogramowania i co za tym idzie akronimu: LAPP (gdzie MariaDB jest zastąpiona przez PostgreSQL), LASP (gdzie MariaDB jest zastąpiona przez SQLite), LNMP (gdzie Apache jest zastąpiony przez nginx), LLMP (gdzie Apache jest zastąpiony przez lighttpd), WAMP (Microsoft Windows zamiast Linuksa), FAMP (FreeBSD) oraz samo AMP (pominięty system operacyjny – wariant lansowany przez Apple Inc.). Oprogramowanie, na którym działa Wikipedia, jest również platformą LAMP – MediaWiki stworzone na Linuksie, korzysta z serwera Apache, dane z kolei przechowuje baza danych MySQL, a językiem skryptowym jest PHP (poprzednio Perl).
zródło -Wikipedia
Przystąpmy do instalacji pakietów odpowiedzialnych za LAMPa, można to zrobić prostą komendą która, zainstaluje nam wszystkie pakiety:
sudo apt-get install apache2 php5 mysql-server php5-mysql phpmyadmin
Lub pojedynczo, instalując każdy pakiet oddzielnie:
sudo apt-get install <nazwa_pakietu>
Nim jednak przystąpisz do instalacji zatrzymaj się chwileczkę i rozważ który, sposób instalacji wybierzesz. Instalowane pakiety wymagają od użytkownika interakcji. W przypadku pakietu MySQL jest to skonfigurowanie nazwy użytkownika głównego administratora do bazy danych a w przypadku pakietu phpMyAdmin podania parametrów logowania do bazy danych oraz utworzenia hasła dla użytkownika phpmyadmin. Trochę wyszło to zagmatwane. Ułatwimy to sobie troszeczkę, instalując każdy pakiet osobno. Wtedy będzie łatwiej nam zrozumieć i okiełznać te komunikaty a przy okazji poznamy każdy pakiet z osobna.
Apache
Pierwszym pakietem od którego najlepiej zacząć jest instalacja pakietu Apache2 - będzie on pełnił rolę naszego serwera www i będzie dostępny pod adresem IP naszego serwera lub gdy wpiszemy http://lab.lokalne. U mnie był to adres 192.168.0.XXX (wstawiam XXX gdyż ćwiczenia nie udało mi się zrobić ciągiem i adres IP był przydzielany u mnie automatycznie).
Apacha2 zainstalujemy poleceniem:
sudo apt-get install apache2
Po samej instalacji pakiet jest już gotowy i nie wymaga żadnej konfiguracji do działania. Sprawdźmy to podając w przeglądarce na pasku adresu adres IP komputera z naszym systemem Ubuntu Serwer.
Zostańmy na chwile z Apache2 nim przejdziemy do instalacji kolejnych pakietów. Zadajmy sobie pytanie. Czym tak naprawdę jest ten nasz Apache2? Apache2 jest jak już wspomniałem serwerem działającym na protokole http i https. Oprogramowanie to jest oprogramowaniem otwartym i dostępnym na wielu systemach operacyjnych (m.in. Unix, Linux, BSD, OS X, Windows). Pliki konfiguracyjne są przechowywane w /etc/apache2/. Plik ze stroną główną która, nam się wyświetli po wpisaniu adresu http://lab.lokalne naszego serwera w pasku adresu naszej przeglądarki znajduje się w /var/www/html (ścieżka ta może się różnic w zależności od dystrybucji, wersji Apache oraz może być też konfigurowalna - zmieniona).
Wybiegnę trochę poza zakres ćwiczenia, ale tym właśnie miał być ten wpis uzupełnieniem do filmu które, gdyby się w nim pojawiło strasznie by go wydłużyło. Wspomniane pliki konfiguracyjne Apache2 które, znajdują się w /etc/apache2/ są zwykłymi plikami tekstowymi. Przyjrzyjmy się trochę im i poznajmy ich zadania.
[list] [item]apache2.conf:
Główny plik konfiguracyjny Apache2. Zawiera ustawienia, które są globalne dla Apache2.[/item] [item]httpd.conf:
Historycznie główny plik konfiguracyjny Apache2, nazwany na cześć demona httpd. Teraz tego plik nie ma. W starszych wersjach Ubuntu plik może być obecny, ale pusty, a wszystkie opcje konfiguracyjne zostały przeniesione do opisanych plików/katalogów.[/item] [item]conf-available:
Ten katalog zawiera dostępne pliki konfiguracyjne. Wszystkie pliki, które wcześniej były w /etc/apache2/conf.d powinny zostać przeniesione do /etc/apache2/conf-available.[/item] [item]conf-enabled:
Posiada dowiązania do plików w /etc/apache2/conf-available. Gdy plik konfiguracyjny jest dowiązany, to zostanie włączony przy ponownym restarcie Apache2.[/item] [item]envvars:
Plik, w którym są ustawione Apache2 zmienne środowiskowe.[/item] [item]mods-available:
Ten katalog zawiera pliki konfiguracyjne dla modułów. Nie wszystkie moduły będą miały tu swe pliki konfiguracyjne.[/item] [item]mods-enabled:
Posiada dowiązania do plików w /etc/apache2/mods-available. Gdy plik konfiguracyjne modułu są dowiązane to zostaną włączone przy następnym restarcie Apache2.[/item] [item]ports.conf
Dyrektywy, które określają, które porty TCP Apache2 nasłuchują.[/item] [item]sites-available:
Ten katalog zawiera pliki konfiguracyjne dla Apache2 hostów wirtualnych. Wirtualne hosts allow Apache2 powinno być skonfigurowane do obsługi wielu witryn, które mają osobne konfiguracje.[/item] [item]sites-enabled:
Jak w mods-enabled, strony obsługujące zawierające dowiązania do /etc/apache2/sites-available/<katalogu>/. Podobnie, gdy plik konfiguracyjny stron jest dowiązany, strony konfigurowane przez niego będą aktywne po ponownym uruchomieniu Apache2.[/item] [item]magic:
Instrukcje określające typ MIME na podstawie kilku pierwszych bajtów pliku.[/item][/list]
Ponadto inne pliki konfiguracyjne mogą być dodawane przy użyciu dołączonych dyrektywy z symbolami wieloznacznymi by swym zakresem obejmować wiele plików konfiguracyjnych. Każda dyrektywa może być umieszczony w dowolnym z tych plików konfiguracyjnych. Zmiany głównych plików konfiguracyjnych są rozpoznawane przez Apache2 po ponownym uruchomieniu usługi.
PHP 5
Kolejnym w kolejności pakietem którego, będziemy instalować w ramach tego ćwiczenia jest pakiet php. Pakiety które, będą nam potrzebne do wykonania ćwiczenia to php5 i php5-mysql instalujemy je wydając komendę:
sudo apt-get install php5 php5-mysql
Pakiety te w zupełności wystarczą, jednak gdybyś chciał doinstalować inne pakiety do swojego php wykonaj poniższą komendę by sprawdzić jakie są dostępne w ramach wersji php5:
sudo apt-cache search php5-
Rezultat:
php5-cgi - server-side, HTML-embedded scripting language (CGI binary) php5-cli - command-line interpreter for the php5 scripting language php5-common - Common files for packages built from the php5 source php5-curl - CURL module for php5 php5-dbg - Debug symbols for PHP5 php5-dev - Files for PHP5 module development php5-gd - GD module for php5 php5-gmp - GMP module for php5 php5-ldap - LDAP module for php5 php5-mysql - MySQL module for php5 php5-odbc - ODBC module for php5 php5-pgsql - PostgreSQL module for php5 php5-pspell - pspell module for php5 php5-recode - recode module for php5 php5-snmp - SNMP module for php5 php5-sqlite - SQLite module for php5 php5-tidy - tidy module for php5 php5-xmlrpc - XML-RPC module for php5 php5-xsl - XSL module for php5 php5-adodb - Extension optimising the ADOdb database abstraction library php5-auth-pam - A PHP5 extension for PAM authentication [...]
Instalacja dodatkowych modułów możemy wykonać poleceniem
sudo apt-get install <nazwa_modułu><nazwa_modułu><..itd..>
Poprawność konfiguracja oraz czy interpreter PHP działa możesz sprawdzić tworząc plik w katalogu /var/www/html/ o nazwie info.php
nano /var/www/html/info.php
oraz dokonując w tym pliku wpisu:
<?php phpinfo(); ?>
Pamiętajcie o tym by restartować Apacha2 po zmianach w plikach konfiguracyjnych - a taką zmianą jest instalacja php i odpowiednich modułów.
sudo service apache2 restart
Po uruchomienie usługi Apache2 możemy przejść do przeglądarki i w adresie połączyć się ze stroną http://192.168.0.XXX/info.php lub http://lab.lokalne/info.php i naszym oczom powinien pokazać się obraz podobny do tego:
Gdyby jednak był problem z wyświetleniem tej strony zmień uprawnienia do pliku info.php
chown www-data:www-data /var/www/html/info.php
Czym tak naprawdę jest to PHP - interpretowany skryptowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym. PHP stosowany jest do tworzenia skryptów po stronie serwera WWW, ale może być on również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym (np. za pomocą biblioteki GTK+, używając rozszerzenia PHP‑GTK).
Tak mamy zainstalowane Apache2 i PHP5 do szczęścia brakuje nam jeszcze tylko MySQL i phpMyAdmin.
MySQL i phpMyAdmin
MySQL od Oracla jest serwerem baz danych a phpMyAdmin graficzną nakładka na ten serwer obsługiwaną przez stronę internetową. MySQL i phpMyAdmin zainstalujemy wydając odpowiednią komendę w konsoli naszego SSH.
sudo apt-get install mysql-server phpmyadmin
Podczas instalacji będą wyskakiwać okna interakcji z użytkownikiem.
W którym, należy podać hasło dla konta administracyjnego w bazie danych MySQL - nie mylić z kontem root systemu. Pamiętamy zasadę że, w środowisko testowym dajemy proste łatwo zapamiętywane hasła a w środowisku produkcyjny jak najbardziej losowe i skomplikowane. Dobra praktyka jest taka by hasło było inne niż na użytkownika root systemu.
Potwierdzamy wpisane hasło w poprzednim oknie.
Wskazujemy serwer Apache2 jako ten który ma być prze-konfigurowany do właściwej współpracy z phpMyAdmin.
Na pytanie o załadowanie bazy dla platformy phpMyAdmin odpowiadamy twierdząco - jest ona potrzebna do prawidłowego działania i funkcjonowania phpMyAdmin. Konfiguracja ta zawiera wszystkie ustawienia niezbędne do działania platformy.
Podajemy hasło utworzone dla użytkownika administracyjnego do bazy danych MySQL - czyli tak zwanego roota MySQL - nie mylić z rootem Linuxa to jest inne hasło.
Tworzymy teraz hasło dla użytkownika phpmyadmin - tu taka sama zasada hasło w środowisku testowym dajemy proste łatwe do zapamiętania a w środowisku produkcyjnym zmieniamy na jak najbardziej losowe, skomplikowane i trudne do odgadnięcia.
Powtarzamy hasło wpisane w kroku poprzednim.
Na koniec wystarczy tylko zrestartować Apache2 - pamiętamy że, do poprawnego działania po zmianie w plikach konfiguracyjnych potrzebny jest restart - MySQL i phpMyAdmin takiej modyfikacji dokonało.
sudo /etc/init.d/apache2 restart
Komunikatem o podanej treści się nie przejmujemy.
Dla ciekawskich:
nano /etc/apache2/apache2.conf
ServerName "TwojaDomena.pl"
service apache2 restart
Działanie phpMyAdmin możemy sprawdzić wpisując w przeglądarce na pasku adresu, adres naszego Serwera - http://192.168.0.XXX/phpmyadmin lub http://lab.lokalne/phpmyadmin
Spostrzegawcze osoby mogą zapytać się gdzie znajduje się folder phpmyadmin, ponieważ próżno go szukać w katalogu /var/www/html/
Mają rację ponieważ plik z całą konfiguracją znajduje się w /etc/apache2/conf-available/phpmyadmin.conf a dokładnie dowiązanie do pliku z konfiguracją. Pamiętamy o funkcjach plików i katalogów Apacha2. Zawartość pliku prezentuje się następująco.
Ustawienie Aliasu w pliku wskazuje na katolog w /usr/share/phpmyadmin i tam przechowywana jest strona którą, otrzymujemy po wpisaniu http://lab.lokalne/phpmyadmin Wróćmy do naszego panelu zarządzania phpMyAdmin i zalogujmy się na użytkownika root MySQL lub phpmyadmin z hasłem podanym podczas instalacji.
Po poprawnym zalogowaniu powinniśmy zobaczyć panel administracyjny zarządzania bazami SQL.
Gdyby pojawił się wam taki błąd jak u mnie trzeba sprawdzić konfigurację i zainstalowane moduły.
Instalujemy moduł php5-mcrypt. Komunikat zwrotny poinformuje nas czy dany moduj jest już zainstalowany. Gdy komunikat będzie informował o tym że dany moduł już jest zainstalowany należy utworzyć odwołanie symboliczne do niego w katalogu /etc/php5/mods-available
Odwołanie symboliczne tworzymy za pomocą polecenia
ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
W przypadku błędu o tym że, dany plik już istnieje(mamy już utworzone odwołanie symboliczne). Należy zlokalizować ten plik.
Zanim przystapimy do lokalizacji zaktualizujmy informacje o wszystkich plikach w systemie. Służy do tego polecenie
updatedb
Następnie wyszukujemy nasz pliku konfiguracyjny mcrypt.ini - w tym pliku jest informacja z jakiej biblioteki korzysta ten plik konfiguracyjny czyli samo mcrypt. Służy do tego polecenie locate
locate mcrypt.ini
oraz biblioteki mcrypt.so (szukany plik z biblioteką) poleceniem
locate mcrypt.so
Edytujemy nasz odszukany plik /etc/php5/mods-available/mcrypt.ini poleceniem
nano /etc/php5/mods-available/mcrypt.ini
W edytowanym pliku mcrypt.ini poprawiamy linię numer 2 z słowem extension i tu wklejamy ścieżkę do naszego pliku mcrypt.so - w moim przypadku to /usr/lib/php5/20121212+lfs/mcrypt.so
Po edycji i zapisaniu zmian należy wydać polecenie aktywujące moduł
php5enmod mcrypt
Jeszcze tylko restart Apache2 i MySQL - będę powtarzał to do bólu, po zmianie w konfiguracji restart usługi.
/etc/init.d/apache2 restart /etc/init.d/mysql restart
Po ponownym zalogowaniu do phpMyAdmin możemy cieszyć się działającym panelem administracyjnym MySQL bez komunikatu o błędzie w mcrypt.
Teraz weźmy się za konfiguracje bazy danych z poziomu phpMyAdmin.
Wybieramy bazę "mysql" a następnie tabelę "user"
Zakładamy nowego użytkownika o nazwie joomla dla hosta localhost oraz funkcję "Password" dla pola z hasłem gdzie podamy hasło dla naszego użytkownika. Nie dajemy żadnych uprawnień.
Na koniec klikamy wykonaj by dodać zmiany.
Komunikatem o błedzie a w zasadzie ostrzeżeniem nie przejmujemy się.
Następnie przechodzimy do tabeli "db"
Wykonujemy dodanie rekordu i przypisujemy wszystkie uprawnienia dla użytkownika joomla do nowej bazy danych joomla przypisując wszystko do localhost
Tworzymy nowa baze joomla.
Baza gotowa, należy jednak przekazać zmiany serwerowi poprzez jego przeładowanie.
Możemy to zrobić w zapytaniach SQL w phpMyAdmin lub z wiersza poleceń logując się do wiersza zapytań SQL.
Wylogujmy się z portalu phpMyAdmin. Testujemy możliwość logowania się na użytkownika joomla. Po udanym zalogowaniu przyjdzie nam teraz pobranie instalacji Joomla na nasz serwer.
Na początku utworzymy katalog joomla w /var/www/html/ poleceniem
mkdir /var/www/html/joomla
Zmieńmy uprawnienia dla katalogu joomla
chmod 0777 /var/www/html/joomla
Przejdźmy do katalogu joomla w /var/www/html/joomla i pobierzmy tu instalacje joomla w archiwum zip poleceniem:
wget https://github.com/joomla/joomla-cms/releases/download/3.6.0/Joomla_3.6.0-Stable-Full_Package.zip
Wypakujmy zawartość archiwum do katalogu joomla poleceniem:
cd /var/www/html/joomla uzip Joomla_3.6.0-Stable-Full_Package.zip
Po rozpakowaniu archiwum z CMS Joomla przechodzimy do przeglądarki internetowej i w pasku adresowym przeglądarki wpisujemy adres naszego serwera http://192.168.0.XXX/joomla (zamiast adresu IP możesz używać http://lab.lokalne/joomla w końcu działa u nas serwer DNS który, domenę lab.lokalne mapuje nam na adres IP naszego serwera.)
Uzupełniamy konfigurację witryny.
Uzupełniamy parametry logowania do bazy danych.
konfiguracja serwera ftp pomijamy.
W podsumowaniu ustawiamy by Joomla zaimportował nam przykładowe dane.
Gratulację! Udało Ci się zainstalować Joomla. Klikamy tylko jeszcze usuń katalog instalacyjny.
Gdy pojawi się komunikat o błędzie usunięcia katalogu instalacyjnego możemy go usunąć ręcznie poleceniem:
rm -rf /var/www/html/joomla/instalation
Po usunięciu katalogu instalacyjnego możemy cieszyć się działającą witryną i CMS Joomla.
Koniec laboratorium 2.
P.S. Czekam na wasze komentarze i uwagi do już dwóch wpisów "Jak trwoga to do "boga"" Dzięki.
P.S. 2 - W artykule jest ukryta zagadka, rozwiązanie w trzeciej części - miłego polowania