APACHE HTTPD SERVER
Linux per sviluppatori
By M@r.S
2
ABOUT ME
Mariano Fiorentino
https://it.linkedin.com/in/marianofiorentino
●
CTO & Technical Director @travelmatic.com
●
Solution Architect @Enginnering.it
●
PHP User Group Torino
3
Il videocorso su UDEMY
https://www.udemy.com/corso-linux-per-sviluppatori-web-
lamp-apache-php-mysql/?couponCode=SLIDES10
●
Installare un server linux
●
Lavorare con la linea di comando
●
Gestione gruppi, utenti e permessi
●
Bash scripting
●
Espressioni regolari
●
Apache, NGnix &Https
●
Installare PHP & MySql
●
Cron e crontab
4
Apache
E’ il nome di un server web libero sviluppato dalla Apache
Software Foundation.
È la piattaforma server Web modulare più diffusa, in
grado di operare su una grande varietà di sistemi
operativi, tra cui UNIX/Linux e Microsoft Windows.
5
Architettura
Operativamente, l'architettura è composta da un servizio
il quale, sulla base delle impostazioni contenute nel file di
configurazione httpd.conf, permette l'accesso a uno o più
siti, gestendo varie caratteristiche di sicurezza e potendo
ospitare diverse estensioni per pagine attive (o
dinamiche), come PHP.
6
Prefork vs FastCGI Process Manager
I principali modi di configurazione di PHP su Apache sono:
●
MPM Prefork Assegna un processo ad ogni web request.
Apache crea N processi in attesa di una richiesta ed al
bisogno altri processi vengono creati.
●
PHP-FPM Invece di creare un nuovo processo per ogni
richiesta, FastCGI usa i processi persistenti per gestire
una serie di richieste. Questi processi sono posseduti
dal server di FastCGI e non dal server web.
7
Prefork funzionamento (mod_php)
8
Apache comandi
Avvia il servizio
●
service httpd start
Ferma il servizio
●
service httpd stop
Ricarica la configurazione
●
service httpd reload
NB. Se Apache è stato configurato per ascoltare sulla porta
privilegiata va gestito da root
9
Files di configurazione
10
Files di configurazione
●
httpd.conf: file di configurazione del server.
●
php.conf: file di configurazione del modulo per php.
●
conf.modules.d: cartella che contiene le configurazioni
dei moduli di apache.
11
Core Apache Configuration (httpd.conf)
●
Directory di installazione di Apache
ServerRoot “/etc/httpd”
●
Indirizzo IP e porte di ascolto del server
Listen 80
●
Email da mostrare nei messaggi di errore
ServerAdmin corsolinux@corsolinux.it
●
Server Name e Porta
ServerName localhost:80
12
Core Apache Configuration (httpd.conf)
●
Directory di default da cui prendere i documenti
DocumentRoot “/var/www/html”
●
Include altri file di configurazione al server
Include “test.conf”
Include “/usr/aliases/*.conf”
13
Core Apache Configuration (httpd.conf)
●
Configurazioni specifiche di modulo
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>
14
Core Apache Configuration (httpd.conf)
●
Configurazioni applicate alle directory
<Directory “/var/www">
Configurazione
Configurazione
Direttiva
</Directory>
Le direttive di accesso determinano chi può consultare i
files contenuti nella cartella indicata
15
Core Apache Configuration (httpd.conf)
●
Configurazioni applicate alle location
<Location “/server-status">
SetHandler server-status
</Location>
16
Core Apache Configuration (httpd.conf)
●
Configurazioni applicate ai files
<Files “/private.html">
Require all denied
</Files>
17
Core Apache Configuration (httpd.conf)
●
La risorsa è accessibile
Require all granted
●
La risorsa non è accessibile
Require all denied
●
La risorsa è accessibile dai seguenti indirizzi
Require ip 10 172.20 192.168.2
●
La risorsa è accessibile con i seguenti metodi http
Require method GET POST
18
Core Apache Configuration (httpd.conf)
●
Definisce dove verranno salvati gli errori
ErrorLog “logs/error_log”
●
Definisce il formato dei log
LogFormat "%h %l %u %t "%r" %>s %b" common
●
Crea un log degli accessi
CustomLog “logs/access_log” common
19
Cos’è un Virtual Host di Apache?
L'Hosting virtuale è un metodo usato sui server web per
ospitare più di un nome di dominio sullo stesso server, o
sullo stesso indirizzo IP.
20
Architettura
Fonte: https://it.wikipedia.org/wiki/Virtual_hosting
21
Configurazione sullo stesso IP
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.corsolinux.it
DocumentRoot /var/www/linux_docroot
</VirtualHost>
<VirtualHost *:80>
ServerName www.corsoreactjs.it
DocumentRoot /var/www/react_docroot
</VirtualHost>
22
Configurazione con diversi IP
NameVirtualHost *:80
<VirtualHost 192.168.1.2:80>
ServerName www.corsolinux.it
DocumentRoot /var/www/linux_docroot
</VirtualHost>
<VirtualHost 192.168.1.3:80>
ServerName www.corsoreactjs.it
DocumentRoot /var/www/react_docroot
</VirtualHost>
23
Accedere ai virtual host
Modificare il file /etc/hosts sulla nostra virtual machine
aggiundendo le voci:
127.0.0.1 www.corsolinux.it
127.0.0.1 www.corsoreact.it
Questa modifica permetterà il riconoscimento dei virtual
host alla macchina virtuale
24
Accedere ai virtual host
25
Accedere ai virtual host
Modificare il file hosts sul nostro PC dove abbiamo
installato VirtualBox.
In caso di Port Forwarding:
127.0.0.1 www.corsolinux.it
127.0.0.1 www.corsoreactjs.it
In caso di Bridged Networking:
<ip della vostra vm> www.corsolinux.it
<ip della vostra vm> www.corsoreactjs.it
26
Accedere ai virtual host
(C:)/Windows/System32/drivers/etc, doppio click su hosts (scegliere il blocco note per editare)
27
Cosa sono i moduli di Apache?
●
Apache è famoso per la sua flessibilità perché è stato
implementato per essere modulare.
●
I moduli consentono di eseguire funzioni aggiuntive,
estendendo le funzionalità offerte dal server.
●
E’ relativamente semplice configurare il Web Server
aggiungendo e rimuovendo moduli in base alle esigenze
richieste.
●
Apache viene fornito dalle distribuzioni Linux con un set
o moduli preinstallati.
28
Moduli comunemente utilizzati
Files di configurazione presenti nella cartella
/etc/httpd/conf.modules.d/
●
mod_php
●
mod_rewrite
●
mod_deflate
●
mod_proxy
●
mod_headers
●
mod_alias
●
mod_ssl
29
MOD_PHP
●
/etc/httpd/conf.modules.d/10-php.conf
●
/etc/httpd/conf.d/php.conf
30
MOD_REWRITE
Riscrive le url richieste in base alle regole definite, può
anche essere utilizzato per reindirizzare un URL a un altro
URL.
RewriteEngine on
RewriteRule "^/foo.html$" "/bar.html" [PT]
https://httpd.apache.org/docs/2.4/rewrite/
31
MOD_DEFLATE
Comprime l’output del server prima di inviarlo al client
<Directory "/your-server-root/manual">
AddOutputFilterByType DEFLATE text/html
</Directory>
32
MOD_PROXY
Implementa un proxy / gateway per Apache HTTP Server,
supportando numerosi protocolli e diversi algoritmi di
bilanciamento del carico (un proxy è un server che funge
da intermediario).
ProxyPass "/foo" "http://foo.example.com/bar"
ProxyPassReverse "/foo" "http://foo.example.com/bar"
33
MOD_HEADERS
Questo modulo fornisce le direttive per controllare e
modificare le intestazioni delle richieste e delle risposte
HTTP. Le intestazioni possono essere unite, sostituite o
rimosse.
Header set MyHeader "Hello World”
34
MOD_ALIAS
Le direttive contenute in questo modulo consentono la
manipolazione e il controllo degli URL quando le richieste
arrivano al server.
Le direttive Redirect vengono utilizzate per istruire i
client a effettuare una nuova richiesta con un URL
diverso.
Alias "/image" "/ftp/pub/image"
Redirect "/one" "/two"
35
MOD_SSL
Questo modulo fornisce il supporto SSL v3 e TLS v1.x per il
server HTTP Apache. SSL v2 non è più supportato.
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
DocumentRoot /var/www/vhosts/yoursite.com/httpsdocs
ServerName yoursite.com
</VirtualHost>
36
Cosa è .htaccess?
.htaccess è un file di configurazione di Apache Web
Server. Quando un file .htaccess viene inserito in una
directory, quel file viene rilevato ed eseguito.
Questi file possono essere utilizzati per modificare la
configurazione di Apache in modo da abilitare o
disabilitare funzionalità.
37
Visualizzare .htaccess e .htpasswd
Su Linux/Unix per convenzione i file di configurazioni
locali agli utenti sono di default nascosti.
I comandi di ricerca di files nelle cartelle a meno di
utilizzare parametri particolari non mostrano quindi i files
e le cartelle che hanno un nome che comincia con "."
Per verificare se in una cartella abbiamo dei files nascosti
bisogna eseguire ls con il parametro “a”:
●
ls -la
38
Proteggere una sezione di un sito
AuthName "Member's Area Name"
AuthUserFile /path/to/password/file/.htpasswd
AuthType Basic
require valid-user
ErrorDocument 401 “Errore 401”
39
Proteggere una sezione di un sito
Per creare la password:
htpasswd -c /path/to/password/file/.htpasswd corsolinux
Per aggiornare la password:
htpasswd /path/to/password/file/.htpasswd corsolinux
40
Selinux, ancora lui...
SELinux fornisce un utente (unconfined_u), un ruolo
(object_r), un tipo (user_home_t), ed un livello (s0). Tale
informazione è usata per prendere decisioni di controllo
sugli accessi.
ls -Z .htaccess
-rw-rw-r-- user1 group1 unconfined_u:object_r:user_home_t:s0 .htaccess
restorecon -R /var/www

More Related Content

PDF
Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay
PDF
Apache Parte 1
PDF
Apache Parte 2
PDF
Hosting e file HTACCESS, come funziona e come si modifica - #TipOfTheDay
PDF
Apache HTTP Server - Funzionalità - Configurazione - Virtual Host - SSL e https
PDF
Laboratorio Di Basi Di Dati 10 P H P Cookie E Sessioni
PDF
Laboratorio Di Basi Di Dati 03 Il D B M S Postgre S Q L
PDF
Hosting: 12 consigli per difendersi dagli hacker #TipOfTheDay
Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay
Apache Parte 1
Apache Parte 2
Hosting e file HTACCESS, come funziona e come si modifica - #TipOfTheDay
Apache HTTP Server - Funzionalità - Configurazione - Virtual Host - SSL e https
Laboratorio Di Basi Di Dati 10 P H P Cookie E Sessioni
Laboratorio Di Basi Di Dati 03 Il D B M S Postgre S Q L
Hosting: 12 consigli per difendersi dagli hacker #TipOfTheDay

What's hot (20)

PDF
Hosting Linux: la gestione dei permessi file #TipOfTheDay
PDF
PostgreSQL: Prima configurazione
PDF
Workshop – Il server FUSS: struttura, filosofia progettuale e casi d’uso
PDF
Laboratorio Di Basi Di Dati 08 Il Web Server Apache
PDF
Laboratorio Di Basi Di Dati 09 Il Linguaggio P H P
PDF
Drupal - per chi vuole iniziare
PDF
Liferay Portal CE 7.4: Come configurare Oracle Database 19c
PDF
Richiami su Linux - Webmin - Reti di calcolatori
PDF
Seminario team working - 21-1-2015
PDF
Idp, passo dopo passo!
PDF
Laboratorio Di Basi Di Dati 01 Introduzione
PDF
PostgreSQL : Tuning
PDF
Battaglia Navale
PDF
Componenti dello stack LAMP - PHP, il linguaggio, l'installazione - MySQL, in...
PDF
Lezione12: Autenticazione e gestione delle sessioni in REST
PDF
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
PDF
PostgreSQL : Architettura di storage
PDF
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
PDF
Virtualizzazione con Gnu/Linux e Xen
PPTX
Microservices webinar EMEA Aug. 2017
Hosting Linux: la gestione dei permessi file #TipOfTheDay
PostgreSQL: Prima configurazione
Workshop – Il server FUSS: struttura, filosofia progettuale e casi d’uso
Laboratorio Di Basi Di Dati 08 Il Web Server Apache
Laboratorio Di Basi Di Dati 09 Il Linguaggio P H P
Drupal - per chi vuole iniziare
Liferay Portal CE 7.4: Come configurare Oracle Database 19c
Richiami su Linux - Webmin - Reti di calcolatori
Seminario team working - 21-1-2015
Idp, passo dopo passo!
Laboratorio Di Basi Di Dati 01 Introduzione
PostgreSQL : Tuning
Battaglia Navale
Componenti dello stack LAMP - PHP, il linguaggio, l'installazione - MySQL, in...
Lezione12: Autenticazione e gestione delle sessioni in REST
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
PostgreSQL : Architettura di storage
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
Virtualizzazione con Gnu/Linux e Xen
Microservices webinar EMEA Aug. 2017
Ad

Similar to Apache HTTP Server (20)

PPT
Come funziona la navigazione Web
PDF
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Applica...
PDF
Linux Day 2009 LAMP HowTo
PDF
Corso PHP ENAIP - lezione #01 - 17/01/2014
PDF
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
PDF
sicurezza e php
PDF
Web frameworks
PDF
Come sviluppo le applicazioni web
PPT
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
PDF
Manuale EasyPHP e Wordpress
PDF
Set up and management of an integrated information system on Linux.
PDF
Set up and management of an integrated information system on Linux.
PPTX
Come analizzare il log del web server
PPTX
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
TXT
Link. php [santi caltabiano]
PDF
ClearOS
PDF
Chi ha paura della command-line? - WordCamp Roma 2018
PDF
Combattere contro il codice del “cugino”? Symfony può aiutarti a sopravvivere...
ODP
PDF
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con Linux
Come funziona la navigazione Web
Gli HTTP Security Header e altri elementi da sapere su HTTP in un Web Applica...
Linux Day 2009 LAMP HowTo
Corso PHP ENAIP - lezione #01 - 17/01/2014
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
sicurezza e php
Web frameworks
Come sviluppo le applicazioni web
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Manuale EasyPHP e Wordpress
Set up and management of an integrated information system on Linux.
Set up and management of an integrated information system on Linux.
Come analizzare il log del web server
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Link. php [santi caltabiano]
ClearOS
Chi ha paura della command-line? - WordCamp Roma 2018
Combattere contro il codice del “cugino”? Symfony può aiutarti a sopravvivere...
Linux Day 2018 Roma - Web Application Penetration Test (WAPT) con Linux
Ad

Apache HTTP Server

  • 1. APACHE HTTPD SERVER Linux per sviluppatori By M@r.S
  • 2. 2 ABOUT ME Mariano Fiorentino https://it.linkedin.com/in/marianofiorentino ● CTO & Technical Director @travelmatic.com ● Solution Architect @Enginnering.it ● PHP User Group Torino
  • 3. 3 Il videocorso su UDEMY https://www.udemy.com/corso-linux-per-sviluppatori-web- lamp-apache-php-mysql/?couponCode=SLIDES10 ● Installare un server linux ● Lavorare con la linea di comando ● Gestione gruppi, utenti e permessi ● Bash scripting ● Espressioni regolari ● Apache, NGnix &Https ● Installare PHP & MySql ● Cron e crontab
  • 4. 4 Apache E’ il nome di un server web libero sviluppato dalla Apache Software Foundation. È la piattaforma server Web modulare più diffusa, in grado di operare su una grande varietà di sistemi operativi, tra cui UNIX/Linux e Microsoft Windows.
  • 5. 5 Architettura Operativamente, l'architettura è composta da un servizio il quale, sulla base delle impostazioni contenute nel file di configurazione httpd.conf, permette l'accesso a uno o più siti, gestendo varie caratteristiche di sicurezza e potendo ospitare diverse estensioni per pagine attive (o dinamiche), come PHP.
  • 6. 6 Prefork vs FastCGI Process Manager I principali modi di configurazione di PHP su Apache sono: ● MPM Prefork Assegna un processo ad ogni web request. Apache crea N processi in attesa di una richiesta ed al bisogno altri processi vengono creati. ● PHP-FPM Invece di creare un nuovo processo per ogni richiesta, FastCGI usa i processi persistenti per gestire una serie di richieste. Questi processi sono posseduti dal server di FastCGI e non dal server web.
  • 8. 8 Apache comandi Avvia il servizio ● service httpd start Ferma il servizio ● service httpd stop Ricarica la configurazione ● service httpd reload NB. Se Apache è stato configurato per ascoltare sulla porta privilegiata va gestito da root
  • 10. 10 Files di configurazione ● httpd.conf: file di configurazione del server. ● php.conf: file di configurazione del modulo per php. ● conf.modules.d: cartella che contiene le configurazioni dei moduli di apache.
  • 11. 11 Core Apache Configuration (httpd.conf) ● Directory di installazione di Apache ServerRoot “/etc/httpd” ● Indirizzo IP e porte di ascolto del server Listen 80 ● Email da mostrare nei messaggi di errore ServerAdmin corsolinux@corsolinux.it ● Server Name e Porta ServerName localhost:80
  • 12. 12 Core Apache Configuration (httpd.conf) ● Directory di default da cui prendere i documenti DocumentRoot “/var/www/html” ● Include altri file di configurazione al server Include “test.conf” Include “/usr/aliases/*.conf”
  • 13. 13 Core Apache Configuration (httpd.conf) ● Configurazioni specifiche di modulo <ifModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 seconds" ExpiresByType text/html "access plus 1 seconds" ExpiresByType image/png "access plus 2592000 seconds" ExpiresByType text/css "access plus 2592000 seconds" ExpiresByType text/javascript "access plus 216000 seconds" ExpiresByType application/x-javascript "access plus 216000 seconds" </ifModule>
  • 14. 14 Core Apache Configuration (httpd.conf) ● Configurazioni applicate alle directory <Directory “/var/www"> Configurazione Configurazione Direttiva </Directory> Le direttive di accesso determinano chi può consultare i files contenuti nella cartella indicata
  • 15. 15 Core Apache Configuration (httpd.conf) ● Configurazioni applicate alle location <Location “/server-status"> SetHandler server-status </Location>
  • 16. 16 Core Apache Configuration (httpd.conf) ● Configurazioni applicate ai files <Files “/private.html"> Require all denied </Files>
  • 17. 17 Core Apache Configuration (httpd.conf) ● La risorsa è accessibile Require all granted ● La risorsa non è accessibile Require all denied ● La risorsa è accessibile dai seguenti indirizzi Require ip 10 172.20 192.168.2 ● La risorsa è accessibile con i seguenti metodi http Require method GET POST
  • 18. 18 Core Apache Configuration (httpd.conf) ● Definisce dove verranno salvati gli errori ErrorLog “logs/error_log” ● Definisce il formato dei log LogFormat "%h %l %u %t "%r" %>s %b" common ● Crea un log degli accessi CustomLog “logs/access_log” common
  • 19. 19 Cos’è un Virtual Host di Apache? L'Hosting virtuale è un metodo usato sui server web per ospitare più di un nome di dominio sullo stesso server, o sullo stesso indirizzo IP.
  • 21. 21 Configurazione sullo stesso IP NameVirtualHost *:80 <VirtualHost *:80> ServerName www.corsolinux.it DocumentRoot /var/www/linux_docroot </VirtualHost> <VirtualHost *:80> ServerName www.corsoreactjs.it DocumentRoot /var/www/react_docroot </VirtualHost>
  • 22. 22 Configurazione con diversi IP NameVirtualHost *:80 <VirtualHost 192.168.1.2:80> ServerName www.corsolinux.it DocumentRoot /var/www/linux_docroot </VirtualHost> <VirtualHost 192.168.1.3:80> ServerName www.corsoreactjs.it DocumentRoot /var/www/react_docroot </VirtualHost>
  • 23. 23 Accedere ai virtual host Modificare il file /etc/hosts sulla nostra virtual machine aggiundendo le voci: 127.0.0.1 www.corsolinux.it 127.0.0.1 www.corsoreact.it Questa modifica permetterà il riconoscimento dei virtual host alla macchina virtuale
  • 25. 25 Accedere ai virtual host Modificare il file hosts sul nostro PC dove abbiamo installato VirtualBox. In caso di Port Forwarding: 127.0.0.1 www.corsolinux.it 127.0.0.1 www.corsoreactjs.it In caso di Bridged Networking: <ip della vostra vm> www.corsolinux.it <ip della vostra vm> www.corsoreactjs.it
  • 26. 26 Accedere ai virtual host (C:)/Windows/System32/drivers/etc, doppio click su hosts (scegliere il blocco note per editare)
  • 27. 27 Cosa sono i moduli di Apache? ● Apache è famoso per la sua flessibilità perché è stato implementato per essere modulare. ● I moduli consentono di eseguire funzioni aggiuntive, estendendo le funzionalità offerte dal server. ● E’ relativamente semplice configurare il Web Server aggiungendo e rimuovendo moduli in base alle esigenze richieste. ● Apache viene fornito dalle distribuzioni Linux con un set o moduli preinstallati.
  • 28. 28 Moduli comunemente utilizzati Files di configurazione presenti nella cartella /etc/httpd/conf.modules.d/ ● mod_php ● mod_rewrite ● mod_deflate ● mod_proxy ● mod_headers ● mod_alias ● mod_ssl
  • 30. 30 MOD_REWRITE Riscrive le url richieste in base alle regole definite, può anche essere utilizzato per reindirizzare un URL a un altro URL. RewriteEngine on RewriteRule "^/foo.html$" "/bar.html" [PT] https://httpd.apache.org/docs/2.4/rewrite/
  • 31. 31 MOD_DEFLATE Comprime l’output del server prima di inviarlo al client <Directory "/your-server-root/manual"> AddOutputFilterByType DEFLATE text/html </Directory>
  • 32. 32 MOD_PROXY Implementa un proxy / gateway per Apache HTTP Server, supportando numerosi protocolli e diversi algoritmi di bilanciamento del carico (un proxy è un server che funge da intermediario). ProxyPass "/foo" "http://foo.example.com/bar" ProxyPassReverse "/foo" "http://foo.example.com/bar"
  • 33. 33 MOD_HEADERS Questo modulo fornisce le direttive per controllare e modificare le intestazioni delle richieste e delle risposte HTTP. Le intestazioni possono essere unite, sostituite o rimosse. Header set MyHeader "Hello World”
  • 34. 34 MOD_ALIAS Le direttive contenute in questo modulo consentono la manipolazione e il controllo degli URL quando le richieste arrivano al server. Le direttive Redirect vengono utilizzate per istruire i client a effettuare una nuova richiesta con un URL diverso. Alias "/image" "/ftp/pub/image" Redirect "/one" "/two"
  • 35. 35 MOD_SSL Questo modulo fornisce il supporto SSL v3 e TLS v1.x per il server HTTP Apache. SSL v2 non è più supportato. NameVirtualHost *:443 <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/pki/tls/certs/ca.crt SSLCertificateKeyFile /etc/pki/tls/private/ca.key DocumentRoot /var/www/vhosts/yoursite.com/httpsdocs ServerName yoursite.com </VirtualHost>
  • 36. 36 Cosa è .htaccess? .htaccess è un file di configurazione di Apache Web Server. Quando un file .htaccess viene inserito in una directory, quel file viene rilevato ed eseguito. Questi file possono essere utilizzati per modificare la configurazione di Apache in modo da abilitare o disabilitare funzionalità.
  • 37. 37 Visualizzare .htaccess e .htpasswd Su Linux/Unix per convenzione i file di configurazioni locali agli utenti sono di default nascosti. I comandi di ricerca di files nelle cartelle a meno di utilizzare parametri particolari non mostrano quindi i files e le cartelle che hanno un nome che comincia con "." Per verificare se in una cartella abbiamo dei files nascosti bisogna eseguire ls con il parametro “a”: ● ls -la
  • 38. 38 Proteggere una sezione di un sito AuthName "Member's Area Name" AuthUserFile /path/to/password/file/.htpasswd AuthType Basic require valid-user ErrorDocument 401 “Errore 401”
  • 39. 39 Proteggere una sezione di un sito Per creare la password: htpasswd -c /path/to/password/file/.htpasswd corsolinux Per aggiornare la password: htpasswd /path/to/password/file/.htpasswd corsolinux
  • 40. 40 Selinux, ancora lui... SELinux fornisce un utente (unconfined_u), un ruolo (object_r), un tipo (user_home_t), ed un livello (s0). Tale informazione è usata per prendere decisioni di controllo sugli accessi. ls -Z .htaccess -rw-rw-r-- user1 group1 unconfined_u:object_r:user_home_t:s0 .htaccess restorecon -R /var/www