{{tag> }}
====== Mahara - ePortfolio ======
//(Getestet auf Ubuntu Server 12.04 + linuxmuster.net 6.0.31 mit linuxmuster-moodle 2.4.1)//\\
Anleitung zur Benutzung siehe -> [[https://eportfolio.ph-heidelberg.de/artefact/file/download.php?file=11451|ph-heidelberg (PDF)]]
Wenn Mahara auf einem Ubuntu-Server __ohne__ linuxmuster.net installiert werden soll, muss der Ubuntu-Server zusätzlich angepasst werden. Siehe -> [[anwenderwiki:webapps:mahara?anpassungen_fuer_einen_ubuntu-server_ohne_linuxmusternet|Anpassungen]]
===== 1.) Datenbank anlegen und Passwort für "madmin" festlegen: =====
  # createuser -U postgres -SRDP madmin
  # createdb -U postgres -O madmin -EUTF8 mahara   
 
===== 2.) Daten-Verzeichnis anlegen =====
  # mkdir /var/lib/maharadata
  # chown www-data:www-data /var/lib/maharadata 
  # chmod 770 /var/lib/maharadata 
===== 3.) Download und auspacken =====
Neueste zip - Version unter -> [[https://launchpad.net/mahara|Download auswählen]]
  # cd /root
  # wget https://launchpad.net/mahara/1.x/1.xxxx/+download/mahara-1.xxxx.zip
  # cd /usr/share
  # unzip /root/mahara-1.xxxx.zip
  # mv mahara-1.xxxx/ mahara
  # chown www-data:www-data /usr/share/mahara
  # chmod 770 /usr/share/mahara
===== 4.) Konfiguration anlegen =====
  # cp /usr/share/mahara/htdocs/config-dist.php /usr/share/mahara/htdocs/config.php
Die Datei **''/usr/share/mahara/htdocs/config.php''** nun bearbeiten, Passwort von Punkt 1 verwenden und wwwroot anpassen. Bei "passwordsaltmain" eine wilde Zeichenkombi eingeben.
     $cfg->dbname = 'mahara';
     $cfg->dbuser = 'madmin';
     $cfg->dbpass = 'xxxxxxxx';
     ...
     $cfg->wwwroot = 'https://server/mahara/';
     ...
     $cfg->dataroot = '/var/lib/maharadata';
     ...
     $cfg->passwordsaltmain = 'ghdjkghgdjghd66tgrbdfeduiokb8uirjkedf3ws';
//Hinweis: Die Optionen wwwroot und passwordsaltmain müssen entkommentiert werden.//
===== 5.) Apache Konfiguration =====
Neue Datei **''/etc/apache2/conf.d/mahara''** anlegen:
Alias /mahara /usr/share/mahara/htdocs
  AllowOverride All
  
     php_flag magic_quotes_gpc Off
     php_flag log_errors on
     php_value upload_max_filesize 50M
     php_value post_max_size 50M
  
In der Datei **''/etc/php5/apache2/php.ini''** ändern, bzw. entkommentieren:
   ...
   session.entropy_length = 16
   session.entropy_file = /dev/urandom
   ...
Dann:
  # service apache2 restart
  
===== 6.) Web-based Installation starten =====
URL aufrufen: https://server/mahara   (bzw. http:...)\\
-> Install Mahara ausführen\\
Dabei Passwort und Email des Admins angeben. Der Admin-User hat den Namen "admin".
===== 7.) Deutsches Sprachpaket installieren =====
Sprachpakete -> [[http://langpacks.mahara.org/|download]] in das Verzeichnis **''/var/lib/maharadata/langpacks''** auspacken:
# cd /root
# wget http://langpacks.mahara.org/de-1.7_STABLE.tar.gz
# cd /var/lib/maharadata/langpacks
# tar xvzf /root/de-1.7_STABLE.tar.gz
Nun als Admin bei Mahara auf Deutsch umstellen: **''Administration -> Site options -> Site settings:''**\\
  Language:   Deutsch
  Country:    Germany
===== 8.) Cron-Job einrichten =====
Folgenden Cronjob einrichten (mit Befehl "crontab -e"):
*/10 * * * * curl -k https://server/mahara/lib/cron.php
Ggf. die URL anpassen.
===== 9.) LDAP Authentifizierung einrichten =====
   - Unter **''Administration → Institutionen''** eine neue Institution hinzufügen, z.B. „Schule“. Dabei keine Registrierung und keine Bestätigung der Registrierung auswählen. Erst nach dem Absenden kann man in einem zweiten Schritt LDAP einstellen.
   - Danach Institution konfigurieren und als Authentifizierungsplugin LDAP hinzufügen mit den Einstellungen (Kontexte dem eigenen System anpassen, gleiche Einstellung wie bei Moodle)):
Authentifizierungsname                       Schulnetz
Host URL                                     localhost
Kontexte                                     ou=accounts,dc=linuxmuster-net,dc=lokal
Benutzertyp                                  posixAccount (rfc2307)
Nutzerattribut                               uid
Durchsuchen von Subkontexten                 yes
Eindeutiger Name                             
Passwort                                     
LDAP Version                                 3
TLS-Verschlüsselung                          nein
Aktualisierung der Nutzerinfo beim Anmelden  nein
Wir legen Benutzer automatisch an            ja
Die Felder "Eindeutiger Name" und "Passwort" müssen leer bleiben -> wenn was darin steht __immer__ löschen!\\
===== 10.) Optional: SSO mit Moodle einrichten =====
 Mahara und Moodle kann man so einrichten, dass man sich nur an einer Site anmelden muss (SSO, Single Sign On).\\
-> [[mahara-moodle-sso|SSO von Moodle zu Mahara]]
===== 11.) Anpassungen für einen Ubuntu-Server ohne linuxmuster.net =====
  * Installation von OpenSSH, LAMP, PostgresQL database, am schnellsten über tasksel (ggf. installieren):# tasksel
  * Installation für Export von zip-Dateien:# apt-get install zip
  * Installation der php-Erweiterungen: # apt-get install php5-gd php5-curl php5-xmlrpc php5-pgsql php5-ldap
  * für https: Apache2 ssl-Modul aktivieren# a2enmod ssl
# ln -sf /etc/apache2/sites-available/default-ssl  /etc/apache2/sites-enabled/001-default-ssl
# service apache2 restart
  * für ldaps-Zugriff: Zertifikatsüberprüfung abschalten oder ssl-Zertifikat des linuxmuster.net-Servers in den Ubuntu-Server importieren, in Datei ''/etc/ldap/ldap.conf''.
    * Abschalten: "TLS_REQCERT  never"
    * Anschalten: "TLS_REQCERT hard", "TLS_CACERT /etc/ssl/certs/..."  und Zertifikat importieren nach ''/etc/ssl/certs/...''