Obrazek użytkownika cytrynek

Instalacja LAMP

Treść: 

LAMP-a zainstalujemy na przykładzie dystrybucji Linuksa - Debian.

Debian jet to projekt wolnej dystrybucji systemu operacyjnego GNU/Linux oraz GNU/kFreeBSD realizowany przez ochotników na całym świecie. Debian cieszy się opinią stabilnego systemu o wysokiej jakości i łatwego do aktualizacji. Z cech charakterystycznych to menadżer pakietów - APT, dzięki któremu możemy instalować aplikacje z tzw. repozytoriów (serwerów z oprogramowaniem) lub bezpośrenio z plików (rozszerzenie .deb).

Na potrzeby zajęć będziemy instalować debiana w trybie tekstowym (serwer oparty na liniuksie nie wymaga okienek) przez co będzie on lekki i wydajny - nawet na słabym sprzęcie.

Do wirtualizacji będziemy używać aplikacji VirtualBox.

Instalujemy VirtualBox-a.

Windows

 

Jeżeli instalujemy na systemie Windows wówczas ściągmay odpowiedni plik ze strony: https://www.virtualbox.org/wiki/Downloads

Jeżleli instalujemy na Linuksie to w zależności od dystrybucji należy zainstalować pakiet virtualbox

Archlinux

sudo pacman -S virtualbox virtualbox-guest-modules-lts virtualbox-host-modules

Zazwyczaj powinny być jeszcze ładowane moduły kernela tj:vboxdrv, vboxnetflt 

Tworzymy plik 

sudo nano /etc/modules-load.d/virtualbox.conf

W nim wpisujemy:

vboxdrv

vboxnetflt

Zapisujemy (ctrl+o). Wychodzimy (ctrl+x)

Moduł vboxnetflt niezbędny jest do pracy ze zmostkowanym interfejsem sieciowym. Więcej tutaj (eng.)

 

Uruchamiamy ponownie system (sudo reboot) lub (sudo shutdown -r now).

Sprawdzamy czy zostały załadowane moduły:

sudo lsmod | grep vboxdrv

sudo lsmod | grep vboxnetflt

Ubuntu

Sudo apt-get install virtualbox

 

Instalacja Debiana na maszynie wirtualnej

Pobieramy obraz ISO Debiana z serwera (w zależności od architektury procesora np: i386, amd64, arm ....) oraz typu nośnika CD lub DVD. Zazwyczaj wystarczy pierwsza płyta. Zaleceamy pobranie wersji CD ponieważ, część oprogramowania otrzymuje aktualizacje i w momencie pobierania całej płyty DVD na chwilę obecną posiada ono już nieaktualne oprogrogramowanie. 

Debiana pobieramy za pomocą sieci BitTorrent https://www.debian.org/CD/torrent-cd/ lub z https://www.debian.org/CD/http-ftp/#stable, http://cdimage.debian.org/debian-cd/current/

 

Nadajemy nazwę i wybieramy rodzaj architektury.

Przydzielamy ilość pamięci RAM

Klikamy na ikonę płyty CD i wybieramy plik ISO z Debianem

Wyłaczamy obsługę dźwięku

Wybieramy kartę sieciową (początkowo podłączana do NAT -> później zmienimy na zmostkowaną)

Wyłączamy port szeregowy

Wyłączamy kontroler USB

Odpalamy naszą maszynę wirtualną.

Odpalamy naszą maszynę wirtualną.

Odpalamy naszą maszynę wirtualną. Wybieramy opcję "Install" (tryb tekstowy)

Wybieramy 3x Polish

...

Wybieramy nazwę hosta. Od tej pory użytkownik root będzie identyfikowany po loginie i haśle: root@zsp5kozuchow

Wpisujemy hasło (Wiecie jakie)

Pełna nazwa użytkownika (imię i nazwisko). My wpisujemy zsp5kozuchow

Kolejny etap instalacji ...

Wybieramy ręczny (manualny) sposób partycjonowania 

Wybieramy wcześniej utworzony dysk

Potwierdzamy tworzenie tablicy partycji

Wybieramy wolne miejsce

Tworzymy partycję

Przydzielamy miejsce na partycję główną "  /  "

Określamy rodzaj partycji

Potwierdzamy lokalizację partycji względem wolnego miejsca

Wybieramy pkt. montowania "  /  ", system plików na "ext4" i wybieramy opcję "Zakończono ustawianie partycji"

Tworzymy partycję z punktem montowania "/home". Jej wielkość jest uzależniona od wolnego miejsca minus 1-2GB na przestrzeń wymiany (partycję wirtualną) SWAP. 

....

Czyli w naszym przypadku z 7,1GB-1,6GB=5,5GB

....

Podobnie jak wyżej ...

Tworzymy kolejną, ostanią już partycję - wspomnianą wcześniej przestrzeń wymiany

Klikamy na "użyj jako" i wybieramy odpowiednią opcję.

Podsumowanie/lista utworzonych partycji. Klikamy na zakończ partycjonowanie

Postępująca instalacji

Anulujemy skanowanie w poszukiwaniu postałych płyt bo takowych nie posiadamy

Nie używamy serwera lustrzanego

Aktualizacja oprogramowania ...

Konfiguracja pakietów: apt

Anulujemy udział w popularity-contest - to jest tylko serwer wirtualny :P

Nie potrzebujemy narzędzi graficznych ...

Instalujemy GRUB-a - menadżera rozruchu (program rozruchowy)

Rebootujemy ...

GRUB w całej krasie :)

Logujemy się ...

Aktualizujemy system: apt-get update

 

 

 

Sprawdź czy zalogowałeś się jako superużytkownik root bo jeśli nie możesz natrafić na błąd z wiązany z prawami dostępu permission denied dotyczący menadżera pakeietów apt-get (wymaga praw roota). Problem został pokazany poniżej (zalogowany jako adminzsp a nie root)

 

Wyszukujemy pakietu OpenSSH (Open Secure SHell). Abyśmy mogli zalogować się na serwer wykorzystując terminal na lokalnym komputerze (przydatne podczas kopiowania-wklejania tesktu do terminala).

Polecenie do wyszukiwania to aptitude search NAZWAPAKIETU

aptitude search openssh

 

Sprawdzamy co jest z SSH zainstalowane.

aptitude search openssh

Literka "i" przy nazwie pakietu (z lewej strony) oznacza, że openssh-client jest zainstalowany.

Usuwamy klienta SSH (może być nieaktualny - przez co może ograniczyć pobranie aktualnej wersji serwera).

apt-get remove openssh-client

Instalujemy pakiet OpenSSH. Jeżeli zainstalujemy paczkę z samą nazwą "ssh" wówczas oprócz serwera (openssh-server) zostanie zainstalowany także klient (openssh-client) i program ssh. 

Konfigurujemy interfejs sieciowy eth0. Do tego należy wyedytować plik /etc/network/interfaces. Zedytujemy go za pomocą programu nano.

nano /etc/network/interfaces

 

Powinien wyglądać podobnie jak poniżej. Stacja rzeczywista ma adres 192.168.2.2. Natomiast serwer wirtualny o +20. Czyli 192.168.2.22

Zmieniamy ustawienia interfejsu sieciowego eth0

ifconfig

Wyświetlamy informacje o interfejsach

sudo nano /etc/network/interfaces

Edytujemy plik interfejsów sieciowych na prawach roota

Wpisujemy zawartość:

auto eth0

Określenie interfejsu eth0 lub eth1

iface eth0 inet static

Określenie typu interfejsu static / dhcp

address 192.168.18.22

Adres IP

gateway 192.168.18.1

Adres bramy

netmask 255.255.255.0

Maska sieciowa

network 192.168.18.0

Adres sieci

broadcast 192.168.18.255

Adres rozgłoszeniowy

dns-nameservers 192.168.18.22 194.204.159.1

Adres serwera DNS

 Wydajemy polecenie wyłączenia serwera

shutdown -h now

Wchodzimy w ustawienia maszyny wirtualnej i przełaczamy nasz interfej sieciowy z trybu NAT na Zmostkowany (Bridged)

 

Tak powinno wyglądać podsumowanie maszyny wirtualnej:

Włączamy maszynę. Sprawdzamy czy "pinguje" do bramy

ping 192.168.18.1

ping wp.pl

Włączamy terminal na stacji klienckiej (uczniowskiej) lub jeśli pracujecie na systemie Windows to włączamy PUTTY (o tym poniżej).

Łączymy się z serwerem Debian (zsp5serwer): ssh root@192.168.18.22 

Wpisujemy hasło. Na serwerze wpisujemy polecenie who aby sprawdzić czy rzeczywiście koś się zalogował i to z jakiego nr IP

Jeżeli korzystasz z systemu Windows alternatywą do pakietu SSH jest program Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html).

Zrzut poniżej.

 

Teraz musimy zaktualizować listę serwerów lustrzanych tzw. repozytoriów (bez tego serwer mysql może mieć problemy z instalacją)

W terminalu ze stacji klienckiej (uczniowskiej) wpisujemy:

nano /etc/apt/sources.list

Usuwamy wszystko i dodajemy poniższe repozytoria (wyciananie linii ctrl+k)

 

Kopiujemy poniższą listę (pobraną z forum Debiana - kliknij jeśli chcesz ją rozszerzyć o inne oprogramowanie)

 

deb http://ftp.pl.debian.org/debian/ wheezy main non-free contrib

deb-src http://ftp.pl.debian.org/debian/ wheezy main non-free contrib

deb http://security.debian.org/ wheezy/updates main contrib non-free

deb-src http://security.debian.org/ wheezy/updates main contrib non-free

deb http://ftp.pl.debian.org/debian/ wheezy-updates main non-free contrib

deb-src http://ftp.pl.debian.org/debian/ wheezy-updates main non-free contrib

 

Zapisujemy (ctrl+o lub ctrl+c i opcja T)

Aktualizujemy listę oprogramowania (poszerzyliśmy właśnie listę dostępnych serwerów)

apt-get update

Szukamy programów związanych z mysql i filtrjemy ją za pomocą polecenia grep z wyszukiwaną frazą "server" (zwróci nam listę programów wyszukiwanych - mysql odfiltrowną w poszukiwaniu frazy server)

 

Instalujemy serwer mysql

apt-get install mysql-server

Wpisujemy standardow hasło do użytkownika root bazy danych.

Logujemy się aby sprawdzić czy serwer działa

mysql -u root -p

Paramaetr:

-u oznacza nazwę użytkownika (user) w naszym przypadku jest to root

-p oznacza hasło (password)

Sprawdzamy poprwaność wyświetlania zawartych baz danych (pamiętajcie o średniku na końcu)

mysql> show databases;

i wychodzimy z bazy

mysql> exit;

 

 

Instalujemy serwer apache 

apt-get install apache2

Instalujemy serwer php5 

apt-get install php5 php-pear php5-suhosin php5-mysql

service apache2 restart

 

Tworzymy użytkownika do strony

sudo mkdir /var/www/user 

sudo useradd -d /var/www/user -s /bin/bash -G www-data user

sudo passwd user

sudo chown user:www-data /var/www/user

 

Sprawdzamy czy usługi (apache2, php, mysql) zostały uruchomione i są widoczne przez przeglądarkę. Tworzymy plik info.php

nano /var/www/info.php

Wpisujemy kod PHP:

<?php

phpinfo();

?>

Wybieramy ctrl+o oraz ctrl+x (lub samo ctrl+x i spyta nas czy zapisać)

Sprawdzamy w przeglądarce czy wszystko działa http://AdresIPMaszyny/info.php (http://192.168.18.22/info.php )

Instalacja PHPMyAdmin

 

sudo apt-get install phpmyadmin

 

i SPACJĄ zaznaczamy Apache2

Inym sposobem na sprawdzenie tego czy Apache, MySQL zostały uruchomione to wydanie polecenia do nasłuchiwania połączeń sieciowych. Możemy dzięki temu poleceniu nie tylko zobaczyć czy dana usługa działa ale także na jakim porcei nasłuchuje przez co będziemy mogli się podłaczyć do serwera za pomocą MySQL Workbench lub DB Designer-a 

netstat -tlnp | grep mysql

netstat -tlnp | grep apache