Blog (18)
Komentarze (134)
Recenzje (0)
@themamuthJak trwoga to do „boga" cz. 2 - SSH, LAMP, Joomla

Jak trwoga to do „boga" cz. 2 - SSH, LAMP, Joomla

23.07.2016 00:09, aktualizacja: 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.

Klawiatura telefonu komórkowego.
Klawiatura telefonu komórkowego.

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.

Puttygen - ustawienia.
Puttygen - ustawienia.

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.

Puttygen - generacja klucza.
Puttygen - generacja klucza.

Wygenerowanie klucza będzie zależne od losowości wygenerowanych liczb na podstawie ruchów naszą myszą w wyznaczonym obszarze aplikacji.

Puttygen - zapisz klucza publicznego i prywatnego.
Puttygen - zapisz klucza publicznego i prywatnego.

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

Edytowanie klucza publicznego.
Edytowanie klucza publicznego.

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.

Edytowanie klucza publicznego.
Edytowanie klucza publicznego.

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

Konfiguracja ścieżki klucza prywatnego w putty.
Konfiguracja ścieżki klucza prywatnego w putty.

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.

Strona startowa apache.
Strona startowa apache.

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]

Lista plików/katalogów w folderze apache2
Lista plików/katalogów w folderze apache2

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:

info.php
info.php

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.

MySQL - okno interakcji.
MySQL - okno interakcji.

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.

MySQL - okno interakcji.
MySQL - okno interakcji.

Potwierdzamy wpisane hasło w poprzednim oknie.

phpMyAdmin - okno interakcji.
phpMyAdmin - okno interakcji.

Wskazujemy serwer Apache2 jako ten który ma być prze-konfigurowany do właściwej współpracy z phpMyAdmin.

phpMyAdmin - okno interakcji.
phpMyAdmin - okno interakcji.

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.

phpMyAdmin - okno interakcji
phpMyAdmin - okno interakcji

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.

phpMyAdmin - okno interakcji
phpMyAdmin - okno interakcji

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.

phpMyAdmin - okno interakcji
phpMyAdmin - okno interakcji

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
Komunikat z Apache2
Komunikat z Apache2

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

Panel logowania phpMyAdmin
Panel logowania phpMyAdmin

Spostrzegawcze osoby mogą zapytać się gdzie znajduje się folder phpmyadmin, ponieważ próżno go szukać w katalogu /var/www/html/

Terminal przegląd katalogu /etc/apache2/conf-available/
Terminal przegląd katalogu /etc/apache2/conf-available/

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.

Podgląd pliku phpmyadmin.conf
Podgląd pliku phpmyadmin.conf

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.

Panel zarządzania phpMyAdmin
Panel zarządzania phpMyAdmin

Po poprawnym zalogowaniu powinniśmy zobaczyć panel administracyjny zarządzania bazami SQL.

Błąd w phpMyAdmin
Błąd w phpMyAdmin

Gdyby pojawił się wam taki błąd jak u mnie trzeba sprawdzić konfigurację i zainstalowane moduły.

Instalujemy moduł php5-mcrypt.
Instalujemy moduł php5-mcrypt.

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.
Odwołanie symboliczne.

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.

Aktualizacja informacji o plikach.
Aktualizacja informacji o plikach.

Zanim przystapimy do lokalizacji zaktualizujmy informacje o wszystkich plikach w systemie. Służy do tego polecenie

updatedb
Wyszukujemy pliku konfiguracyjny mcrypt.ini
Wyszukujemy pliku konfiguracyjny mcrypt.ini

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
Wyszukanie biblioteki mcrypt.so
Wyszukanie biblioteki mcrypt.so

oraz biblioteki mcrypt.so (szukany plik z biblioteką) poleceniem

locate mcrypt.so
Edycja pliku mcrypt.ini
Edycja pliku mcrypt.ini

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

php5enmod mcrypt
php5enmod mcrypt

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
phpMyAdmin - okno bez błędu.
phpMyAdmin - okno bez błędu.

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.

phpMyAdmin - menu boczne
phpMyAdmin - menu boczne

Wybieramy bazę "mysql" a następnie tabelę "user"

phpMyAdmin edycja/dodawanie
phpMyAdmin edycja/dodawanie

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ń.

phpMyAdmin - wykonaj zapytanie.
phpMyAdmin - wykonaj zapytanie.

Na koniec klikamy wykonaj by dodać zmiany.

phpMyAdmin - błąd o braku deflautowych wartośći
phpMyAdmin - błąd o braku deflautowych wartośći

Komunikatem o błedzie a w zasadzie ostrzeżeniem nie przejmujemy się.

phpMyAdmin - menu boczne
phpMyAdmin - menu boczne

Następnie przechodzimy do tabeli "db"

phpMyAdmin - dodawanie/edycja
phpMyAdmin - dodawanie/edycja

Wykonujemy dodanie rekordu i przypisujemy wszystkie uprawnienia dla użytkownika joomla do nowej bazy danych joomla przypisując wszystko do localhost

phpMyAdmin - tworzenie bazy danych
phpMyAdmin - tworzenie bazy danych

Tworzymy nowa baze joomla.

phpMyAdmin - menu górne
phpMyAdmin - menu górne

Baza gotowa, należy jednak przekazać zmiany serwerowi poprzez jego przeładowanie.

Przeładowanie uprawnień.
Przeładowanie uprawnień.

Możemy to zrobić w zapytaniach SQL w phpMyAdmin lub z wiersza poleceń logując się do wiersza zapytań SQL.

Wykonane zapytanie SQL
Wykonane zapytanie SQL
phpMyAdmin
phpMyAdmin

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.)

Pierwsza strona konfiguracyjna systemu CMS Joomla.
Pierwsza strona konfiguracyjna systemu CMS Joomla.

Uzupełniamy konfigurację witryny.

Uzupełniamy informację o parametrach bazy danych.
Uzupełniamy informację o parametrach bazy danych.

Uzupełniamy parametry logowania do bazy danych.

Konfiguracje FTP pomijamy.
Konfiguracje FTP pomijamy.

konfiguracja serwera ftp pomijamy.

Podsumowanie instalacji oraz import przykładowych danych
Podsumowanie instalacji oraz import przykładowych danych

W podsumowaniu ustawiamy by Joomla zaimportował nam przykładowe dane.

Pozostało tylko usunąć katalog instalacyjny Joomla
Pozostało tylko usunąć katalog instalacyjny Joomla

Gratulację! Udało Ci się zainstalować Joomla. Klikamy tylko jeszcze usuń katalog instalacyjny.

Błąd o niemożliwości usunięcia katalogu instalacyjnego
Błąd o niemożliwości usunięcia katalogu instalacyjnego

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
Działająca strona CMS Joomla
Działająca strona CMS Joomla

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

Wybrane dla Ciebie
Komentarze (15)