Schritt für Schritt Anleitung um Joomla 3.2 auf einem Root Server mit Linux Debian 7.4.0 (Wheezy) 64 Bit zu installieren. Joomla1) gehört zur Kategorie der »Content Managment Systeme« (CMS) und bietet einen relativ einfachen Einstieg in die Webseitenherstellung. Joomla steht unter der »GNU General Public License«2).
Wie die meisten Content Managment Systeme ist Joomla in PHP3) geschrieben und Datenbank basiert. Als Datenbank wird in dieser Anleitung MySQL4) verwendet. Voraussetzung für die folgenden Schritte ist ein lauffähiges Linux Debian Minimal System, ggf mit installierten SSH Server für Remotezugriff. Darüber hinaus werden folgende Komponenten nachinstalliert und konfiguriert. Die benötigten Minimum Versionen entnehmen Sie bitte dem Hosting Requirements Guide von Joomla5):
# aptitude install php5
# aptitude install mysql-server
Der Installationsprozess wird Sie auffordern ein Passwort für den Datenbank Root Benutzer zu vergeben. Dies ist nicht der System Root Benutzer sondern ein auf die MySQL Datenbank beschränkter Administrator. Notieren Sie sich dieses Passwort.
»MySQLi«6) ist eine PHP Erweiterung zum direkten Zugriff auf MySQL Datenbanken und ist Bestandteil des »php5-mysql« Paket.
# aptitude install php5-mysql
# aptitude install apache2
Hier in dieser Anleitung wird als Document Root das Serververzeichnis »/home/joomla.prontosystems.org/« verwendet.
# mkdir /home/joomla.prontosystems.org
Laden Sie das aktuelle Archiv von der Joomla Download Website im GZ-Format und kopieren Sie es in Ihr zukünftiges Document Root Verzeichnis auf dem Server. Navigieren Sie im Anschluss daran in das neu erstellte Document Root und entpacken dort das heruntergeladene Joomla Archiv:# cd /home/joomla.prontosystems.org/ # tar -xf Joomla_3.2.3-Stable-Full_Package_German.tar.gzDie grundlegende Installation ist mit dem Entpacken des Archivs eigentlich schon erledigt, alle benötigten Dateien befinden sich nun in Ihrem Document Root:
# ls -l
insgesamt 6868
drwxr-xr-x 10 root root 4096 Mär 6 04:06 administrator
drwxr-xr-x 2 root root 4096 Mär 6 04:06 bin
drwxr-xr-x 2 root root 4096 Mär 6 04:06 cache
drwxr-xr-x 2 root root 4096 Mär 6 04:06 cli
drwxr-xr-x 17 root root 4096 Mär 6 04:06 components
-rw-r--r-- 1 root root 3123 Mär 6 04:06 htaccess.txt
drwxr-xr-x 5 root root 4096 Mär 6 04:06 images
drwxr-xr-x 2 root root 4096 Mär 6 04:06 includes
-rw-r--r-- 1 root root 1011 Mär 6 04:06 index.php
drwxr-xr-x 11 root root 4096 Mär 6 04:06 installation
-rw-r--r-- 1 root root 6913322 Apr 12 15:02 Joomla_3.2.3-Stable-Full_Package_German.tar.gz
-rw-r--r-- 1 root root 1906 Mär 6 04:08 joomla.xml
drwxr-xr-x 5 root root 4096 Mär 6 17:57 language
drwxr-xr-x 4 root root 4096 Mär 6 04:06 layouts
drwxr-xr-x 13 root root 4096 Mär 6 04:06 libraries
-rw-r--r-- 1 root root 17816 Mär 6 04:06 LICENSE.txt
drwxr-xr-x 2 root root 4096 Mär 6 04:06 logs
drwxr-xr-x 18 root root 4096 Mär 6 04:06 media
drwxr-xr-x 28 root root 4096 Mär 6 04:06 modules
drwxr-xr-x 14 root root 4096 Mär 6 04:06 plugins
-rw-r--r-- 1 root root 4300 Mär 6 04:06 README.txt
-rw-r--r-- 1 root root 901 Mär 6 04:06 robots.txt.dist
drwxr-xr-x 5 root root 4096 Mär 6 04:06 templates
drwxr-xr-x 2 root root 4096 Mär 6 04:06 tmp
-rw-r--r-- 1 root root 1715 Mär 6 04:06 web.config.txt
An dieser Stelle kommt eine ganz unangenehme Eigenart der Zip-Archiv auf Root-Servern installierten CMS-Systemen zum Vorschein: Jedes Verzeichnis und jede Datei hat den User der das Archiv entpackt als Eigentümer und Gruppe. Hier muss man selbst Hand anlegen, ich habe mir von der fertig installierten Seite die Übersicht über die Verzeichnis Rechte angeschaut und dem entsprechend die Rechte auf den Debian/Apache2 üblichen User www-data gesetzt:
# chown -R www-data:www-data logs/ tmp/ templates/ cache/ modules/ media/ libraries/ language/ images/ components/ plugins/ administrator/ configuration.php
# ls -l
insgesamt 6876
drwxr-xr-x 18 root root 4096 Apr 12 18:48 .
drwxr-xr-x 6 root root 4096 Apr 12 17:40 ..
drwxr-xr-x 10 www-data www-data 4096 Mär 6 04:06 administrator
drwxr-xr-x 2 root root 4096 Mär 6 04:06 bin
drwxr-xr-x 2 www-data www-data 4096 Mär 6 04:06 cache
drwxr-xr-x 2 root root 4096 Mär 6 04:06 cli
drwxr-xr-x 17 www-data www-data 4096 Mär 6 04:06 components
-rw-r--r-- 1 www-data www-data 1900 Apr 12 18:48 configuration.php
-rw-r--r-- 1 root root 3123 Mär 6 04:06 htaccess.txt
drwxr-xr-x 5 www-data www-data 4096 Mär 6 04:06 images
drwxr-xr-x 2 root root 4096 Mär 6 04:06 includes
-rw-r--r-- 1 root root 1011 Mär 6 04:06 index.php
-rw-r--r-- 1 root root 6913322 Apr 12 18:44 Joomla_3.2.3-Stable-Full_Package_German.tar.gz
-rw-r--r-- 1 root root 1906 Mär 6 04:08 joomla.xml
drwxr-xr-x 5 www-data www-data 4096 Mär 6 17:57 language
drwxr-xr-x 4 root root 4096 Mär 6 04:06 layouts
drwxr-xr-x 13 www-data www-data 4096 Mär 6 04:06 libraries
-rw-r--r-- 1 root root 17816 Mär 6 04:06 LICENSE.txt
drwxr-xr-x 2 www-data www-data 4096 Mär 6 04:06 logs
drwxr-xr-x 18 www-data www-data 4096 Mär 6 04:06 media
drwxr-xr-x 28 www-data www-data 4096 Mär 6 04:06 modules
drwxr-xr-x 14 www-data www-data 4096 Mär 6 04:06 plugins
-rw-r--r-- 1 root root 4300 Mär 6 04:06 README.txt
-rw-r--r-- 1 root root 901 Mär 6 04:06 robots.txt.dist
drwxr-xr-x 5 www-data www-data 4096 Mär 6 04:06 templates
drwxr-xr-x 2 www-data www-data 4096 Mär 6 04:06 tmp
-rw-r--r-- 1 root root 1715 Mär 6 04:06 web.config.txt
Auf dem Server müssen noch eine Datenbank für Joomla in MySQL angelegt werden und der Apache2 Webserver konfiguriert werden.
Das folgende Kommando legt in Ihrer MySQL Datenbank eine Datenbank mit dem Namen »joomla« an:
# mysqladmin -u root -p create joomla
Das folgende Kommando legt in Ihrer MySQL Datenbank den Benutzer »joomla_admin« mit dem Passwort »joomlapass« an und weist diesem Benutzer die zuvor erstellte Datenbank »joomla« zu: # mysql joomla -u root -p -e"GRANT ALL ON joomla.* TO joomla_admin@localhost IDENTIFIED BY 'joomlapass'"
Die Konfiguration des Apache Webservers hängt im Detail stark von Ihrer Umgebung ab, es gibt mehrere Varianten wie man mit Apache Webseiten publizieren kann. Die folgenden Schritte beschreiben die Konfiguration der ersten Joomla Webseite als ersten »Name Based Virtual Host«. Diese Konfiguration erlaubt ein späteres Hinzufügen weiterer »Name Based Virtual Hosts« bzw weiterer Webseiten Projekte.
Zuerst legen wir die für dieses Projekt benötigte Logfile-Verzeichnis an:
# mkdir -p /var/log/apache2/joomla.prontosystems.org
Im Anschluss daran erstellen wir die notwendige Konfigurationsdatei »/etc/apache2/sites-available/joomla.prontosystems.org« Passen Sie die IP Adresse und ggf weitere Parameter Ihren Bedürfnissen an: /etc/apache2/sites-available/joomla.prontosystems.org
# NameVirtualHost 192.168.167.159 <VirtualHost 192.168.167.159> ServerName joomla.prontosystems.org ServerAlias DocumentRoot /home/joomla.prontosystems.org ServerAdmin Pronto CustomLog /var/log/apache2/joomla.prontosystems.org/access.log combined ErrorLog /var/log/apache2/joomla.prontosystems.org/error.log LogLevel warn </VirtualHost>
# a2ensite joomla.prontosystems.org
Zuletzt brauchen wir noch eine »Virtual Host Direktive« in der apache2 Konfigurationsdatei. Die heißt mittlerweile nicht mehr »httpd.conf« sondern »apache2.conf« aber ich persönlich habe die Tradition beibehalten und konfiguriere den Apache Webserver weiterhin in der »httpd.conf« die ich jetzt allerdings erst mal selber anlegen und in der Hauptkonfigdatei »apache2.conf« mit einer Include-Anweisung bekannt machen muss: # touch /etc/apache2/httpd.conf # echo "Include httpd.conf" >> /etc/apache2/apache2.conf # echo "NameVirtualHost 192.168.167.159" >> /etc/apache2/httpd.confLaden Sie abschließend die geänderte Webserver Konfiguration:
# service apache2 reload
Die grundlegenden Einstellungen sind nun erledigt, Sie können Ihre Joomla Seite jetzt im Webbrowser bereits öffnen und dort weiter konfigurieren:
Als Fleißarbeit sollte man zum Schluss noch das »URL Rewriting« aktivieren, weil man früher oder später eh drüber stolpert. Joomla stellt in der Standardinstallation schon eine vorgefertigte ».htaccess« Datei zur Verfügung, wo schon mal alles Nötige eingestellt ist. Die heißt allerdings standardmäßig erst mal »htaccess.txt« und muss umbenannt werden:
# mv htaccess.txt .htaccess
Aktivieren Sie das entsprechende Apache2 Modul und starten Sie den Webserver neu:
# a2enmod rewrite # service apache2 restart
Aktivieren Sie in der Joomla Konfiguration die Option »URL Rewrite nutzen«:
It's just that simple
prontosystems - we are connecting more than computers
Verwandte Artikel:
-> Dokuwiki Installation
-> Virtuelle Host Konfiguration Apache2 (vhost)
— pronto 2014/04/12 21:49