Apache MySQL PHP - FTP



Documenti analoghi
Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale:

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Xampp. Valeriano Maysonnave - A.A. 2014/2015 -

Il Web Server e il protocollo HTTP

19. LA PROGRAMMAZIONE LATO SERVER

Apache 2, PHP5, MySQL 5

Application Server per sviluppare applicazioni Java Enterprise

Istruzioni per il server

Laboratorio di Sistemi Programmare in Php con NetBeans Php. Programmare in Php con Xampp e NetBeans IDE

COME CREARE E COLLEGARSI AD UN DATABASE MICROSOFT SQL SERVER O SUN MYSQL

I tutorial di MadLabs.. Installazione e prima configurazione

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso

FASE 1: Definizione del tema, degli obiettivi e del target con il cliente... (da cui dipendono le scelte successive!)

Guida all installazione e configurazione di Joomla 1.5

Guida all Installazione del ProxyFatturaPA

Il web server Apache Lezione n. 3. Introduzione

Costruzione di siti web. Il Content Management System Joomla

Server dolphin: installazione e configurazione di un server web

ISPConfig: configurazione di un sito

Laboratorio di Progettazione Web

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Manuale per la configurazione di AziendaSoft in rete

Corso di PHP. Prerequisiti. 1 - Introduzione

Aggiornamenti Sistema Addendum per l utente

Introduzione ai servizi di Linux

Come installare e configurare il software FileZilla

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Sito web parrocchiale: STRUMENTI E PROGRAMMI

Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server

Una piattaforma per creare blog, che utilizza il linguaggio PHP e si

Individuare Web Shell nocive con PHP Shell

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

INSTALLAZIONE JOOMLA

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

MagiCum S.r.l. Progetto Inno-School

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

SVILUPPO DEL BLOG Autori: Ilari Michele, Cimini Oscar, Zaleski Dawid

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

2 Configurazione lato Router

Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it!

Corso Creare Siti WEB

Introduzione ad EasyPHP

Corso basi di dati Installazione e gestione di PWS

GERARCHIE RICORSIVE - SQL SERVER 2008

La prima operazione da fare è di registrarsi nel sito di Altervista al seguente indirizzo:

Corso GNU/Linux - Lezione 6. Davide Giunchi - davidegiunchi@libero.it

14 maggio 2010 Versione 1.0

Reti di Calcolatori. Il Livello delle Applicazioni

Argomenti Percorso 7 Apache HTTP

Configurazione avanzata di XAMPP

IMPORTANTE PER ESEGUIRE QUESTA INSTALLAZIONE NEI SISTEMI OPERATIVI NT-2000-XP, BISOGNA AVERE I PRIVILEGI AMMINISTRATIVI.

LaCie Ethernet Disk mini Domande frequenti (FAQ)

Configurazione di Outlook Express

Magento - guida all'installazione

Introduzione a phpmyadmin

Progetto di Ingegneria del Software 2. SWIMv2

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Siti web centrati sui dati (Data-centric web applications)

LABORATORIO DI Tecnologie di Sviluppo per il Web. Guida all installazione del Software

Joomla: Come installarlo e come usarlo. A cura di

Talento LAB UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Lezione II: Web server e ambiente di lavoro

Lezione n 1! Introduzione"

XAMPP (a cura di Michele Acierno a.a. 2012/2013)

Procedura per creare un archivio storico remoto nelle 24 ore giornaliere

Capitolo 4 Pianificazione e Sviluppo di Web Part

Fate doppio click sul file con nome postgresql-8.0.msi e impostate le varie voci come riportato nelle immagini seguenti:

GateManager. 1 Indice. tecnico@gate-manager.it

ISTRUZIONI INSTALLAZIONE PMANGO

OwnCloud 8 su rete lan aziendale (una specie di Gdrive privato)

Protocolli applicativi: FTP

COSTRUZIONE SITO WEB da AlterVista (

InterNet: rete di reti

Installazione del software Fiery per Windows e Macintosh

Lezione 9. Applicazioni tradizionali

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

TCP/IP: INDIRIZZI IP SIMBOLICI

ImporterONE Export Plugin Magento

Utilizzo del server LDAP locale per la sincronizzazione della base utenti e della GAL

Iniziare con Internet Explorer. dott. Andrea Mazzini

MyFRITZ!, Dynamic DNS e Accesso Remoto

ImporterOne Manuale Export Plugin Prestashop

Moduli di Fatturazione Elettronica

HTTPD - Server web Apache2

Guida all'installazione del CMS Os-Commerce

I protocolli di posta elettronica

Windows 98 e Windows Me

Transcript:

Apache MySQL PHP - FTP Scelta del software, Installazione e configurazione Ivan Grimaldi grimaldi.ivan@gmail.com HcssLug GNU/LINUX USERS GROUP

Outline Cenni sul funzionamento di un WebServer Apache, PHP, MySQL e vsftpd Installazione e configurazione di un WebServer 2

Web Server Quando apriamo il nostro browser e digitiamo un indirizzo, facciamo una richiesta ad un server remoto. La comunicazione tra il browser ed il server avviene attraverso un canale, il protocollo HTTP (Hyper Text Transfer Protocol). 3

Web Server Un Server Web quindi non è altro che un programma in esecuzione su una macchina (PC) collegata ad internet, che riceve una richiesta di una risorsa, e la restituisce al client (il browser), sotto forma di testo formattato HTML SENDS REQUEST SERVER WEB SENDS RESPONSE 4

Apache Apache HTTP Server, o più comunemente Apache, è il nome dato alla piattaforma server Web modulare più diffusa, in grado di operare da sistemi operativi UNIX-Linux e Microsoft. La storia di Apache inizia nel mese di febbraio del 1994, quando inizia il progetto del Gruppo Apache, basato sul server httpd della NCSA (National Center of Supercomputing Applications), Università dell'illinois. Il nome, secondo la leggenda, nasce dal fatto che inizialmente il server era semplicemente una raccolta di patch da applicare al server NCSA Apache = a patchy server 5

Apache diffusione secondo Netcraft 6

PHP PHP (acronimo ricorsivo di "PHP: Hypertext Preprocessor", preprocessore di ipertesti) è un linguaggio di scripting interpretato, con licenza open source, originariamente concepito per la programmazione Web ovvero la realizzazione di pagine web dinamiche. Attualmente è utilizzato principalmente per sviluppare applicazioni web lato server ma può essere usato anche per scrivere script a linea di comando o applicazioni standalone con interfaccia grafica. L'elaborazione di codice PHP sul server produce codice HTML da inviare al browser dell'utente che ne fa richiesta. 7

PHP PHP riprende per alcuni versi la sintassi del C Supporta la programmazione ad oggetti (dalla versione 5) Supporta diversi database tra cui MySQL, PostgreSQL, Oracle, Firebird, IBM DB2, Microsoft SQL Server, solo per citarne alcuni. Supporta numerose tecnologie, come XML, SOAP, IMAP, FTP, CORBA. 8

MySQL MySQL è un Relational database management system (RDBMS), composto da un client con interfaccia a caratteri e un server, entrambi disponibili sia per sistemi Unix come GNU/Linux che per Windows, anche se prevale un suo utilizzo in ambito Unix. Il codice di MySQL venne sviluppato fin dal 1979 dalla ditta TcX ataconsult, poi rinominata MySQL AB, ma è solo dal 1996 che viene distribuita una versione che supporta SQL, prendendo spunto da un altro prodotto: msql. MySQL AB è stata rilevata da Sun Microsystems nel 2008, mentre nel 2010 quest'ultima è stata acquisita da Oracle. MySQL svolge il compito di DBMS nella piattaforma LAMP, una delle più usate e installate su Internet per lo sviluppo di siti e applicazioni web dinamiche. 9

vsftpd FTP (File Transfer Protocol) è uno dei protocolli maggiormente usati per il trasferimento dei file. Solitamente prevede l'autenticazione degli utenti e una serie di comandi semplici per scaricare e caricare file. vsftpd è uno dei programmi più usati e sicuri per l'implementazione di questo servizio. Tra i diversi siti internet che utilizzano vsftp abbiamo: ftp.redhat.com ftp.suse.com, ftp.debian.org, ftp.kernel.org, ftp.kde.org, ftp.gnu.org 10

Cosa vogliamo realizzare? 11

Installazione Apache Per partire installeremo Apache Aprire il terminale (Applicazioni > Accessori > Terminale). Al prompt dei comandi digitare: e premete Invio : # su (PASSWORD: password) # apt-get install apache2 Per essere sicuri che tutto sia stato installato correttamente, dovrete testare Apache affinché lavori appropriatamente. Aprite un browser web e inserite quanto segue nella barra degli indirizzi: http://localhost 12

Installazione PHP Aprite ancora il terminale (Applicazioni > Accessori > Terminale). Al prompt dei comandi digitare: e premete Invio : # apt-get install php5 Per far si che PHP funzioni e sia compatibile con Apache dovremo riavviarlo. Per farlo digitate quanto segue, nel terminale: # /etc/init.d/apache2 restart Per essere sicuri che non vi siano problemi con PHP, effettuate questo breve test. # nano /var/www/phpinfo.php --------- <?php phpinfo();?> --------- CTRL + 0 (SALVA) CTRL + x (ESCI) Aprite ora il browser e digitate quanto segue nella barra degli indirizzi: http://localhost/phpinfo.php 13

Installazione MySQL Aprite ancora il terminale (Applicazioni > Accessori > Terminale). Al prompt dei comandi digitare e premete Invio : # apt-get install mysql-server mysql-client php5-mysql Per essere sicuri che tutto sia stato installato correttamente, è possibile testare mysql. # mysql -u root -p Enter password: <PASSWORD> Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1007 Server version: 5.0.51a-24+lenny4 (Debian) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 14

Installazione vsftpd Aprite ancora il terminale (Applicazioni > Accessori > Terminale). Al prompt dei comandi digitare e premete Invio : # apt-get install vsfpd Per essere sicuri che tutto sia stato installato correttamente, è possibile testare mysql. # ftp localhost Connected to localhost. 220 (vsftpd 2.0.7) Name (localhost:user): anonymous 331 Please specify the password. Password: <INVIO> 15

Configurazione vsftpd Per configurare un server FTP in cui gli utenti abilitati ad accedere siano gli stessi del sistema, è necessario modificare il file di configurazione del servizio /etc/vsftpd.conf Cercare la seguente riga e cancellare il carattere di cancelletto # presente all'inizio della stessa: local_enable=yes Applicando le impostazioni sopra discusse, gli utenti del sistema avranno accesso, tramite il servizio FTP, a tutte le cartelle del filesystem locale. Per evitare ciò è opportuno limitare l'accesso degli utenti solamente alla propria cartella Home. chroot_local_user=yes 16

Configurazione PHP - MYSQL Per quanto riguarda la configurazione di PHP e MySQL entrambi si basano su un solo file di configurazione La configurazione di PHP si trova in /etc/php5/apache2/php.ini La configurazione di MySQL si trova in /etc/mysql/my.cnf 17

Configurazione Apache Tutta la configurazione di Apache può essere fatta operando con un editor sul file apache2.conf che si trova in /etc/apache/ Le porte su cui è in ascolto all'avvio del servizio sono elencate in ports.conf La directory mods-available contiene tutti i moduli disponibili con apache2, mentre nella directory mods-enabled sono elencati i moduli effettivamente caricati all'avvio del servizio La directory sites-available contiene le direttive di configurazione relative a tutti i siti che questo server Web ospita, mentre i siti effettivamente pubblicati e visibili sono elencati nella directory sites-enabled. I file contenuti nelle directory mods-enabled sites-enabled sono dei link a quelli contenuti nelle due directory mods-available e sites-available. 18

apache2.conf Il file /etc/apache2/apache2.conf contiene le principali configurazioni di apache2 ServerRoot "/etc/apache2" PidFile /var/run/apache2.pid TimeOut 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 StartServers 5 MaxClients 20 MaxRequestsPerChild 0 Include /etc/apache2/mods-enabled/*.load Include /etc/apache2/mods-enabled/*.conf Include /etc/apache2/httpd.conf Include /etc/apache2/ports.conf 19

Cominciamo la configurazione Le specifiche tecniche dell'implementazione che andremo a fare sono le seguenti: IP Address 127.0.0.1 WEB Sites Domain DocumentRoot localhost /var/www/ www.caio.com /home/caio/public_html www.tizio.com /home/tizio/public_html In questo modo il server WEB anche se dotato di un solo indirizzo IP, ha così modo di riconoscere quale siti WEB tra quelli ospitati è stato effettivamente richiesto Host Virtuali basati su nome 20

Dominio www.caio.com La strategia che seguiremo comporta la creazione di un normale account per ciascun dominio gestito. Vogliamo insomma che ogni dominio sia gestibile da un utente distinto, che vi può accedere anche con con collegamento FTP. # useradd caio -g users # passwd caio A questo punto è possibile verificare che l'utente è abilitato all'utilizzo del server FTP # ftp localhost/ Connected to localhost. 220 (vsftpd 2.0.7) Name (localhost:caio): caio 331 Please specify the password. Password: caio 21

Dominio www.caio.com Effettuiamo la configurazione di Apache aggiungendo il nuovo dominio creando un file in /etc/apache2/sites-available/ che chiamiamo caio.com # nano caio.com -------------- <VirtualHost *:80> ServerName www.caio.com DocumentRoot /home/caio/public_html ServerAdmin caio@info.it </VirtualHost> ---------- a2ensite caio.com /etc/init.d/apache reload 22

Verifica Dominio www.caio.com Creiamo la home page del dominio www.caio.com # sudo gedit index.php -------------- <?php echo Sono Caio ;?> -------------- Inseriamo il dominio nell'elenco degli host file /etc/hosts, inserendo la seguente riga: # sudo gedit hosts -------------- 127.0.0.1 www.caio.com -------------- Apriamo il WEB browser sull'url http://www.caio.com 23

Dominio www.tizio.com E ADESSO TOCCA A VOI... 24

GRAZIE PER L'ATTENZIONE Ivan Grimaldi grimaldi.ivan@gmail.com HcssLug GNU/LINUX USERS GROUP