Mahara ist ein Open-Source-E-Portfolio-System. Es kann auch als Social-Networking-Plattform verwendet werden. Mahara ist in PHP geschrieben und verwendet entweder einen PostgreSQL- oder einen MySQL-Datenbankserver, um seine Daten zu speichern. Sie können Mahara verwenden, um Ihr personalisiertes Multimedia-Portfolio zu erstellen und mit anderen zusammenzuarbeiten.
In diesem Tutorial werden wir Mahara auf dem CentOS 7-Server installieren.
Voraussetzung
- Minimaler CentOS 7-Server
- Root-Rechte
Schritt 1 - Apache installieren
Es wird empfohlen, den Server vor der Installation eines Pakets zu aktualisieren, damit die vorhandenen Pakete und Repositories aktualisiert werden.
yum -y update
Sobald Sie Ihr System aktualisiert haben, können Sie mit der Installation des Apache-Webservers fortfahren.
yum -y install httpd
Starten Sie nun den Apache-Webserver und aktivieren Sie ihn mit dem folgenden Befehl, damit er beim Booten startet.
systemctl start httpd
systemctl enable httpd
Schritt 2 - Installation von PHP
Mahara unterstützt alle PHP-Versionen größer als 5.3. Aber in diesem Tutorial werden wir PHP 7.1 installieren, da PHP v5.3 das Ende seiner Lebensdauer erreicht hat. Durch die Installation der neuesten Version von PHP wird die maximale Sicherheit und Leistung der Anwendung gewährleistet.
Das standardmäßige YUM-Repository von CentOS enthält kein PHP 7.1, daher müssen Sie das Webtatic-Repository in Ihrem System hinzufügen. EPEL-Version installieren:
yum -y install epel-release
yum -y update
Geben Sie die Befehle ein, um das Webtatic-Repository zu installieren.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
Geben Sie den folgenden Befehl ein, um PHP 7.1 zusammen mit allen erforderlichen Abhängigkeiten zu installieren.
yum -y install php71w php71w-mysqli php71w-gd php71w-cli php71w-mcrypt php71w-mbstring php71w-dom
Um zu überprüfen, ob PHP erfolgreich installiert wurde, können Sie Folgendes ausführen:
php -v
Sie sollten eine ähnliche Ausgabe erhalten.
[[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
Jetzt müssen Sie einige Konfigurationen in PHP konfigurieren. Öffnen Sie die PHP-Konfigurationsdatei php.ini mit Ihrem bevorzugten Texteditor.
nano /etc/php.ini
Suchen Sie die folgende Zeile und kommentieren Sie die Zeile aus und stellen Sie die Zeitzone entsprechend Ihrer Region ein. Zum Beispiel:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Kolkata
Suchen Sie außerdem nach der folgenden Zeile:
;session.entropy_length = 32
Entkommentieren Sie die Zeile und suchen Sie nach der folgenden Zeile:
post_max_size = 8M
Ändern Sie den Wert von 8M auf 999M. Speichern Sie die Datei und beenden Sie den Editor.
Schritt 3 – Installation von MariaDB
MariaDB ist ein Fork der MySQL-Datenbank. Um MariaDB auf Ihrem Server zu installieren, führen Sie Folgendes aus:
yum -y install mariadb mariadb-server
Führen Sie die folgenden Befehle aus, um MariaDB zu starten und zu ermöglichen, dass es beim Booten gestartet wird.
systemctl start mariadb
systemctl enable mariadb
Now run the following commands to secure your MariaDB installation.
mysql_secure_installation
Der obige Befehl führt ein Skript aus, um eine neue MariaDB-Installation zu sichern. Das Skript fragt nach dem vorhandenen Root-Benutzerpasswort, wir haben gerade MariaDB installiert, das Root-Passwort ist nicht festgelegt, drücken Sie einfach die Eingabetaste, um fortzufahren.
Das Skript fragt Sie, ob Sie ein Root-Passwort für Ihre MariaDB-Installation festlegen möchten, wählen Sie y und legen Sie ein starkes Passwort für die Installation fest. Die meisten Fragen sind selbsterklärend und Sie sollten alle Fragen mit ja oder ja beantworten. Die Ausgabe sieht wie unten gezeigt aus.
Um eine Datenbank zu erstellen, müssen wir uns zuerst bei der MySQL-Befehlszeile anmelden. Führen Sie dafür den folgenden Befehl aus.
mysql -u root -p
Der obige Befehl meldet sich bei der MySQL-Shell des Root-Benutzers an und fordert zur Eingabe des Passworts des Root-Benutzers auf. Geben Sie das Passwort ein, um sich anzumelden. Führen Sie nun die folgende Abfrage aus, um eine neue Datenbank für Ihre Mahara-Installation zu erstellen.
CREATE DATABASE mahara_data CHARACTER SET UTF8;
Die obige Abfrage erstellt eine neue Datenbank namens mahara_data. Stellen Sie sicher, dass Sie am Ende jeder Abfrage ein Semikolon verwenden, da die Abfrage immer mit einem Semikolon endet.
Um einen neuen Datenbankbenutzer zu erstellen, führen Sie die folgende Abfrage aus.
CREATE USER 'mahara_user'@'localhost' IDENTIFIED BY 'StrongPassword';
Geben Sie nun Ihrem Datenbankbenutzer alle Berechtigungen für die von Ihnen erstellte Datenbank. Führen Sie den folgenden Befehl aus.
GRANT ALL PRIVILEGES ON mahara_data.* TO 'mahara_user'@'localhost';
Führen Sie nun den folgenden Befehl aus, um die Änderungen sofort auf die Datenbankberechtigungen anzuwenden.
FLUSH PRIVILEGES;
Beenden Sie die MySQL-Eingabeaufforderung mit dem folgenden Befehl.
EXIT;
Schritt 4 – Installation und Konfiguration von Mahara
Da wir alle Abhängigkeiten bereit haben, können wir jetzt das Installationspaket von der Mahara-Website herunterladen.
cd /var/www
wget https://launchpad.net/mahara/17.04/17.04.2/+download/mahara-17.04.2.zip
Den Link zur neuesten Version der Anwendung finden Sie immer auf der Download-Seite von Mahara. Extrahieren Sie das Archiv mit dem folgenden Befehl.
unzip mahara*.zip
Wenn Sie installierte Dateien nicht entpacken müssen, können Sie yum -y install unzip ausführen. Benennen Sie Ihren Mahara-Ordner um mit:
mv mahara-*/ mahara/
Erstellen Sie ein neues Datenverzeichnis, um Mahara-Sitzungsdaten zu speichern, indem Sie Folgendes ausführen:
mkdir /var/www/mahara/data
Kopieren Sie die Mahara-Konfigurationsdatei, indem Sie Folgendes ausführen:
cp mahara/htdocs/config-dist.php mahara/htdocs/config.php
Öffnen Sie die Datei im Nano-Editor, indem Sie Folgendes ausführen:
nano mahara/htdocs/config.php
Suchen Sie nun die folgenden Zeilen.
$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 = '';
Ändern Sie die obigen Informationen entsprechend der von Ihnen erstellten Datenbank. In diesem Fall sollten die obigen Zeilen wie unten gezeigt aussehen.
$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';
Suchen Sie nun die folgende Zeile und ändern Sie den Pfad des Datenverzeichnisses.
$cfg->dataroot = '/var/www/mahara/data';
Geben Sie in der folgenden Konfiguration auch eine zufällige Zeichenfolge an, die zum Verschlüsseln der Benutzerdaten verwendet wird.
$cfg->passwordsaltmain = 'some random string here.';
Ändern Sie nun das URL-Secret auf null, damit Sie cron direkt über den Browser ausführen können.
$cfg->urlsecret = null;
Speichern Sie die Datei und beenden Sie den Editor.
Schritt 5 – Berechtigungen und Firewall konfigurieren
Jetzt müssen Sie dem Webserver-Benutzer mit dem folgenden Befehl den Besitz der Anwendung zur Verfügung stellen.
chown -R apache:apache /var/www/mahara
Möglicherweise müssen Sie auch HTTP-Datenverkehr auf Port 80 durch die Firewall zulassen, wenn Sie eine Firewall ausführen. Führen Sie dafür die folgenden Befehle aus.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
Führen Sie den folgenden Befehl aus, um SELinux vorübergehend zu deaktivieren, ohne den Server neu zu starten.
setenforce 0
Um SELinux vollständig zu deaktivieren, müssen Sie die Datei /etc/selinux/config bearbeiten.
nano /etc/selinux/config
Suchen Sie die folgende Zeile:
SELINUX=enforcing
Ändern Sie es in:
SELINUX=disabled
Erstellen Sie nun einen virtuellen Host für die Mahara-Anwendung. Führen Sie dafür den folgenden Befehl aus.
nano /etc/httpd/conf.d/mahara.yourdomain.com.conf
Fügen Sie die folgenden Zeilen in die Datei ein.
<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>
Ersetzen Sie mahara.yourdomain.com durch eine beliebige Domain oder Subdomain, die Sie für den Zugriff auf die Anwendung verwenden möchten. Speichern Sie die Datei und beenden Sie den Editor. Führen Sie den folgenden Befehl aus, um Ihren Apache-Server neu zu starten.
systemctl restart httpd
Schließen Sie nun die Installation mit einem Webbrowser ab, gehen Sie auf den folgenden Link.
http://mahara.yourdomain.com
Sie werden auf der folgenden Seite begrüßt.
Klicken Sie auf Mahara installieren um fortzufahren.
Auf der nächsten Schnittstelle schreibt Mahara die Datenbank und installiert die notwendigen Module, um Ihnen den Einstieg zu erleichtern. Wenn Sie fertig sind, können Sie auf Weiter klicken Link, um fortzufahren.
Auf der nächsten Oberfläche werden Sie aufgefordert, ein Passwort für das Administrator-Dashboard festzulegen.
Schließlich werden Sie zum Administrations-Dashboard weitergeleitet, das wie unten gezeigt aussehen wird.
Schlussfolgerung
Die Installation von Mahara ist nun abgeschlossen, Sie können Mahara verwenden, um ganz einfach eine schöne Website für den persönlichen oder kommerziellen Zweck zu erstellen.