systemy operacyjne cw 07 linux apache mysql


Ćwiczenie 7
Temat:
Usługi w systemie
Linux. Serwer
Apache i MySQL.
Cel ćwiczenia:
W tym ćwiczeniu student zapozna się z metodami uruchamiania usług
serwerowych w systemie Linux. Przedstawiona zostanie metoda definiowania
usług, które powinny być uruchamiane w poszczególnych poziomach rozruchu
sytemu. Jako przykład usług serwerowych przedstawiony zostanie serwer
WWW  Apache oraz baza danych MySQL.
Uwaga, niniejsze ćwiczenie powinno być realizowana z użyciem systemu
Ubuntu Server
Usługi systemowe
Usługi systemowe to programy działające w tle systemu, realizując określone zadania. Usługi
uruchamiane są wraz ze startem systemu operacyjnego według listy określonej przez
administratora systemu. W systemie Linux usługi uruchamiane są za pomocą polecenia:
service nazwa_usługi akcja
Akcjami możliwymi do wywołania dla usług są:
" start  uruchomienie usługi
" stop - zatrzymanie usługi
" reload  ponowne wczytanie ustawień usługi
" force-reload  wymuszenie ponownego wczytania ustawień
" restart  ponowne uruchomienie usługi
" try-restart  próba ponownego uruchomienia usługi
" status  sprawdzenie statusu usługi
Skrypty uruchamiające usługi systemowe znajdują się w katalogu /etc/init.d/. W katalogu
tym znajdować się mogą zarówno skrypty jak i linki do nich. Jeśli administrator chce dodać
do systemu własną usługę wystarczy umieścić łącze do programu w w/w katalogu.
Dołączenia symboliczne w systemie Linux wykonuje się za pomocą polecenia ln, np.:
ln -s ścieżka_do_programu_usługi /etc/init.d/nazwa_dołączenia
Po stworzeniu takiego dowiązania można już odwoływać się do własnego programu
administracyjnego w sposób analogiczny jak w przypadku innych usług, np:
service nazwa_dołączenia start
Usługi systemowe 97
UWAGA! Jeśli własny program dołączany jest do usług serwerowych parametry
uruchomieniowe takie jak start, restart, stop itd. muszą zostać uwzględnione w programie,
tzn: program musi wykonywać odpowiednie akcje w zależności od parametru jego
wywołania.
Przykład
1. Aby sprawdzić, czy serwer pozwala na zdalne logowanie się do konsoli za pomocą SSH,
wywołać można usługę ssh z akcją  status :
service ssh status
2. Aby wyłączyć możliwość logowania się do konsoli za pomocą SSH, wywołać należy
polecenie:
service ssh stop
3. I odpowiednio: start  w celu ponownego uruchomienia usługi.
4. Aby dołączyć własny skrypt administracyjny  users.sh (znajdujący się NP. w katalogu
/root/tmp) do puli usług, należy stworzyć dołączenie symboliczne w katalogu init.d:
ln  s /root/tmp/users.sh /etc/init.d/users.sh
Od tego momentu można uruchamiać program poprzez komendę:
service users.sh start
Pamiętać należy, iż parametr {start|stop|restart|itd..} przekazywany podczas
uruchamiania programu musi zostać oprogramowany przez autora programu. Np. jeśli
program jest skryptem w języku powłoki BASH należy stworzyć odpowiednie instrukcje
warunkowe sprawdzające wartość parametru przekazanego podczas uruchamiania
(sprawdzenie wartości zmiennej $1)
Zadanie 1
1. Napisać program który jako parametr wejściowy przyjmuje wartość tekstową  start
oraz  stop .
Zadanie 1 98
2. Gdy jako parametr wejściowy podany zostanie parametr  start program wykona
komendę  dhclient aby pobrać adres z serwera DHCP dla wszystkich interfejsów
sieciowych.
3. Gdy jako parametr wejściowy podany zostanie parametr  stop program wykona
komendę  ethX down dla wszystkich kart sieciowych komputera.
4. Dodać program jako usługę systemową (utworzyć dołączenie do utworzonego
programu do katalogu /etc/init.d/
Usługi uruchamiane w poszczególnych poziomach rozruchu systemu
W systemach rodziny Linux wyróżnić można 7 poziomów rozruchu systemu
(numerowane od 0  6), z czego 2 z nich to symbole: wyłączenia systemu (symbol 0)
oraz ponownego uruchomienia systemu (reboot - symbol 6). W każdym z poziomów
może zostać zdefiniowany inny zestaw uruchamianych usług. Do wyświetlania usług
wraz z poziomami rozruchu systemu służy polecenie:
chkconfig --list
Polecenie wyświetla usługi wraz z poziomami rozruchu w których dane usługi są
uruchamiane.
Aby włączyć daną usługę w danym poziomie rozruchu użyć należy polecenia chkconfig z
flagą --level  które definiuje jakich poziomów rozruchu, a następnie wskazać usługę,
jakiej polecenie dotyczy wraz ze stanem usługi (on - włączona, off  wyłączona), np:
chkconfig --level NR_POZIOMU nazwa_usługi stan
UWAGA! Warto zaznaczyć, iż polecenie chkconfig jest najpopularniejszym programem
do zarządzania usługami w poszczególnych poziomach rozruchu systemu, niemniej
jednak w niektórych dystrybucjach systemu Linux program ten musi zostać
doinstalowany, a w przypadku kilku dystrybucji istnieją inne programu służące do
zarządzania usługami. Na przykład, w systemie Ubuntu Server polecenie chkconfig
poprawnie wyświetla usługi wraz z poziomami uruchamiania, jednak do konfiguracji
usług uruchamianych w poszczególnych poziomach rozruchu służy program
Usługi uruchamiane w poszczególnych poziomach rozruchu systemu 99
sysv-rc-conf, który ma taką samą składnie jak polecenie chkconfig w innych
dystrybucjach.
Instalacja menager a:
apt-get install sysv-rc-conf
Uruchomienie programu w trybie  pseudograficznym :
sysv-rc-conf
Określenie trybu usługi:
sysv-rc-conf --level NR_poziomu nazwa_usługi {on | off}
Dodawanie własnej usługi do danego poziomu rozruchu odbywa się poprzez utworzenie
w katalogu init.d dowiązania symbolicznego do programu, a następnie określeniu stanu
usługi w danym poziomie rozruch:
sysv-rc-conf --level NR_poziomu nazwa_usługi {on | off}
Poziom uruchamiania sytemu
Domyślny poziom rozruchu systemu Linux jest określany przez autorów systemu. Dla wielu
dystrybucji jest to najczęściej poziom nr 5, jednak nie ma co do tego zasady. Aby sprawdzić
na jakim poziomie pracuje w danej chwili system wydać należy polecenie:
runlevel
Polecenie zwraca aktualny i poprzedni poziom uruchomienia. Jeśli zwrócony numer
poprzedzony jest symbolem  N oznacza to, iż w poprzednim stanem było ponowne
uruchomienie systemu.
Aby na stałe ustalić, w którym poziomie rozruchu powinien startować system, należy
dokonać wpisu w pliku (jeśli plik nie istnieje, należy go stworzyć):
/etc/inittab
Poziom uruchamiania sytemu 100
Do określenia domyślnego poziomu rozruchowego systemu wystarczy poniższy wpis w pliku
inittab, gdzie X- reprezentuje numer żądanego poziomu rozruchu:
id:X:initdefault:
W celu przełączenia się podczas działania systemu do innego poziomu rozruchu użyć można
polecenia init, w raz z określeniem poziomu, np:
init 4
Zadanie 2
1. Utworzony w poprzednim zadaniu skrypt dołączyć do poziomu rozruchu nr 2.
2. Zmienić domyślny poziom rozruchu systemu na poziom nr 5
3. Wykonać ponowne uruchomienie systemu.
4. Sprawdzić za pomocą polecenia ifconfig ustawienia interfejsów sieciowych (interfejsy nie
powinny mieć przydzielonych adresów z serwera DHCP)
5. Przejść za pomocą polecenia init do poziomu nr 2, a następnie sprawdzić ustawienia
interfejsów sieciowych.
Przykłady usług serwerowych: serwer WWW oraz serwer baz danych
Jako przykład usług serwerowych w ramach ćwiczenia przedstawiony zostanie serwer stron
internetowych  Apache wraz z serwerem baz danych MySQL. Zestawienie tych usług jest
wykorzystywane do tworzenia aktywnych serwisów internetowych w technologii PHP.
Popularność tych technologii wynika w z faktu, iż są to aplikacje darmowe i proste w
obsłudze, niemniej jednak nie odbiegają funkcjonalnością od produktów komercyjnych.
UWAGA! Celem tej części ćwiczenia NIE JEST dokładne zapoznanie czytelnika z technologiami
internetowymi, metodami konfiguracji serwera WWW, aspektami bezpieczeństwa serwera
WWW, składnią języka zapytań SQL, a jedynie wskazanie jak łatwym procesem jest instalacja
i uruchomienie serwera WWW wraz z bazą danych w środowisku Linux.
Zadanie 2 101
Serwer WWW  Apache
Apache jest jednym z najbardziej popularnych i dostępnych dla prawie wszystkich systemów
operacyjnych serwerów WWW. Aplikacja umożliwia dołączanie rozszerzeń (tzw. modułów)
zwiększających funkcjonalność usługi. Główne pliki konfiguracyjne serwera znajdują się w
katalogu (w zależności od dystrybucji i wersji serwera):
/etc/apache2/
lub
/etc/httpd/
Także sama nazwa usługi (dołączenie do katalogu /etc/init.d/ ) w zależności od dystrybucji
systemu może nosić nazwę: apache, apache2 (od numeru wersji) lub httpd.
Serwer MySQL
MySQL to szybki i lekki serwer baz danych. Podobnie jak serwer Apache dostępny jest dla
większości systemów operacyjnych. W najnowszej wersji (pow. 5.0) udostępnia
zawansowane funkcje takie jak: procedury składowane, tiggery, kursory itd. Będąc
produktem darmowym od lat stwarza konkurencję komercyjnym rozwiązaniom. Sam serwer
jest usługą systemową, a do zarządzania bazą koniecznie jest użycie dodatkowego programu
klienckiego.
PHP MyAdmin
To aplikacja internetowa, napisana w technologii PHP umożliwiająca zarządzanie bazą
danych z poziomu strony internetowej. Pozwala na tworzenie nowych baz danych, oraz
przydzielanie im odpowiednich praw dostępu dla wskazanych użytkowników bazy. Jest
narzędziem bardzo przydatnym w szczególności dla początkujących administratorów.
Serwer WWW  Apache 102
Zadanie 3
Celem zadanie jest instalacja i przetestowanie działania serwera stron WWW, bazy danych,
oraz programu PhpMyAdmin. Takie środowisko posłuży do uruchomienia w pełni
funkcjonalnego portalu - Joomla, który pozwala na zarządzanie treścią z poziomu panelu
administracyjnego strony. W celu realizacji zadania należy:
1. Zaktualizować dane o pakietach w repozytoriach. Zawsze warto wykonać aktualizację
przed instalacją wielu komponentów systemu:
apt-get update
2. Zainstalować serwer WWW  Apache:
apt-get  y install apache2
3. Zainstalować interpreter skryptów serwerowych PHP
apt-get  y install php5
Po instalacji serwera WWW oraz języka skryptów PHP można już przetestować działanie
stron WWW. Domyślnym katalogiem strony głównej jest katalog:
/var/www/
Domyślnym  głównym dokumentem strony www jest plik index.html.
3.1. Edytować plik: /var/www/index.html Dopisać do pliku dowolną treść. Sprawdzić
działanie strony w przeglądarce na komputerze hosta wpisując jako adres
odpowiedni adres IP wirtualnego systemu
3.2. Zmienić nazwę pliku index.html na index.php. Na końcu pliku dopisać:
Zadanie 3 103
phpinfo();
?>
Sprawdzić efekt w przeglądarce internetowej.
4. Zainstalować serwer baz danych MySql. Podczas instalacji instalator poprosi o
utworzenie hasła administratora bazy danych.
apt-get  y install mysql-server
5. Zainstalować moduł serwera Apache umożliwiający komunikację z bazami danych MySql
z poziomu skryptów PHP
apt-get install libapache2-mod-auth-mysql
6. Zainstalować program do zarządzania bazą danych z poziomu strony WWW. Podczas
instalacji instalator zapyta o rodzaj serwera WWW  wybrać należy  apache2 , a także o
bazę danych i hasło zabezpieczające do bazy w której program przechowywał będzie
własne ustawienia
apt-get install phpmyadmin
7. Po instalacji powyższych składowych systemu należy ponownie uruchomić serwer WWW
Apache w celu dołączenia nowo zainstalowanych modułów:
/etc/init.d/apache2 restart
8. Po zainstalowaniu powyższych elementów i ponownym uruchomieniu serwera Apache
można uruchomić aplikację PhpMyAdmin uruchamiając stronę:
http://__IP__maszyny_wirtualnej/phpmyadmin
a następnie:
Zadanie 3 104
8.1. Zalogować się do panelu administracyjnego jako użytkownik root.
8.2. Na zakładce  Bazy danych utworzyć nową bazę danych o nazwie  test1
8.3. Na zakładce  Uprawnienia  dodać nowego użytkownika (upewnić się, że z lewej
strony wybrana została baza  test1 )
8.4. Przydzielić wszystkie uprawnienia dla nowego użytkownika test1 do bazy test1.
Dzięki powyższym czynnością dodana została nowa baza danych, do której pełne
uprawnienia posiada nowoutworzony użytkownik  test1. Nowa baza posłuży instalacji
portalu Joomla.
9. Zainstalować program do rozpakowywania archiwów .zip
apt-get install unzip
10. W katalogu /var/www/ utworzyć katalog  joomla . Do nowego katalogu zapisać plik:
wget http://kzi.polsl.pl/so/cwiczenia/Joomla.zip
11. Rozpakować pobrane archiwum:
unzip Joomla.zip
12. Zmienić właściciela katalogu  joomla :
chown www-data.www-data /var/www/joomla
Użytkownik (i grupa)  www-data reprezentują serwer WWW, co oznacza, że aplikacje
internetowe będą posiadały prawo zapisu w tym katalogu. W innych dystrybucjach systemu
Linux użytkownik reprezentujący swerwer WWW często nosi nazwę: apache lub httpd.
13. Uruchomić proces instalacji portalu Joomla w przeglądarce internetowej:
http://__IP__maszyny_wirtualnej/joomla
Zadanie 3 105
13.1. Wskazać serwer jako  localhost , bazę  test1 jako miejsce instalacji portalu
oraz użytkownika  test1 jako uprawnionego do jej zapisu.
13.2. Nie uaktywniać usługi ftp
13.3. Uzupełnić dane dotyczące nazwy witryny i danych administratora
13.4. Zainstalować dane przykładowe
13.5. Usunąć katalog: /var/www/joomla/installation/
13.6. Uruchomić portal w przeglądarce:
http://__IP__maszyny_wirtualnej/joomla
13.7. Przetestować działanie panelu administracyjnego:
http://__IP__maszyny_wirtualnej/joomla/administrator
Zadanie 3 106
Dodatek 1  Popularne usługi
acpid - odpowiada za zarządzanie energią w komputerze
apache2  usługa serwera WWW
atd  demon którego zadaniem jest uruchamianie programów w konkretnym momencie
(realizujący zadania wywołane poleceniem at)
cron  demon wywołujący polecenia cyklicznie wg tablicy crontab
cups - demon zarządzający kolejką drukowania
mysql  usługa serwera baz danych MySQL
rsync  demon synchronizacji plików
Przyspiesza wymianę plików za pomocą Samby. Sugestia: tak jak samba
samba  usługa pozwalająca na obsługę i montowanie dysków sieciowych
ssh - demon zdalnych połączeń konsolowych SSH
Dodatek 1  Popularne usługi 107


Wyszukiwarka

Podobne podstrony:
systemy operacyjne cw linux strumienie procesy
systemy operacyjne cw linux instalacja(1)
Systemy Operacyjne Unix Linux solarka2
Systemy Operacyjne Unix Linux solaris1
systemy operacyjne cw podstawy?ministracji cz2
Linux Apache MySQL i PHP Zaawansowane programowanie lapzap
Systemy Operacyjne Unix Linux solarka4
System operacyjny Linux Podręcznik
Systemy Operacyjne Linux Komunikacja pomiędzy procesami (IPC)
System operacyjny Linux (podstawy)

więcej podobnych podstron