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 CentOS 7.
Prerequisiti
- Una nuova istanza del server Vultr CentOS 7 x64 con memoria sufficiente. 8 GB o più è raccomandato in produzione. Dì che il suo indirizzo IPv4 è
203.0.113.1
.
- Un utente sudo .
- L'istanza del server è stata aggiornata all'ultimo stato stabile usando il repository EPEL YUM. Vedi i dettagli qui .
- Un dominio,
chamilo.example.com
essendo puntato all'istanza del server menzionata sopra.
Modifica le regole del firewall
In produzione, è necessario modificare le regole del firewall per consentire solo il traffico TCP in ingresso sulle porte SSH, HTTP e HTTPS:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
Installa Apache 2.4
Su CentOS 7, puoi utilizzare YUM per installare l'ultima versione stabile di Apache:
sudo yum install httpd httpd-devel -y
Rimuovi la pagina di benvenuto di Apache preimpostata:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Avviare il servizio Apache e avviarlo automaticamente ad ogni avvio del sistema:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Installa e proteggi MariaDB
Imposta un repository YUM per l'ultima versione stabile di MariaDB sul sistema:
cat <<EOF | sudo tee /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.3 CentOS repository list - created 2018-09-25 14:01 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
Installa MariaDB usando il repository YUM MariaDB appena creato:
sudo yum install -y MariaDB-server MariaDB-client
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
Premere ENTERper utilizzare le impostazioni predefinite e scegliere una password sicura quando richiesto:
Installa i pacchetti PHP 7.2.x richiesti
Per ottenere prestazioni migliori sul server Chamilo LMS, si consiglia di installare i pacchetti PHP 7.2 anziché i pacchetti PHP 5.x legacy. Attualmente, è possibile utilizzare il repository YUM Webtatic per installare i pacchetti richiesti:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install -y mod_php72w php72w-opcache php72w-cli php72w-common php72w-gd php72w-intl php72w-mbstring php72w-mysqlnd php72w-process php72w-soap php72w-xml php72w-xmlrpc php72w-ldap php72w-pecl-apcu
Backup e aggiornamento del file di configurazione di PHP:
sudo cp /etc/php.ini /etc/php.ini.bak
sudo sed -i 's#;date.timezone =#date.timezone = America/Los_Angeles#' /etc/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 .
Crea un database MariaDB dedicato per Chamilo LMS
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' apache
utente e il apache
gruppo:
sudo chown -R apache:apache /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.ini
Trova rispettivamente le seguenti righe:
session.cookie_httponly =
upload_max_filesize = 2M
post_max_size = 8M
Uno per uno, sostituirli come segue:
session.cookie_httponly = 1
upload_max_filesize = 100M
post_max_size = 100M
Salva ed esci:
:wq!
Installa un server virtuale Apache per Chamilo LMS
Configura un host virtuale Apache per il tuo sito Chamilo LMS:
cat <<EOF | sudo tee /etc/httpd/conf.d/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/httpd/chamilo.example.com-error_log
CustomLog /var/log/httpd/chamilo.example.com-access_log common
</VirtualHost>
EOF
Riavvia il servizio Apache per rendere effettive tutte le modifiche:
sudo systemctl restart httpd.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. Una volta verificato, fai clic sul Next
pulsante per andare avanti.
Step 5 – Config settings
: Assicurarsi di modificare la password dell'amministratore preimpostata (una stringa casuale), compilare altri campi in base al proprio business plan, quindi fare 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