Sunteți pe pagina 1din 19

Administrarea sistemelor Linux

Cursul 10
Configurarea serviciilor sistemului
Dragos Acostachioaie
http://www.adt.ro
dragos@adt.ro

partea III

Serverul Web Apache


server
Web = daemon care accepta conexiuni conforme HTTP
HTTP
= protocol de tip cerereraspuns,
bazat pe TCP/IP, destinat
transferurilor de informatii hipermedia
Apache
= cel mai raspandit server Web din lume (70% din piata)
Apache
are o structura modulara, fiind alcatuit dintrun
server si o serie
de module, incarcate in mod dinamic
serviciul
corespunzator poarta numele de httpd
fisierul
de configurare este /etc/httpd/httpd.conf
directivele
din fisierul de configurare se refera la configurari globale
pentru
a efectua anumite configurari doar pentru o anumita zona
(director) din cadrul serverului, directivele trebuie incluse in cadrul
sectiunilor:

Serverul Web Apache (continuare)


<
Directory> ... </Directory> grupeaza
mai multe directive care vor face
referire la un anumit director
<
Files> ... </Files> grupeaza
mai multe directive, care vor face referire la
un anumit fisier
<
Location> ... </Location> gruparea
se va face pentru un anumit URL
de pe server
gruparea
unor directive poate fi realizata si prin plasarea unui fisier cu
numele .htaccess in directorul in care se doreste configurarea serverului,
continand directivele dorite (va avea efect si asupra subdirectoarelor din
cadrul directorului)

Serverul Web Apache (continuare)


Directive
pentru identificarea serverului
ServerName
numele serverului (ex. www.infoiasi.ro)
(daca nu este specificat, este numele masinii)
ServerAdmin
adresa email
pe care serverul o va introduce in
mesajele de eroare trimise clientului
Specificarea
locatiilor fisierelor
ServerRoot directorul principal in care se gasesc fisierele de
configurare si jurnalele serverului (ex. /etc/httpd)
DocumentRoot directorul principal in care se gasesc documentele
HTML (ex. /var/www/html)
UserDir
numele directorului in care se afla paginile Web ale
utilizatorilor (ex. fenrir.infoiasi.ro/~lug), implicit public_html
sau uneori html

Serverul Web Apache (continuare)


procesele
Apache
User
utilizatorul sub care va rula serverul (ex. apache sau httpd),
nu trebuie sa fie root sau sa detine fisiere, interpretor de comenzi
Group
similar cu User
MaxClients numarul maxim de cereri simultane (256)
MaxSpareServers
numarul maxim de procese care sunt in asteptare
(10)
MinSpareServers numarul minim de procese in asteptare (5)
StartServers numarul de procese care vor fi lansate la pornire (5)

Serverul Web Apache (continuare)


Configurarea
retelei
BindAddress
adresa IP pe care vor fi acceptate cereri
Port portul pe care sunt asteptate cererile (80)
Listen accepta cereri pe mai multe adrese IP si porturi:
[ adresa_IP : ] port
Configurarea
jurnalelor
cereri
de accesare: /var/log/httpd/access_log
erori:
/var/log/httpd/error_log
CustomLog, TransferLog
stabilesc formatul si fisierul in care va fi
scris jurnalul (relativ la ServerRoot)
ErrorLog numele fisierului in care va fi scris jurnalul
HostNameLookups
jurnalizeaza si numele masinilor de pe care provin
cererile (genereaza trafic suplimentar!)

Serverul Web Apache (continuare)


Controlul accesului
in
multe cazuri este necesara restrictionarea accesului la anumite
documente, prin intermediul unor nume de utilizatori si parole sau in
functie de adresa clientului Web
lista
utilizatorilor si parolele lor este memorata intrun
mod similar cu
/etc/passwd
numele
bazei de date de utilizatori poarte in general numele .htusers
este
de preferat stocarea acestui fisier intro
locatie sigura, daca este
posibil in afara directoarelor continand documente HTML (de exemplu,
in directorul specificat de ServerRoot)
fiecare
linie din acest fisier contine numele utilizatorului, urmat de
caracterul : si parola criptata a acestuia
gestionarea
acestor fisiere se realizeaza cu ajutorul comenzii htpasswd

Controlul accesului (continuare)


comanda
htpasswd
htpasswd [ optiuni ] fisier_passwd nume_utilizator
optiuni:
c
creaza fisierul de parole (daca nu exista)
m
cripteaza parola cu algoritmul MD5
s
cripteaza parola cu SHA
pentru
a acorda drept de acces mai multor utilizatori, se poate defini un
fisier care specifica definitii de grupuri, similar cu /etc/group
fiecare
linie contine numele grupului, urmat de caracterul : , apoi
lista de utilizatori care fac parte din grup, separati prin spatiu
daca
unui utilizator nu i sa
atribuit parola de acces, nu i se va permite
accesul, chiar daca este membru al unui grup cu drept de acces

Controlul accesului (continuare)


Directive
pentru controlul accesului:
Allow from
masinile carora li se permite accesarea unei zone
(nume de masina, un nume de domeniu, o adresa IP, un inceput
de adresa IP sau o pereche adresa IP/masca de retea. all semnifica
orice masina)
Deny

specifica masinile care nu au acces la o anumita zona

( all = nici o masina)


Order
ordinea in care sunt evaluate directivele Allow si Deny
AuthUserFile numele fisierului care contine baza de date de
utilizatori, creat de htpasswd (daca nu incepe cu
relativ la ServerRoot)
AuthGroupFile fisierul care defineste grupurile

/ , este considerat

Controlul accesului (continuare)


AuthName

descrie zona restrictionata (va fi afisata pe navigatorul

clientului)
AuthType are in mod normal valoarea Basic
Require
utilizatorii care vor putea accesa zona (din baza de date de
utilizatori htpasswd):
Require user lista lista de utilizatori
Require group lista
lista de grupuri
Require validuser
toti utilizatorii din fisierul passwd sau toti
membrii grupurilor din fisierul group
Exemplu:
AuthName Doar pentru studentii FII
AuthType Basic
AuthFile .htuser
Require validuser

Serverul Web Apache (continuare)


Gazduire virtuala
gazduirea
virtuala reprezinta folosirea unui singur server HTTP pentru
a deservi mai multe domenii
gazduire
virtuala bazata pe nume/adrese IP
directive:
NameVirtualHost
adresele IP pe care se asteapta cereri
sectiunea
<VirtualHost *> ... </VirtualHost>
trebuie
sa contina obligatoriu directivele:
ServerName numele serverului Web (domeniul gazduit)
DocumentRoot locatia documentelor HTML pentru domeniu

Sistemul de baze de date PostgreSQL


PostgreSQL,
MySQL
sisteme relationale de gestiune a bazelor de date,
conforme standardului SQL
acestea
permit conectarea locala sau de la distanta a utilizatorilor
o
sesiune Postgres ese alcatuita din trei componente:
un
proces supervizor de tip daemon, numit postmaster
unul
sau mai multe servere, cate unul pentru fiecare conexiune,
denumite procese postgres
aplicatia
care utilizeaza serviciile SQL (cum ar fi psql)
primele
doua componente se regasesc pe aceeasi masina
un
asemenea ansamblu gestioneaza o colectie de baze de date aflate pe
o masina, numita cluster (in general aflat in /var/lib/pgsql/data/)
la
prima pornire a daemonului postmaster se creaza structura initiala a
clusterului

Sistemul PostgreSQL (continuare)


efectuarea
de operatiuni asupra tabelelor din bazele de date prin
intermediul comenzilor SQL se poate face cu psql
psql [ optiuni ] [ baza de date [ utilizator ] ]
optiuni:
h
masina
numele masinii pe care se afla baza de date
p
port portul la care daemonul PostgreSQL asteapta cereri
U
user utilizatorul cu care se face autentificarea
interfata
psql este asemanatoare cu cea a unui interpretor de comenzi
suporta
si o serie de comenzi interne:
\connect baza_de_date
inchide conexiunea curent si face conectarea
la o alta baza de date
\d [ tabela ] afiseaza
coloanele din componenta tabelei specificate;
daca nu este specificata, sunt afisate tabelele din baza de date
\list afiseaza bazele de date din componenta clusterului

Sistemul PostgreSQL (continuare)


\o fisier
redirecteaza rezultatele interogarilor catre un fisier
\q paraseste programul psql

Sistemul PostgreSQL (continuare)


fisierul
de configurare al daemonului Postgres se gaseste in directorul
de date si poarta numele postgresql.conf
fisierul
de configurare este recitit atunci cand daemonul primeste
semnalul SIGHUP
optiuni:
fsync
daca este true, va fi apelat fsync() la fiecare scriere pe disc
pentru a se asigura ca datele sunt scrise pe disc; creste siguranta
datelor, incetinind insa sistemul (false)
max_connections

numarul maxim de conexiuni acceptate de server

(32)
port portul pe care vor fi asteptate cereri (5432)
tcpip_socket
daca este On, serverul va accepta conexiuni TCP/IP
(se pot face conexiuni de pe alte masini)

Serverul PostgreSQL (continuare)


shared_buffers
numarul de zonetampon
de memorie partajata folosite
de server (o zona = 8 Kbytes) (64)
sort_mem dimensiunea memoriei folosite pentru sortarile interne,
inainte de a folosi fisiere temporare (512 Kbytes)
syslog modalitatea de jurnalizare (1 = sistemul syslog + iesirea standard,
2 = syslog, 0 = iesirea standard, implicit)
syslog_facility

clasa de jurnalizare utilizata de syslog (local0)

Serverul PostgreSQL (continuare)


utilizatorii
PostgreSQL sunt separati de utilizatorii Linux, si sunt
memorati intro
tabela numita pg_shadow
crearea
de utilizatori: createuser sau CREATE USER...
(su c
postgres createuser root )
stergerea
de utilizatori: dropuser sau DROP USER...
crearea/
stergerea de grupuri: CREATE GROUP, DROP GROUP
gestionarea
privilegiilor (SELECT, INSERT, UPDATE, DELETE):
GRANT, REVOKE
autentificarea
clientilor se face prin fisierul de configurare pg_hba.conf,
aflat in directorul de date:
local baza_de_date metoda_autentificare
host baza_de_date adresa_IP masca_retea metoda_autentificare
hostssl baza_de_date adresa_IP masca_retea metoda_autentificare

Serverul PostgreSQL (continuare)


metoda_
autentificare poate fi:
trust
este permis accesul oricarui utilizator de pe masina client
reject conexiunea nu este permisa
password utilizatorul trebuie sa introduca o parola (dupa cuvantul
password poate fi specificat numele fisierului cu utilizatori acesta
se gaseste in directorul de date si poate fi gestionat cu
pg_passwd)
md5 similar cu password, dar parolele sunt trimise criptat prin retea
Exemplu:
local
all
trust
host
all
10.0.0.0
255.255.255.0
md5

S-ar putea să vă placă și