Chamilo è un sistema di gestione dell'apprendimento gratuito e open source (LMS) ampiamente utilizzato per l'istruzione online e la collaborazione di gruppo in tutto il mondo.
In questo articolo, ti mostrerò come distribuire l'ultima versione stabile di Chamilo su un'istanza del server Ubuntu 18.04 LTS.
Prerequisiti
- Per la produzione è consigliata una nuova istanza del server x64 LTS di Vultr Ubuntu 18.04 LTS con memoria sufficiente, almeno 8 GB. Dì che il suo indirizzo IPv4 è
203.0.113.1
.
- Un utente sudo .
- L'istanza del server è stata aggiornata all'ultimo stato stabile. Vedi i dettagli qui .
- Un dominio
chamilo.example.com
puntato all'istanza del server sopra menzionata.
Modifica le regole del firewall UFW
In produzione, è necessario modificare le regole del firewall UFW per consentire solo il traffico TCP in ingresso sulle porte SSH, HTTP e HTTPS:
sudo ufw allow in ssh
sudo ufw allow in http
sudo ufw allow in https
sudo ufw enable
Installa Apache 2.4
Su Ubuntu 18.04 LTS, puoi usare APT per installare l'ultima versione stabile di Apache come segue:
sudo apt install -y apache2
Rimuovi la pagina di benvenuto di Apache preimpostata:
sudo mv /var/www/html/index.html /var/www/html/index.html.old
Impedire ad Apache di esporre file e directory all'interno della directory radice Web /var/www/html
, ai visitatori:
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Abilita il modulo di riscrittura di Apache:
sudo a2enmod rewrite
Avviare il servizio Apache e avviarlo automaticamente ad ogni avvio del sistema:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Installa e metti al sicuro MariaDB serie 10.3
Installa l'ultima versione stabile di MariaDB:
sudo apt install -y software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.accretive-networks.net/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-server
Durante l'installazione, verrà richiesto di impostare una nuova password per l' root
utente MariaDB . Per motivi di sicurezza, assicurati di inserire una password complessa qui.
Avviare il servizio MariaDB e avviarlo automaticamente ad ogni avvio del sistema:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
MariaDB sicura:
sudo /usr/bin/mysql_secure_installation
Quando richiesto, rispondere a ciascuna domanda sullo schermo come segue:
Enter current password for root (enter for none): your-MariaDB-root-password
Change the root password? [Y/n]: n
Remove anonymous users? [Y/n]: y
Disallow root login remotely? [Y/n]: y
Remove test database and access to it? [Y/n]: y
Reload privilege tables now? [Y/n]: y
Installa i pacchetti PHP 7.2 richiesti
Per ottenere maggiori prestazioni sul sito di Chamilo, si consiglia di installare i pacchetti PHP 7.2 più recenti anziché i pacchetti PHP 5.x legacy. Attualmente, è possibile utilizzare un repository PPA di terze parti per installare i pacchetti PHP 7.2 richiesti come segue.
Installa il ondrej/php
repository PPA, quindi aggiorna il sistema:
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
Installa i pacchetti PHP 7.2 richiesti:
sudo apt install -y php7.2 php7.2-opcache php7.2-cli php7.2-curl php7.2-common php7.2-gd php7.2-intl php7.2-mbstring php7.2-mysql libapache2-mod-php7.2 php7.2-soap php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-ldap php-apcu-bc
Eseguire il backup e modificare il file di configurazione PHP orientato ad Apache:
sudo cp /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.bak
sudo sed -i 's#;date.timezone =#date.timezone = America/Los_Angeles#' /etc/php/7.2/apache2/php.ini
Nota: quando si lavora sulla propria istanza del server, assicurarsi di sostituire il valore del fuso orario di esempio America/Los_Angeles
con il proprio. Puoi trovare tutti i valori di fuso orario supportati qui .
Installa Chamilo
Avendo installato lo stack LAMP, è ora il momento di distribuire Chamilo LMS. Sarà necessario configurare un database MariaDB dedicato per Chamilo, preparare i file LMS Chamilo, ottimizzare le impostazioni PHP 7.2, configurare un server virtuale Apache, completare l'installazione in un browser Web ed eseguire misure di sicurezza post-installazione.
Accedi alla shell MariaDB come root
:
mysql -u root -p
Nella shell MariaDB, inserisci le seguenti istruzioni:
CREATE DATABASE chamilo;
CREATE USER 'chamilouser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON chamilo.* TO 'chamilouser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Nota: per motivi di sicurezza, assicurarsi di sostituire il nome chamilo
del database, il nome utente del database chamilouser
e la password yourpassword
con i propri.
Preparare i file LMS di Chamilo
Scarica l'ultima versione stabile di Chamilo dal repository Chamilo GitHub. Assicurati di scegliere la versione orientata a PHP 7.x:
cd
wget https://github.com/chamilo/chamilo-lms/releases/download/v1.11.8/chamilo-1.11.8-php7.tar.gz
Estrai tutti i file Chamilo nella /opt
directory:
sudo tar -zxvf chamilo-1.11.8-php7.tar.gz -C /opt
Per facilitare l'uso quotidiano e i potenziali aggiornamenti, creare un collegamento simbolico, che punta alla /opt/chamilo-1.11.8-php7
directory, nella directory radice Web di Apache /var/www/html
:
sudo ln -s /opt/chamilo-1.11.8-php7 /var/www/html/chamilo
Modifica la proprietà di tutti i file Chamilo per l' www-data
utente e il www-data
gruppo:
sudo chown -R www-data:www-data /opt/chamilo-1.11.8-php7
Ottimizza le impostazioni di PHP 7.2 per Chamilo
Usa l' vi
editor per aprire lo stesso file di configurazione PHP che abbiamo modificato in precedenza:
sudo vi /etc/php/7.2/apache2/php.ini
Trova le seguenti righe, rispettivamente:
session.cookie_httponly =
upload_max_filesize = 2M
post_max_size = 8M
Sostituirli con i seguenti:
session.cookie_httponly = 1
upload_max_filesize = 100M
post_max_size = 100M
Salva ed esci:
:wq!
Installa un server virtuale Apache per Chamilo LMS
Utilizzare i seguenti comandi per configurare un host virtuale Apache per il sito LMS di Chamilo:
cat <<EOF | sudo tee /etc/apache2/sites-available/chamilo.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/chamilo
ServerName chamilo.example.com
ServerAlias example.com
<Directory />
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/html/chamilo>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/chamilo.example.com-error_log
CustomLog /var/log/apache2/chamilo.example.com-access_log common
</VirtualHost>
EOF
Nota: assicurati di sostituire tutte le occorrenze del example.com
tuo dominio attuale.
Utilizzare un nuovo collegamento simbolico per sostituire il file di collegamento predefinito nella /etc/apache2/sites-enabled
directory:
sudo rm /etc/apache2/sites-enabled/000-default.conf
sudo ln -s /etc/apache2/sites-available/chamilo.conf /etc/apache2/sites-enabled/
Riavvia il servizio Apache per rendere effettive tutte le modifiche:
sudo systemctl restart apache2.service
Termina l'installazione in un browser web
Punta il tuo browser Web preferito su http://chamilo.example.com
e verrai portato alla procedura guidata di installazione di Chamilo. Fai clic sul Install Chamilo
pulsante per andare avanti. La seguente sezione ti guiderà attraverso il processo di installazione:
Step 1 - Installation Language
: Scegli la lingua che desideri utilizzare, ad esempio English
, quindi fai clic sul Next
pulsante.
Step 2 – Requirements
: Assicurarsi che tutti i requisiti obbligatori siano stati soddisfatti, quindi fare clic sul New installation
pulsante.
Step 3 – Licence
: È necessario rivedere la licenza GNU General Public (GPL), selezionare la casella di controllo accanto alla I agree
frase, compilare tutti i campi delle informazioni di contatto, quindi fare clic sul Next
pulsante per andare avanti.
Step 4 – MySQL database settings
: Inserisci le credenziali del database impostate in precedenza, quindi fai clic sul Check database connection
pulsante per verificarle. Fai clic sul Next
pulsante per andare avanti.
Step 5 – Config settings
: Assicurati di modificare la password dell'amministratore preimpostata, compila gli altri campi in base al tuo piano aziendale, quindi fai clic sul Next
pulsante per andare avanti.
Step 6 – Last check before install
: Rivedere tutte le impostazioni e quindi fare clic sul Install Chamilo
pulsante per avviare l'installazione Web.
Step 7 – Installation process execution
: Una volta installato Chamilo, fai clic sul Go to your newly created portal.
pulsante per completare la procedura guidata di installazione web.
Eseguire misure di sicurezza post-installazione
Inoltre, di seguito sono elencate due misure di sicurezza successive all'installazione che è necessario adottare:
sudo chmod -R 0555 /var/www/html/chamilo/app/config
sudo rm -rf /var/www/html/chamilo/main/install