WordPress auf einem Ubuntu-Server

WordPress von automattic auf einem Unbuntu-Serverli zu betreiben ist an sich eine Standard-Aufgabe, zu dessen Ausführung es keine besonderen Kenntnisse erfordert. Insbesondere unter Ubuntu ist das Einrichten eines Blogs unter WordPress zu Testzwecken sehr einfach zu bewerkstelligen. Allerdings muss beachtet werden, dass es deutlich mehr Aufwand braucht, will man das Blog produktiv nutzen und damit das Serverli direkt an das Internet hängen.

In diesem Szenario gehe ich davon aus, dass ein lokaler Server bereitsteht, der zunächst einmal standardmässig aufgesetzt wurde. Es kann ein Ubuntu 6.10, 7.04, 7.10 oder ein 8.04 sein. Frühere Versionen dürften auch funktionieren, dort sind aber einige Dinge noch anders zu handhaben. Das Blog dient dem Testen und ist “von aussen” nicht erreichbar; dementsprechend braucht es keine eigene Domain dazu, sondern kann in einem Unterverzeichnis betrieben werden. Was es dazu braucht, sind ein paar wenige Services, die sich allesamt einfach und schnell installieren lassen.

  • FTP-Server, um die WordPress-Dateien hochzuladen
  • Mailsserver zum Versand der Notifikationenen
  • WebServer
  • PHP-Interpreter
  • MySQL
  • Verwaltungstool für den Datenbankserver

FTP-Server, um die WordPress-Dateien hochzuladen

Die Aufgabe liesse sich auch ohne FTP-Server bewerkstelligen; die erforderlichen Core-Dateien von WordPress kann man sich per wget oder beispielsweise mit links2 holen. Bearbeiten lassen sie sich dann einfach per vim. Wer Lust hat, kann sich auch per webmin behelfen.

Ein FTP-Server bringt meiner Meinung nach etwas mehr Komfort. Deswegen schlage ich vor, den vsftpd zu nutzen. Hier habe ich beschrieben, wie sich das Teil nutzen lässt.

Mailsserver zum Versand der Notifikationenen

Auch ein Mailserver zum Versenden von Nachrichten ist nicht unbedingt zwingend nötig. Alternativ könnte man die WordPress-Erweiterung WP Mail SMTP nutzen. Damit weist man WordPress an, für das Versenden der Mails keinen lokalen Mailserver anzusprechen, sondern direkt einen SMTP da draussen in der freien Welt. Allerdings funktioniert dann das Mailen sonst auf dem System nur sehr rudimentär, wenn überhaupt.

Deswegen empfehle ich hierzu das Päckli postfix und mailx (zum Testen). Eine Installationsbeschreibung habe ich hier erstellt. Es ist dann auch nicht zwingend nötig, dass man damit extern mailen kann. Eine interne Möglichkeit reicht ja für das Testen eines Blogs.

WebServer

Als Webserver würde ich einen komfortablen Apache2 nutzen. Die Installation ist denkbar einfach, will man SSL nutzen braucht es noch ein paar Handgriffe mehr. Den Webserver installiert man simpel per

sudo apt-get install apache2

Das Installationsskript richtet alle nötigen Konfigurationen ein, so das der Webserver unter der IP des Servers erreichbar ist. It works!

PHP-Interpreter

Auch PHP zu installieren, ist sehr einfach. Ich würde die Version 5 nutzen, da auch WordPress damit umgehen kann. Zwar ist WordPress noch immer abwärtskompatibel zu der Version vier, läuft aber ordentlich unter fünf.

sudo apt-get install php5

Das Installationsskript passt alle Werte an, auch beim Apache, der während der Installation noch einmal neu gestartet wird.

MySQL

Auch da würde ich einen “fünfer Server” nutzen. Vier ginge zwar auch noch, aber mit der Version 5 hat man mehrere Features zur Verfügung, die man dann allenfalls auch anders noch nutzen kann.

sudo apt-get install mysql-server

Während der Installation wird man aufgefordert, ein Root-Kennwort einzugeben. Ich würde das unbedingt tun, auch wenn der Server von aussen nicht zu erreichen ist.

Verwaltungstool für den Datenbankserver

Ein eigenes Verwaltungstool für den MySQL-Server braucht es nicht zwingend. Man kann ebenso gut alle Aufgaben in der SQL-Konsole erledigen. Etwas komfortabler ist es meiner Meinung nach, wenn man phpmyadmin nutzt.

sudo apt-get install phpmyadmin

Auch hierzu lassen sich SSL-Verbindungen konfigurieren. Ist das Paket installiert, erreicht man die Verwaltung per Browser über http://IP_des_Servers/phpmyadmin. Der Benutzername ist Root und das Kennwort entspricht dem, welches bei der Installation des MySQL-Servers angegeben wurde.

phpmyadmin

Damit sind alle erforderlichen Pakete installiert und nun kann es an das Installieren der WordPress-Sachen gehen. Dazu braucht es zunächst eine leere Datenbank, der ein Benutzer zugeteilt wird. Das bewerkstelligt man am besten mit phpmyadmin. Neue Datenbank erstellen und dann über die Rechte einen neuen Benutzer erstellen, dem alle Rechte für die neue DB gegeben werden.

Neue Datenbank anlegen

In diesem Beispiel heisst die Datenbank wp. Dann die Rechte eines neuen Benutzers auf die Datenbank wp zuteilen.

Benutzer erstellen

Dazu habe ich den Benutzer fritzli erstellt, der dann die vollen Rechte auf der Datenbank wp bekommt. Globale Rechte braucht der Benutzer fritzli keine.

Rechte zuweisen

Danach holt man sich die aktuelle Version eines WordPress-Päcklis (im Moment 2.5.1). Ich mag die Deutsche Version, man kann aber natürlich auch die Originale anwenden. Der Rest ist dann Routine-Arbeit.

Die ZIP-Datei entpacken und dann zunächst die Datei wp-config-sample.php in wp-config.php umbenennen. Diese öffnen und die nötigen Informationen eintragen:

Daten

Es reicht, wenn die ersten vier Zeilen angesehen und mutiert werden. Danach muss man auf dem Server innerhalb der Sitestruktur ein Verzeichnis erstellen, in dem dann WorPress untergebracht wird. Der Webserver legt die Files unter /var/www ab. Dort erstelle ich ein Verzeichnis mit Namen wp:

sudo mkdir /var/www/wp

Danach erteile ich die Schreibrechte für die Gruppe:

sudo chmod -R 0775 /var/www/wp

und ändere noch den Besitzer:

sudo chown www-data /var/www/wp

sudo chgrp www-data /var/www/wp

und füge den User, welche als FTP-User figuriert, der Gruppe www-data hinzu:

sudo adduser roman www-data

Danach können die Daten per FTP hochgeladen werden. Schliesslich ist das Zeug soweit gediehen, dass es unter http://IP_des_servers/wp zu erreichen wäre, so Gott will. Beim ersten Einloggen würde ich den Ha(c)ken noch entfernen, so die Suchmaschinen und deren Vetter nicht versuchen, das Blog zu erreichen.

WordPress

Diese Angaben kennt man ja mittlerweile, sofern man mit WordPress arbeitet. Ansonsten sind sie denn auch klar. WordPress generiert einen User admin mit einem Kennwort, das man anschliessend ändern sollte.

WordPress

Yo, und der Rest dürfte klar sein. Damit steht ein Test-Blog zur Verfügung, in dem man Gott und die Welt anficken beschimpfen kann, ohne dass es jemand sieht ;-) Es verhält sch in etwa gleich, wie jedes andere WP und so ist das Testblog je nach “Geekgrad” recht interessant.

Anbindung an das Internet

Möchte man das Blog dauerhaft im Internet präsentieren, so muss natürlich der Webserver ständig erreichbar sein. Damit steigen auch die Gefahren und natürlich – oder hoffentlich – das Traffic. Arbeitet man mit einer dynamischen IP, so gibt es dazu einige Dienste, welche Deine dynamische IP mit einer Sudomain mappen. Ein solcher Dienst ist beispielsweise DynIP, es gibt aber auch Gratis-Versionen. Sie kommen und verschwinden aber wie die Unterhosen. Allenfalls lohnt es sich, einen kostenpflichtigen Dienst zu nutzen.

Ausserdem muss man sich zwingend Gedanken zur Sicherheit machen. Allenfalls reicht schon eine lokale, physische Firewall, besser wäre, zusätzlich noch eine auf dem Ubuntu-Server rennen zu lassen. Ausserdem würde ich dann den FTP-Server nur starten, wenn ich ihn brauche und sonst unten lassen. Gleiches gilt für phpmyadmin: Entweder nicht nutzen, oder auf SSL umbiegen, beziehungsweise auf einer andern Maschine installieren. Weiter muss dann der Apache allenfalls anders eingerichtet werden.

Warnung: Wenn man tatsächlich das Blog öffentlich erreichbar machen möchte, sollte auch die Installation des Servers selbst etwas seriöser als hier beschrieben angegangen werden. Diese Anleitung dient ja nur den Menschen, die ein Blog zum Testen nutzen möchten.

Ähnliche Artikel

Schlagwörter: , , , , , ,

21 Kommentare to “WordPress auf einem Ubuntu-Server”

  1. Dirk DeimekeNo Gravatar schrieb:

    Super Artikel!

    Einzig ftp-Server würde ich nicht mehr empfehlen oder nutzen. Mit WinSCP existiert auch für Windows-Nutzer eine Alternative, Dateien mit einem grafischen Frontend via SSH hoch- und herunterzuladen.

    Bei den Gedanken zur Sicherheit wäre noch ein Wort angebracht, was die vielen Sicherheitsupdates von WordPress angeht.

  2. Roman HanhartNo Gravatar schrieb:

    Danke Dirk! Ja, WinSCP ist eine gute Alternative, das stimmt.

    Bei WordPress sollte man ja immer die aktuelle Version herunterladen, dort sind alle Patches inkludiert. Aber man muss das Zeug natürlich aktuell halten. Danke für den Hinweis!

  3. DanielNo Gravatar schrieb:

    Klasse Anleitung, genau das habe ich gesucht, setze mir gerade einen Umbuntu Server auf um verschiedene Sachen zu testen. Vielen Dank !
    Gruss Daniel

  4. danielNo Gravatar schrieb:

    echt gute anleitung. zu dumm das ich nur nen ubuntu hab. hat gut geklaptt. danke !

  5. Roman HanhartNo Gravatar schrieb:

    @daniel: Was meinst Du mit “zu dumm das ich nur nen ubuntu hab”? Ich bin zu doof, sorry ;-)

  6. ChristianNo Gravatar schrieb:

    Hey, eine sehr gute Anleitung. Solche detaillierte Anleitungen findet man heutzutage im Netz kaum…

    Viele Grüße aus Oberhausen

  7. LisaNo Gravatar schrieb:

    Ich habe vorher klassisch mit Windows gearbeitet. Seit letzter Woche habe ich Ubuntu auf dem Rechner und es klappt nichts mehr mit WordPress. Ich versuche es jetzt mal dieser Anleitung hier.

  8. Ruprecht Helms - entwicklungNo Gravatar schrieb:

    Ich kann mir vorstellen, dass offensichtlich WordPress unter Ubuntu nicht standardmäßig vorkompiliert ist. Bei Gentoo ist dies für eine Installation über den Portagetree vorgesehen und es reicht ein einfaches emerge wordpress aus und WordPress wird komplett eingerichtet. Gerade bei der aktuellen WordPressversion ist eine funktionierende Mailfunktion erforderlich, da einem bereits das Adminpasswort zugemailt wird und nicht mehr in Klartext am Ende des Setups angezeigt wird. Sofern man den suhosin-Patch benutzt sollte mail jedoch nicht in der Funktionsblacklist stehen, sonst hat man ein Problem.

  9. Roman HanhartNo Gravatar schrieb:

    Es gab mal ein Paket wordpress, das war aber in den backports drin.

  10. philNo Gravatar schrieb:

    Hallo!

    Zu erst einmal, ne super Anleitung.

    Jedoch habe ich ein kleines Problem.
    Wenn ich auf den phpadmin zugreifen möchte erhalte ich immer folgende Fehlermeldung:

    Not Found

    The requested URL /phpmyadmin was not found on this server.

    Es wurden aber alle Schritte vorher korrekt durchgeführt :)

    Wenn jmd. Rat weiß, wäre ich sehr dankbar.

    greetz
    phil

  11. philNo Gravatar schrieb:

    Problem gelöst!

    Hier die Lösung für alle die das selbe Problem haben:

    http://forum.ubuntuusers.de/to.....ufrufen/2/

    Greetz

  12. Roman HanhartNo Gravatar schrieb:

    Danke für den Hinweis zu Deiner Lösung!

    Gruss
    Roman

  13. NilsNo Gravatar schrieb:

    Ich weiß, dass der Post schon etwas älter ist, aber ich habe ein Problem:
    Ich bekomme das mit dem FTP einfach nicht hin. Er sagt immer Permission denied. Und ich habe nicht den User roman hinzugefügt, sondern meinen User nils. Aber es klappt trotzdem nicht? Und ich habe es in WordPress ausprobiert, und in Cyberduck. Bei WordPress kann er einen Ordner nicht erstellen(weil er vermutlich keine Rechte dazu hat), und in Cyberduck segt er eben Permission denied.
    Ich habe auch schonmal probiert, die Rechte auf mich zu legen, aber das hat auch nichts gebracht.
    Wäre nett, wenn ihr mir vielleicht irgendwie helfen könntet.
    Nils

  14. Gregor FröhlichNo Gravatar schrieb:

    @nils: ftp ? ich weiss ja nicht aber die zeit von ftp sind doch wirklich vorbei! eigentlich ist heute ssh der standart und gehört zu jedem ubuntu server dazu ;-)

  15. Roman HanhartNo Gravatar schrieb:

    Hoi Nils

    Gregor sagt es eigentlich richtig: FTP ist out. Aber wenn Du es dennoch versuchen willst. so sieht es aus meiner Sicht wirklich so aus, dass Rechte fehlen. Der Ordner “wp-content” muss die Rechte 0755 aufweisen und Dein User sollte in der Gruppe wwww-data sein. Dann müsste es klappen.

  16. NilsNo Gravatar schrieb:

    Na ja, ich habe jetzt keine Meinung zu FTP oder SSH, probiere aber dennoch eher mein FTP zum laufen zu bringen, da ja auch WordPress damit arbeitet. Das vereinfacht die Sache dann enorm.
    Nils

  17. NilsNo Gravatar schrieb:

    Aber hinbekommen tue ich es immer noch nicht.
    Ich habe alle Befehle nochmal so ausgeführt, habe auch meinen WordPress Ordner gelöscht und dann den Ordner wp angelegt, aber es bringt nichts. Irgendwie will das nicht klappen. Ich gebe halt immer nur dem WordPress Ordner die richtigen Rechte, den enthaltenen aber nicht.
    Und dafür bin ich zu blöd.
    Ich mag Linux zwar, aber ich bin erst 13, und auch nicht geneigt, alle terminal-Befehle auswendig zu lernen. Da ist mir Klicki-Bunti mit GUI schon lieber.
    Und vielleicht kann mir ja einer sagen, wie man sich ein “richtiges” internetfähiges WordPress aufsetzt?
    Nils

  18. Gregor FröhlichNo Gravatar schrieb:

    @Nils: vieleicht bist du noch zu jung um mit der kommando-zeile zu arbeiten. dazu braucht man schon ein wenig erfahrung. was verwendest du denn für ein system ?

  19. NilsNo Gravatar schrieb:

    Ich habe mir jetzt mal aufgrund der oben gennanten Probleme ein Ubuntu mit Gnome installiert, und den WordPress Ordner einfach als Root verschoben.
    Nils

  20. NilsNo Gravatar schrieb:

    Ich bins nochmal.
    Also ich verstehe es nicht! Ich bekomme diesen blöden vsFTPd nicht zum laufen. Ich habe die Permissions auf 755 für meinen Benutzer nils und die Gruppe www-data gelegt, bekomme es aber trotzdem nicht hin. Liegt es vielleicht daran, das ich immer versuche mich als nils(ein lokaler User) einzuloggen, obwohl ich am Hackintosh arbeite? Irgendwie will das nicht so, wie ich will.
    Nils

  21. Roman HanhartNo Gravatar schrieb:

    Nils, schicke mir bitte mal die vsftpd.conf aus dem Verzeichnis /etc/. Meine E-Mai-Adresse siehst Du hier: http://tuxhart.ch/kontakt.php

    Es dauert aber bis morgen, bis ich darauf schauen kann.

Hinterlasse einen Kommentar

blogoscoop Blogverzeichnis - Blog Verzeichnis bloggerei.de