Mahara è un sistema di e-portfolio open source. Può essere utilizzato anche come piattaforma di social networking. Mahara è scritto in PHP e utilizza il server di database PostgreSQL o MySQL per archiviare i suoi dati. Puoi utilizzare Mahara per creare il tuo portfolio multimediale personalizzato e collaborare con gli altri.
In questo tutorial, installeremo Mahara sul server CentOS 7.
Prerequisito
- Server CentOS 7 minimo
- Privilegi di root
Passaggio 1 - Installazione di Apache
Si consiglia di aggiornare il server prima di installare qualsiasi pacchetto in modo che i pacchetti e i repository esistenti vengano aggiornati.
yum -y update
Dopo aver aggiornato il sistema, puoi procedere con l'installazione del server web Apache.
yum -y install httpd
Ora avvia il server Web Apache e abilitalo all'avvio all'avvio utilizzando il seguente comando.
systemctl start httpd
systemctl enable httpd
Fase 2 - Installazione di PHP
Mahara supporta tutte le versioni di PHP superiori alla 5.3. Ma in questo tutorial installeremo PHP 7.1 poiché PHP v5.3 ha raggiunto la fine del ciclo di vita. L'installazione dell'ultima versione di PHP garantirà la massima sicurezza e prestazioni dell'applicazione.
Il repository YUM predefinito di CentOS non include PHP 7.1, quindi dovrai aggiungere il repository Webtatic nel tuo sistema. Installa la versione EPEL:
yum -y install epel-release
yum -y update
Digita i comandi per installare il repository Webtatic.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
Digita il seguente comando per installare PHP 7.1 insieme a tutte le dipendenze richieste.
yum -y install php71w php71w-mysqli php71w-gd php71w-cli php71w-mcrypt php71w-mbstring php71w-dom
Per verificare se PHP è stato installato correttamente, puoi eseguire:
php -v
Dovresti ottenere un output simile a questo.
[[email protected] ~]# php -v PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Ora dovrai configurare alcune configurazioni in PHP. Apri il file di configurazione PHP, php.ini usando il tuo editor di testo preferito.
nano /etc/php.ini
Trova la riga seguente e decommenta la riga e imposta il fuso orario in base alla tua regione. Ad esempio:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Kolkata
Inoltre, cerca la seguente riga:
;session.entropy_length = 32
Decommenta la riga e cerca la riga seguente:
post_max_size = 8M
Modificare il valore da 8M a 999M. Salva il file ed esci dall'editor.
Fase 3 - Installazione di MariaDB
MariaDB è un fork del database MySQL. Per installare MariaDB sul tuo server, esegui:
yum -y install mariadb mariadb-server
Esegui i seguenti comandi per avviare MariaDB e consentirne l'avvio all'avvio.
systemctl start mariadb
systemctl enable mariadb
Now run the following commands to secure your MariaDB installation.
mysql_secure_installation
Il comando precedente eseguirà uno script per proteggere la nuova installazione di MariaDB. Lo script chiederà la password dell'utente root esistente, abbiamo appena installato MariaDB, la password di root non è impostata, basta premere invio per procedere oltre.
Lo script ti chiederà se desideri impostare una password di root per l'installazione di MariaDB, scegli y e imposta una password complessa per l'installazione. La maggior parte delle domande sono autoesplicative e dovresti rispondere sì o y a tutte le domande. L'output apparirà come mostrato di seguito.
Per creare un database dovremo prima accedere alla riga di comando di MySQL. Esegui il seguente comando per lo stesso.
mysql -u root -p
Il comando precedente accederà alla shell MySQL dell'utente root, richiederà la password dell'utente root. Fornisci la password per accedere. Ora esegui la seguente query per creare un nuovo database per la tua installazione di Mahara.
CREATE DATABASE mahara_data CHARACTER SET UTF8;
La query precedente creerà un nuovo database chiamato mahara_data. Assicurati di utilizzare il punto e virgola alla fine di ogni query poiché la query termina sempre con un punto e virgola.
Per creare un nuovo utente del database, esegui la seguente query.
CREATE USER 'mahara_user'@'localhost' IDENTIFIED BY 'StrongPassword';
Ora fornisci tutti i privilegi all'utente del tuo database sul database che hai creato. Esegui il comando seguente.
GRANT ALL PRIVILEGES ON mahara_data.* TO 'mahara_user'@'localhost';
Ora esegui il comando seguente per applicare immediatamente le modifiche ai privilegi del database.
FLUSH PRIVILEGES;
Esci dal prompt di MySQL usando il seguente comando.
EXIT;
Fase 4 - Installazione e configurazione di Mahara
Poiché abbiamo tutte le dipendenze pronte, ora possiamo scaricare il pacchetto di installazione dal sito Web di Mahara.
cd /var/www
wget https://launchpad.net/mahara/17.04/17.04.2/+download/mahara-17.04.2.zip
Puoi sempre trovare il link all'ultima versione dell'applicazione nella pagina di download di Mahara. Estrarre l'archivio utilizzando il seguente comando.
unzip mahara*.zip
Se non è necessario decomprimere l'installazione, è possibile eseguire yum -y install unzip. Rinomina la tua cartella Mahara usando:
mv mahara-*/ mahara/
Crea una nuova directory di dati per memorizzare i dati della sessione Mahara eseguendo:
mkdir /var/www/mahara/data
Copia il file di configurazione di Mahara eseguendo:
cp mahara/htdocs/config-dist.php mahara/htdocs/config.php
Apri il file in nano editor eseguendo:
nano mahara/htdocs/config.php
Ora, trova le seguenti righe.
$cfg->dbtype = 'postgresql'; $cfg->dbhost = 'localhost'; $cfg->dbport = null; // Change if you are using a non-standard port number for your database $cfg->dbname = ''; $cfg->dbuser = ''; $cfg->dbpass = '';
Modifica le informazioni di cui sopra in base al database che hai creato. In questo caso, le righe sopra dovrebbero apparire come mostrato di seguito.
$cfg->dbtype = 'mysql'; $cfg->dbhost = 'localhost'; $cfg->dbport = null; // Change if you are using a non-standard port number for your database $cfg->dbname = 'mahara_data'; $cfg->dbuser = 'mahara_user'; $cfg->dbpass = 'StrongPassword';
Ora trova la riga seguente e cambia il percorso della directory dei dati.
$cfg->dataroot = '/var/www/mahara/data';
Fornisci anche una stringa casuale nella configurazione seguente, viene utilizzata per crittografare i dati dell'utente.
$cfg->passwordsaltmain = 'some random string here.';
Ora cambia il segreto dell'URL su null in modo da poter eseguire cron direttamente usando il browser.
$cfg->urlsecret = null;
Salva il file ed esci dall'editor.
Passaggio 5:configurazione delle autorizzazioni e del firewall
Ora dovrai fornire la proprietà dell'applicazione all'utente del server web utilizzando il comando seguente.
chown -R apache:apache /var/www/mahara
Potrebbe anche essere necessario consentire il traffico HTTP sulla porta 80 attraverso il firewall se ne stai eseguendo uno. Esegui i seguenti comandi per lo stesso.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
Per disabilitare temporaneamente SELinux senza riavviare il server, eseguire il comando seguente.
setenforce 0
Per disabilitare completamente SELinux dovrai modificare il file /etc/selinux/config.
nano /etc/selinux/config
Trova la riga seguente:
SELINUX=enforcing
Cambialo in:
SELINUX=disabled
Ora crea un host virtuale per l'applicazione Mahara. Esegui il seguente comando per lo stesso.
nano /etc/httpd/conf.d/mahara.yourdomain.com.conf
Incolla le seguenti righe nel file.
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/mahara/htdocs" ServerName mahara.yourdomain.com ServerAlias www.mahara.yourdomain.com <Directory "/var/www/mahara/htdocs"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog "/var/log/httpd/mahara.yourdomain.com-error_log" CustomLog "/var/log/httpd/mahara.yourdomain.com-access_log" combined </VirtualHost>
Sostituisci mahara.tuodominio.com con qualsiasi dominio o sottodominio che desideri utilizzare per accedere all'applicazione. Salva il file ed esci dall'editor. Esegui il comando seguente per riavviare il tuo server Apache.
systemctl restart httpd
Ora completa l'installazione utilizzando un browser web, vai al seguente link.
http://mahara.yourdomain.com
Sarai accolto dalla pagina seguente.
Fai clic su Installa Mahara pulsante per procedere ulteriormente.
Nella prossima interfaccia, Mahara scriverà il database e installerà i moduli necessari per iniziare. Al termine, puoi fare clic su Continua link per procedere ulteriormente.
Nella prossima interfaccia, ti verrà chiesto di impostare una password per la dashboard dell'amministratore.
Infine, verrai indirizzato alla dashboard di amministrazione, che avrà l'aspetto mostrato di seguito.
Conclusione
L'installazione di Mahara è ora terminata, puoi utilizzare Mahara per creare facilmente un bellissimo sito Web per scopi personali o commerciali.