5.3.1 – Tecnologie lato server: Web server Apache e PHP

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 e httpd.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

  1. Installazione su Linux (esempio con Ubuntu):
sudo apt update
sudo apt install apache2
  1. Avvio del servizio Apache:
sudo systemctl start apache2
  1. Configurazione di un sito web:
    • Modificare il file di configurazione del sito predefinito in /etc/apache2/sites-available/000-default.conf.
    • Esempio di configurazione:
<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>
  1. 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.

vai al corso PHP

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

  1. 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>
  1. Variabili e operatori:
<?php
$name = "John";
$age = 30;
echo "Nome: $name, Età: $age";
?>
  1. Strutture di controllo:
<?php
if ($age > 18) {
    echo "Adulto";
} else {
    echo "Minore";
}
?>
  1. 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

  1. 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.
  2. 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.
  3. 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.