[[:tux|{{ :linux.png?40|}}]] ===== Joomla 3 auf Linux Debian installieren ===== Schritt für Schritt Anleitung um Joomla 3.2 auf einem Root Server mit Linux Debian 7.4.0 (Wheezy) 64 Bit zu installieren. Joomla((http://www.joomla.de/)) 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<<((http://de.wikipedia.org/wiki/GNU_General_Public_License)). ==== Installation der benötigten Basiskomponenten ==== Wie die meisten Content Managment Systeme ist Joomla in PHP((http://de.wikipedia.org/wiki/PHP#PHP5)) geschrieben und Datenbank basiert. Als Datenbank wird in dieser Anleitung MySQL((http://de.wikipedia.org/wiki/MySQL)) 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 Joomla((http://docs.joomla.org/Installing_Joomla!_3.0#tab=Requirements)): * **PHP** * **MySQL** * Anlegen der Datenbank >>joomla<< * Anlegen des Datenbankbenutzers >>joomla_admin<< * **Apache2** * Konfigurieren des Virtual Host * Nice URLs === Install PHP === # aptitude install php5 === Install MySQL === # aptitude install mysql-serverDer 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. === Install MySQLi === >>MySQLi<<((http://de.wikipedia.org/wiki/MySQLi)) ist eine PHP Erweiterung zum direkten Zugriff auf MySQL Datenbanken und ist Bestandteil des >>php5-mysql<< Paket. # aptitude install php5-mysql === Install Apache2 Webserver === # aptitude install apache2 === Install Joomla 3.2 === Hier in dieser Anleitung wird als Document Root das Serververzeichnis >>/home/joomla.prontosystems.org/<< verwendet.# mkdir /home/joomla.prontosystems.orgLaden Sie das aktuelle Archiv von der [[http://www.jgerman.de/downloads/joomla-32-auf-deutsch.html|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 ==== Konfiguration der Server Komponenten ==== Auf dem Server müssen noch eine Datenbank für Joomla in MySQL angelegt werden und der Apache2 Webserver konfiguriert werden. === Anlegen der MySQL Datenbank=== 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'" === Konfigurieren des Apache Webservers === 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 >>[[:tux:apache_vhost|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: # NameVirtualHost 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 Aktivieren Sie den soeben erstellen virtuellen Host: # 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.conf Laden 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: {{ :tux:joomla_01.png?600 |}} ==== Nice URLs ==== 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<<: {{ :tux:joomla3.png?600 |}} It's just that simple ;-) ''//prontosystems - we are connecting more than computers//'' **Verwandte Artikel:** [[:dw:install_dokuwiki|-> Dokuwiki Installation]] [[:tux:apache_vhost|-> Virtuelle Host Konfiguration Apache2 (vhost)]] --- //pronto 2014/04/12 21:49// {{keywords>joomla installation debian apache2 vhost}}