LAMP w Windows Azure – Część II

W kolejnej, drugiej części poradnika o instalacji LAMP  w Windows Azure zainstalujemy i skonfigurujemy Apache’a, PHP, MySQL’a i PHPMyAdmin’a. Zabezpieczymy także folder PHPMyAdmina hasłem, aby zapobiec nieautoryzowanym logowaniom.

Poprzednia część poradnika poświęcona była stworzeniu nowej maszyny w Windows Azure, link do niej znajduje się tutaj – Instalacja LAMP(Linux, Apache, MySQL, PHP) w środowisku Windows Azure. Czas więc rozpocząć działanie i konfigurację 😉

Instalacja Apache’a

Na samym początku musimy połączyć się do serwera SSH przy użyciu PuTTY, zalogować się a następnie zaktualizować listę pakietów dostępnych w naszym systemie. Robimy to poleceniem:
sudo apt-get update
Czekamy kilka sekund aż listy zostaną zaktualizowane a my powrócimy do wiersza poleceń. Kolejnym krokiem jest instalacja pakietu Apache2, naszego podstawowego serwera WWW, który jest fundamentem LAMP. Instalację przeprowadzamy również używając sudo apt-get:
sudo apt-get install Apache2
Po wpisaniu tego polecenia i naciśnięciu entera zostaniemy poproszeni o potwierdzenie instalacji dodatkowych pakietów, poprzez naciśnięcie Y.
Po zainstalowaniu tego serwera będziemy mogli sprawdzić, czy zainstalował się on poprawnie, używając adresu HTTP:
http://<nazwa naszego serwera>/
Jeżeli wszystko wykonaliśmy poprawnie, nasza strona będzie wyglądać tak:

[singlepic id=9]

Czas więc przejść do kolejnego etapu, czyli instalacji serwera baz danych.

Instalacja MySQL

Instalacja MySQL’a jest prosta i sprowadza się również do wpisania aż jednego polecenia w zdalnym terminalu:
sudo apt-get install mysql-server php5-mysql
i naciśnięciu Entera. Po potwierdzeniu chęci instalacji dodatkowych pakietów i odczekaniu kilku sekund zostaniemy poproszeni o ustawienie hasła użytkownika root czyli naszego administratora bazy danych. [singlepic id=11]Wpisujemy hasło, naciskamy enter i jeszcze raz wpisujemy hasło, również zatwierdzając. Przez kilka sekund na ekranie będziemy widzieli masę komunikatów aż powrócimy do naszego wiersza poleceń, gdzie będziemy mogli wpisać kolejne komendy, które skonfigurują i zabezpieczą naszą bazę 🙂
Wpisujemy więc w linii komend polecenie
sudo mysql_install_db
potwierdzamy enterem a następnie wpisujemy
sudo mysql_secure_installation
i również potwierdzamy enterem. Zostanie nam zadane kilka pytań, w pierwszym podajemy obecne hasło użytkownika root,  w następnym mamy możliwość zmiany hasła naszego root’a. Jeżeli jesteśmy z tego hasła zadowoleni wpisujemy N i naciskamy enter. Kolejne kilka pytań przechodzimy poprzez naciskanie entera co zabezpieczy naszą bazę danych, uniemożliwi logowanie bez hasła, wyłączymy możliwość zdalnego logowania się kontem root oraz usuniemy testową bazę danych, a na samym końcu przeładujemy uprawnienia. Jeżeli wszystko przebiegło bez problemów, przejdźmy teraz do instalacji PHP.

Instalacja PHP

Instalację PHP wykonujemy przy użyciu następującego polecenia:
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
Tradycyjnie już, naciskamy enter a następnie Y i ponownie Enter.  To zainstaluje nam PHP, ostatni brakujący element naszego LAMP’a. Po instalacji przejdziemy do małej konfiguracji naszego nowego serwera, a następnie zainstalujemy sobie PHPMyAdmina.

Kolejnym krokiem, który musimy przeprowadzić aby troszkę przyśpieszyć wczytywanie stron i uprościć sobie działanie musimy zmienić w pliku konfiguracyjnym Apache’a domyślną nazwę pliku, która będzie ładowany po wejściu do danego folderu. Wpisujemy w konsoli polecenie:
sudo nano /etc/apache2/mods-enabled/dir.conf
i naciskamy enter. w linijce
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

zamieniamy kolejność wpisów, aby wyglądało to tak:
<IfModule mod_dir.c>
DirectoryIndex index.php index.cgi index.pl index.html index.xhtml index.htm
</IfModule>

po czym naciskamy Ctrl+X, następnie Y i enter. Powrócimy do wiersza poleceń skąd wykonamy następny krok, którym będzie zrestartowanie serwera, aby nowe ustawienia zaczęły obowiązywać. Wpisujemy więc
sudo service apache2 restart
i naciskamy Enter. Po kilku sekundach nasz serwer będzie działał z nowymi ustawieniami a my powrócimy do naszej linii komend.

Aby sprawdzić, czy nasz LAMP działa tak jak powinien utwórzmy sobie teraz przy użyciu wbudowanego edytora plik tekstowy, który po wywołaniu w przeglądarce poda nam informacje o aktualnie posiadanych przez nas wersjach oprogramowania. Wpisujemy więc w konsoli polecenie.
sudo nano /var/www/html/info.php
i naciskamy enter. W nowo otwartym oknie edytora nano wpisujemy następujący kod:
<?php
phpinfo();
?>
,

po czym naciskamy Ctrl + X, Y i Enter.

Otwieramy przeglądarkę internetową i wpisujemy w pasku adresu:
http://<nazwa naszego serwera>/info.php
Powinniśmy zobaczyć coś wyglądającego jak to:

[singlepic id=10]

Jest to krótka informacja o wszystkim, co do tej pory zainstalowaliśmy na naszym serwerze. Ze względów bezpieczeństwa powinniśmy usunąć ten plik poleceniem:
sudo rm /var/www/html/info.php
Czas na kolejny krok naszego poradnika, czyli instalacja i konfiguracja PHPMyAdmin’a.

Instalacja LAMP zakończona. Czas na instalację PHPMyAdmin

Aby zainstalować PHPMyAdmin’a, po raz kolejny wykorzystamy znany nam już dobrze sudo apt-get:
sudo apt-get install phpmyadmin apache2-utils
Podczas instalacji naciskamy Enter aby ustawić Apache2 jako nasz serwer WWW, następnie Yes, aby skonfigurować nasz serwer baz danych. W kolejnym okienku podajemy nasze hasło dla użytkownika root, a następnie hasło dla nowego użytkownika zwanego phpmyadmin. Kiedy konfiguracja się zakończy a my powrócimy do linii poleceń, musimy jednorazowo włączyć naszą aplikację. Robimy to otwierając plik konfiguracyjny apache’a poleceniem:
sudo nano /etc/apache2/apache2.conf
Naciskamy Page Down aby dostać się na koniec naszego pliku jedną linijkę:
Include /etc/phpmyadmin/apache.conf
a następnie zapisujemy plik i opuszczamy nano, (Ctrl+X, Y i Enter). Następnie restartujemy nasz serwer apache znanym już nam poleceniem
sudo service apache2 restart
Aby przetestować naszą instalację PHPMyAdmina, wchodzimy na stronę
http://<nazwa naszego serwera>/phpmyadmin
gdzie możemy się zalogować loginem i hasłem konta root, bądź phpmyadmin.

Ponieważ nasza baza danych jest niezbędna do prawidłowego funkcjonowania systemu zabezpieczymy teraz PHPMyAdmina kolejnym loginem i hasłem, co zmniejszy ryzyko ataku na naszą nowo postawioną stronę.

Zabezpiecznie hasłem katalogu PHPMyAdmin
Konfigurację zabezpieczeń rozpoczynamy od edycji pliku konfiguracyjnego folderu PHPMyAdmin, wpisując w linię komend polecenie:
sudo nano /etc/phpmyadmin/apache.conf
Szukamy sekcji Directory, która będzie wyglądać mniej więcej tak:
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
[...]

Dopisujemy do niej linijkę
AllowOverride All ,która pozwoli skorzystać nam z pliku .HTACCESS.

Po dopisaniu linijki plik powinien wyglądać następująco:
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
[...]

Standardowo już zapisujemy nasz kod naciskając Ctrl+X, Y i Enter.

Teraz musimy stworzyć plik .htaccess, wydając polecenie:
sudo nano /usr/share/phpmyadmin/.htaccess
Teraz pokażę wam sztuczkę. Zaznaczcie poniższy tekst, kliknijcie prawym i kopiuj, a następnie, w oknie PuTTY z uruchomionym nano po prostu kliknijcie prawym przyciskiem myszy. Tekst się po prostu wklei 😉
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/apache2/.phpmyadmin.htpasswd
Require valid-user

Po wklejeniu standardowo opuszczamy edytor i przechodzimy do dodawania użytkownika do folderu 😉

Wpisujemy polecenie:
sudo httpasswd -c /etc/apache2/.phpmyadmin.htpasswd <nazwa_uzytkownika>

gdzie jako <nazwa_uzytkownika> wprowadzamy dowolną, wybraną przez nas nazwę i naciskamy enter. Zostaniemy poproszeni o podanie hasła.
Restartujemy Apache’a i możemy się cieszyć zabezpieczonym katalogiem PHPMyAdmin. Podczas logowania zobaczymy takie okienko:

[singlepic id=12]

Na dzisiaj to tyle. W kolejnej części zainstalujemy sobie WordPressa i przekierujemy CloudFlare na naszą domenę, a także przyśpieszymy czas ładowania naszych stron poprzez instalację Page Insight dla naszego Apache’a

Ta strona używa ciasteczek Więcej informacji

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Zamknij