Introduzione

Gibbon è un sistema di gestione scolastica gratuito e open source appositamente progettato per insegnanti, studenti, genitori e dirigenti. Aiuta gli insegnanti a trovare, contattare e aiutare i propri studenti. Consente agli insegnanti di pianificare, insegnare, raccogliere, valutare e restituire il lavoro in un processo semplificato. È uno strumento eccellente ed efficiente one-stop-shop che rende tutte le informazioni disponibili in un unico posto. Viene fornito con una semplice interfaccia basata sul Web che aiuta gli insegnanti ad accedere a tutti i dettagli degli studenti in movimento.

In questo tutorial, ti mostreremo come installare Gibbon LMS con Let's Encrypt SSL sul server Ubuntu 20.04 LTS Focal Fossa.

Prerequisiti

  • Un server che esegue Ubuntu 20.04 LTS Focal Fossa.
  • Un nome di dominio valido puntato all'IP del server.
  • Una password di root configurata sul server.

Se desideri installare Gibbon LMS su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Iniziare

Innanzitutto, si consiglia di aggiornare i pacchetti di sistema all'ultima versione. Puoi aggiornarli con il seguente comando:

sudo apt-get update -y

Dopo aver aggiornato tutti i pacchetti, puoi procedere al passaggio successivo.

Installare Apache, MariaDB e PHP

Successivamente, dovrai installare il server web Apache, MariaDB, PHP e altre estensioni PHP sul tuo sistema. Puoi installarli tutti con il seguente comando:

sudo apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-sqlite3 php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-bcmath php-xml php-cli php-zip unzip git -y

Una volta installati tutti i pacchetti, modifica il file php.ini e imposta i valori desiderati:

sudo nano /etc/php/7.4/apache2/php.ini

Modificare le seguenti righe con i valori richiesti:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/Rome

Salva e chiudi il file quando hai finito. Quindi, puoi procedere al passaggio successivo.

Configurare il database MariaDB

Successivamente, dovrai creare un database e un utente per Gibbon. Innanzitutto, accedi alla shell MySQL con il seguente comando:

mysql

Una volta effettuato l'accesso, crea un database e un utente con i seguenti comandi:

CREATE DATABASE gibbondb;
CREATE USER 'gibbon'@'localhost' IDENTIFIED BY 'password';

Successivamente, concedi tutti i privilegi al database Gibbon con il seguente comando:

GRANT ALL ON gibbondb.* TO 'gibbon'@'localhost' WITH GRANT OPTION;

Successivamente, svuota i privilegi ed esci dalla shell MySQL con il seguente comando:

FLUSH PRIVILEGES;
EXIT;

Una volta configurato il database, puoi procedere al passaggio successivo.

Installare Gibbon

Innanzitutto, dovrai scaricare l'ultima versione di Gibbon dal suo sito Web ufficiale. Puoi scaricarlo con il seguente comando:

sudo wget https://github.com/GibbonEdu/core/archive/v20.0.00.zip

Una volta completato il download, puoi decomprimere il file scaricato con il seguente comando unzip:

sudo unzip v20.0.00.zip

Successivamente, sposta la directory estratta nella directory root di Apache con il seguente comando:

sudo mv core-20.0.00 /var/www/html/gibbon

Successivamente, modifica la proprietà e l'autorizzazione del Gibbon con il seguente comando:

sudo chown -R www-data:www-data /var/www/html/gibbon/
sudo chmod -R 755 /var/www/html/gibbon/

Una volta terminato, puoi procedere al passaggio successivo.

Configurare Apache per Gibbon

Successivamente, dovrai configurare Apache per servire il Gibbon. Per fare ciò, crea un file di configurazione dell'host virtuale Apache con il seguente comando:

sudo nano /etc/apache2/sites-available/gibbon.conf

Aggiungi le seguenti righe:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/gibbon
     ServerName example.com

     <Directory /var/www/html/gibbon/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
    
     <Directory /var/www/html/gibbon/>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
    </Directory>
</VirtualHost>

Salva e chiudi il file quando hai finito. Quindi, abilita l'host virtuale Gibbon eseguendo il seguente comando:

a2ensite gibbon.conf

Successivamente, abilita il modulo di riscrittura rewrite di Apache e riavvia il servizio Apache per applicare le impostazioni di configurazione:

a2enmod rewrite
systemctl restart apache2

A questo punto, il server web Apache è configurato per servire Gibbon LMS. Una volta terminato, puoi procedere al passaggio successivo.

Accedere all'interfaccia web di Gibbon

Ora apri il tuo browser web e accedi all'interfaccia web di Gibbon utilizzando l'URL http://example.com/gibbon/. Verrai reindirizzato alla seguente pagina:

Verifica tutti i requisiti di sistema, seleziona la lingua desiderata e fai clic sul pulsante Invia. Dovresti vedere la pagina di impostazioni per la connessione al database.

Fornire il nome del database, il nome utente, la password e fare clic sul pulsante Invia. Dovresti vedere la pagina di configurazione dell'account utente e del sistema.

Fornisci la configurazione dell'account, le impostazioni di sistema e le impostazioni dell'organizzazione, quindi fai clic sul pulsante Invia. Una volta completata l'installazione, fai clic su vai alla tua home page di Gibbon, dovresti vedere la pagina di accesso di Gibbon.

Fornire il nome utente e la password dell'amministratore e fare clic sul pulsante Accedi. Dovresti vedere la dashboard di Gibbon.

Proteggere Gibbon con Let's Encrypt SSL

Successivamente, si consiglia di proteggere il sito Web con Let's Encrypt SSL. Innanzitutto, installa il client Certbot utilizzando il seguente comando:

sudo apt-get install python3-certbot-apache -y

Una volta installato, esegui il seguente comando per proteggere il tuo sito web con Let's Encrypt SSL:

sudo certbot --apache -d example.com

Ti verrà chiesto di fornire la tua email e di accettare il termine di servizio come mostrato di seguito:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/gibbon-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/gibbon-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/gibbon-le-ssl.conf

Quindi, seleziona se reindirizzare o meno il traffico HTTP a HTTPS come mostrato di seguito:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Digita 2 e premi Invio per installare Let's Encrypt SSL per il tuo sito web:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/gibbon.conf to ssl vhost in /etc/apache2/sites-available/gibbon-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Ora puoi accedere a Gibbon LMS in modo sicuro utilizzando l'URL http://example.com/gibbon/.

Conclusione

Congratulazioni! hai installato e configurato con successo Gibbon LMS con Let's encrypt SSL su Ubuntu 20.04 LTS Focal Fossa. Ora puoi facilmente implementarlo nella tua scuola ed esplorare il Gibbon per nuove funzionalità e caratteristiche.