Obiettivi della lezione:
- Comprendere il funzionamento di un web server. Gli studenti impareranno a identificare e descrivere il funzionamento di un web server, con particolare attenzione ad Apache.
- Analizzare il linguaggio di scripting PHP. Gli studenti acquisiranno conoscenze sul linguaggio PHP, comprendendo come viene utilizzato per creare applicazioni web dinamiche.
- Implementare esempi pratici con Apache e PHP. Gli studenti applicheranno le conoscenze acquisite configurando un web server Apache e sviluppando script PHP.
Introduzione alle tecnologie lato server
Le tecnologie lato server sono fondamentali per la gestione delle richieste client, l’elaborazione dei dati e la generazione di risposte dinamiche. Due delle tecnologie più utilizzate in questo contesto sono il web server Apache e il linguaggio di scripting PHP.
Web server Apache
Apache HTTP Server, comunemente chiamato Apache, è uno dei web server più utilizzati al mondo. È open source e supporta una vasta gamma di funzionalità, tra cui la gestione di contenuti statici e dinamici, la configurazione di server virtuali e l’integrazione con vari linguaggi di scripting.
Caratteristiche principali di Apache
- Modularità: Apache supporta un’architettura modulare che permette di aggiungere o rimuovere funzionalità tramite moduli.
- Configurazione flessibile: Utilizzando i file di configurazione
.htaccess
ehttpd.conf
, Apache consente una gestione dettagliata delle impostazioni del server. - Supporto per linguaggi di scripting: Apache può essere integrato con linguaggi di scripting come PHP, Perl e Python per gestire contenuti dinamici.
Installazione e configurazione di Apache
- Installazione su Linux (esempio con Ubuntu):
sudo apt update
sudo apt install apache2
- Avvio del servizio Apache:
sudo systemctl start apache2
- Configurazione di un sito web:
- Modificare il file di configurazione del sito predefinito in
/etc/apache2/sites-available/000-default.conf
. - Esempio di configurazione:
- Modificare il file di configurazione del sito predefinito in
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- Ricaricare Apache per applicare le modifiche:
sudo systemctl reload apache2
PHP: Hypertext Preprocessor
PHP è un linguaggio di scripting lato server progettato per lo sviluppo web. È particolarmente adatto per creare pagine web dinamiche e interattive, ed è ampiamente utilizzato in combinazione con web server come Apache.
Caratteristiche principali di PHP
- Embedded HTML: PHP può essere integrato direttamente nel codice HTML, facilitando la creazione di contenuti dinamici.
- Compatibilità con database: PHP supporta numerosi database, tra cui MySQL, PostgreSQL e SQLite.
- Librerie estese: PHP dispone di una vasta gamma di librerie e framework che estendono le sue funzionalità.
Sintassi di base di PHP
- Inserimento di codice PHP in HTML:
<!DOCTYPE html>
<html>
<head>
<title>Pagina PHP</title>
</head>
<body>
<h1><?php echo "Benvenuti nel mondo di PHP!"; ?></h1>
</body>
</html>
- Variabili e operatori:
<?php
$name = "John";
$age = 30;
echo "Nome: $name, Età: $age";
?>
- Strutture di controllo:
<?php
if ($age > 18) {
echo "Adulto";
} else {
echo "Minore";
}
?>
- Interazione con il database (MySQL):
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
// Creare connessione
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificare connessione
if ($conn->connect_error) {
die("Connessione fallita: " . $conn->connect_error);
}
// Eseguire query
$sql = "SELECT id, firstname, lastname FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Output dei dati di ogni riga
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Nome: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 risultati";
}
$conn->close();
?>
Esercitazioni pratiche
- Installazione e configurazione di Apache:
- Seguire le istruzioni per installare Apache su un sistema Linux o Windows. Configurare un sito web semplice e verificare che Apache sia in esecuzione correttamente.
- Creazione di una pagina web dinamica con PHP:
- Creare una pagina web che mostra informazioni dinamiche utilizzando variabili PHP e strutture di controllo. Gli studenti dovranno integrare PHP con HTML per creare contenuti interattivi.
- Interazione con un database MySQL:
- Creare una semplice applicazione web che interagisce con un database MySQL. Gli studenti dovranno configurare una connessione al database, eseguire query e visualizzare i risultati in una pagina web.