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