10279
Kommentar:
|
10305
converted to 1.6 markup
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 1: | Zeile 1: |
[[TableOfContents]] | <<TableOfContents>> |
Zeile 4: | Zeile 4: |
Kurz und übersichtlich wird hier die Installation des Blogsystems [http://wordpress.org Wordpress] beschrieben. Einige Schritte beziehen sich explizit auf Debian, sind aber leicht auf andere Linux-Distributionen übertragbar. | Kurz und übersichtlich wird hier die Installation des Blogsystems [[http://wordpress.org|Wordpress]] beschrieben. Einige Schritte beziehen sich explizit auf Debian, sind aber leicht auf andere Linux-Distributionen übertragbar. |
Zeile 7: | Zeile 7: |
Wordpress stellt nur geringe Anforderungen an dein System. Eine Debian Standardinstallation erweitert um apache, php und mysql reicht. Viele Webspaceprovider bringen die notwendige Software schon mit. Schau in die [http://wordpress.org/about/requirements/ detailierten Systemvorraussetzungen]. | Wordpress stellt nur geringe Anforderungen an dein System. Eine Debian Standardinstallation erweitert um apache, php und mysql reicht. Viele Webspaceprovider bringen die notwendige Software schon mit. Schau in die [[http://wordpress.org/about/requirements/|detailierten Systemvorraussetzungen]]. |
Zeile 29: | Zeile 29: |
Schnell noch eine neue Datenbank anlegen. ''Die folgenden Schritte lassen sich auch bequem per [http://www.phpmyadmin.net phpmyadmin] bewerkstelligen.'' | Schnell noch eine neue Datenbank anlegen. ''Die folgenden Schritte lassen sich auch bequem per [[http://www.phpmyadmin.net|phpmyadmin]] bewerkstelligen.'' |
Zeile 49: | Zeile 49: |
Diese [http://codex.wordpress.org/Installing_WordPress Installationsanleitung] beschreibt die "famous 5-minute install" Variante. | Diese [[http://codex.wordpress.org/Installing_WordPress|Installationsanleitung]] beschreibt die "famous 5-minute install" Variante. |
Zeile 74: | Zeile 74: |
* Entlastung für den wp Server: [http://dev.wp-plugins.org/wiki/WP-Cache wp-cache] | * Entlastung für den wp Server: [[http://dev.wp-plugins.org/wiki/WP-Cache|wp-cache]] |
Zeile 103: | Zeile 103: |
Falls noch was unklar ist, lies die [http://codex.wordpress.org/Upgrading_WordPress offizielle Wordpress Upgrade Anleitung]. | Falls noch was unklar ist, lies die [[http://codex.wordpress.org/Upgrading_WordPress|offizielle Wordpress Upgrade Anleitung]]. |
Zeile 106: | Zeile 106: |
[http://blog.firetree.net/2005/07/18/eventcalendar-30/ EventCalendar] läuft in Wordpress 2.x bislang nur mit einer Änderung in der Datei: ''wp-includes/classes.php''. Dies ist etwas ärgerlich, da hier lästiges patchen per Hand anfällt. Der Patchvorgang ist in der README Datei des Plugins beschrieben und auch im [http://blog.firetree.net/2005/07/18/eventcalendar-30/ EventCalendar Blog]. | [[http://blog.firetree.net/2005/07/18/eventcalendar-30/|EventCalendar]] läuft in Wordpress 2.x bislang nur mit einer Änderung in der Datei: ''wp-includes/classes.php''. Dies ist etwas ärgerlich, da hier lästiges patchen per Hand anfällt. Der Patchvorgang ist in der README Datei des Plugins beschrieben und auch im [[http://blog.firetree.net/2005/07/18/eventcalendar-30/|EventCalendar Blog]]. |
Zeile 129: | Zeile 129: |
* [http://blog.firetree.net/2005/07/18/eventcalendar-30/ EventCalendar] installiert | * [[http://blog.firetree.net/2005/07/18/eventcalendar-30/|EventCalendar]] installiert |
Zeile 148: | Zeile 148: |
* [http://wordpress.de/ ausführliche deutsche Wordpress Seite] * [http://codex.wordpress.org offizielles englisches Handbuch zu Wordpress] * [http://codex.wordpress.org/Template_Tags Wordpress code API] |
* [[http://wordpress.de/|ausführliche deutsche Wordpress Seite]] * [[http://codex.wordpress.org|offizielles englisches Handbuch zu Wordpress]] * [[http://codex.wordpress.org/Template_Tags|Wordpress code API]] |
Zeile 152: | Zeile 152: |
* Wordpress ist für mehrere autonome Webseiten relativ ungeeignet. Dazu müssten auf dem Server jeweils eigene Instanzen installiert werden. Es gibt aber einige Projekte, die das Problem in Angriff genommen haben. [http://codex.wordpress.org/Installing_Multiple_Blogs WP Multiple Blogs] | * Wordpress ist für mehrere autonome Webseiten relativ ungeeignet. Dazu müssten auf dem Server jeweils eigene Instanzen installiert werden. Es gibt aber einige Projekte, die das Problem in Angriff genommen haben. [[http://codex.wordpress.org/Installing_Multiple_Blogs|WP Multiple Blogs]] |
Inhaltsverzeichnis
Was ist das hier
Kurz und übersichtlich wird hier die Installation des Blogsystems Wordpress beschrieben. Einige Schritte beziehen sich explizit auf Debian, sind aber leicht auf andere Linux-Distributionen übertragbar.
Voraussetzungen
Wordpress stellt nur geringe Anforderungen an dein System. Eine Debian Standardinstallation erweitert um apache, php und mysql reicht. Viele Webspaceprovider bringen die notwendige Software schon mit. Schau in die detailierten Systemvorraussetzungen.
Wordpress ist in Debian stable noch nicht drin, deswegen musst du vorerst das Paket aus testing benutzen (siehe /etc/apt/sources.list). Um trotzdem alle abhängigen Pakete aus stable zu installieren, solltest du die Datei /etc/apt/apt.conf.d/50default-release mit folgendem Inhalt anlegen:
APT::Default-Release "stable";
Paket-Installation
In Debian-testing installierst du Wordpress mit der extra benötigten Software durch folgenden Befehl:
apt-get install wordpress mysql-server
Die apacheconfig-Frage nach "suexec" kannst du verneinen.
Webserver (Apache2)
Der Webserver braucht kaum weitere Anpassungen, nur den Pfad des zukünftigen wordpress-Verzeichnisses (siehe Apache-Konfiguration DocumentRoot). Evtl. musst du das php Modul noch per Hand aktivieren:
a2enmod php4
Datenbank (MySQL)
Schnell noch eine neue Datenbank anlegen. Die folgenden Schritte lassen sich auch bequem per phpmyadmin bewerkstelligen.
mysqladmin -p -u root password "ganzgeheim" mysql -h localhost -u root -p > create database wpdb; > grant CREATE,INSERT,DELETE,UPDATE,DROP,ALTER,SELECT on wpdb.* to wordpress@localhost IDENTIFIED BY "phreaking_password"; > FLUSH PRIVILEGES; > EXIT;
Die Passworte solltest du in einzelnen mysql-Client-Konfigurationsdateien (z.B.: ~/.my.cnf) speichern:
[mysqladmin] user = root password = phreaking_password
Anschliessend mit chmod 0600 .my.cnf die Rechte der Datei setzen.
Wordpress
Diese Installationsanleitung beschreibt die "famous 5-minute install" Variante.
Hier die wenigen Anpassungen der 5minute-Variante in grober Übersicht:
cp /usr/share/wordpress/wp-config-sample.php /etc/wordpress/config-localhost.php
- darin die mysql zugangsdaten eintragen
die define('ABSPATH',...)-Zeile entfernen
ln -s config-localhost.php /etc/wordpress/config-PUBLICHOSTNAME.php
Browser auf https://.../wp-admin/install.php steuern und den Anweisungen Folge leisten
Per webfrontend als admin anmelden und den domainnamen von http://bla:443 auf https:// umstellen
bei wp2.0 funktionierte das nur über phpmyadmin -> wp_options -> site_url
- bevor du Permalinks aktivierst, kannst die entsprechende .htaccess Datei für www-data beschreibbar machen, dann erweitert sie wp automatisch
Anpassungen
Einige optionale Änderungen:
- wordpress in deutsch
- de_DE.mo in wp-includes/languages kopiert
- deutsches template installiert
in der /etc/wordpress/config-localhost.php die Sprache setzen
als admin unter options->miscellaneus file upload erlauben
- ldap Authentifizierung
- Kontaktformular von ryanduff.net/projects/wp-contactform/
http://blog.blackdown.de/2005/05/18/securing-wordpress-admin-access-with-ssl/
Entlastung für den wp Server: wp-cache
- Dabei werden die dynamischen php Seiten, nur einmal gerendert und anschließend als statisches html aus dem Cache serviert. Das erspart dem Webserver eine Menge unnötiger Rechenarbeit
Upgrades
!Bevor du weitermachst, kann dir ein frisches Backup des weblog umls einige Sorgenfalten ersparen.! Leider entzieht sich Wordpress etwas dem Standard Debian upgrade System. Via apt-get lässt sich die aktuelle WP Version installieren, allerdings gehen dabei eingebrachte Patches verloren. Da wir mehrere WP Instanzen benutzen musst du die WP Quellen kopieren, damit jeder Blog seinen eigenen Code hat.
apt-get update apt-get install wordpress cp /usr/share/wordpress /data/wp-[blog]-[neue_version]
In /data siehst du leicht, wie die einzelnen symbolischen Links angeordnet sind. Das im Netz sichtbare WP ist immer wp-[blog]. Nun reicht es aber nicht, den wp-[blog] Link von wp-[blog]-[alte_version] auf wp-[blog]-[neue_version] umzubiegen! Einige Schritte sind vorher noch notwendig:
- In wp-[blog]-[neue_version] müssen ein paar Verzeichnisse und Dateien ausgetauscht werden. Du befindest dich jetzt in der kopierten, neuen WP Codebasis (also z.B. /data/wp-foo-2.1.0):
- Verlinke wp-config.php nach /data/wordpress/settings.d/[blog_url].php
- Verlinke die .htaccess nach /data/wp-[blog]-custom-data/.htaccess
- Verlinke content/uploads-[blog] nach /data/wp-[blog]-custom-data/content/uploads-[blog]
- Lösche "uploads"
- Verlinke content/advanced-cache.php nach /data/wp-[blog]-custom-data/wp-content/advanced-cache.php
- Verlinke content/themes/wp-[blog] nach /data/wp-[blog]-custom-data/wp-content/themes/wp-[blog]
- Das aktuelle WP default theme sollte drinbleiben, falls was mit dem selbstgebauten theme nicht hinhaut.
- Kopiere die plugins aus /data/wp-[blog]-custom-data/content/plugins/ nach content/plugins/
- Schau vorher ob es von den Plugins neue Versionen gibt. Ist das der Fall kopiere diese nach ..custom-data und in das aktuelle Pluginverzeichnis. Achte darauf, dass einige Plugins gepatched werden müssen, damit sie korrekt laufen. Bei uns ist das bei eventcalendar3 der Fall. Hier hilft nur, die Doku des Plugins weiter (siehe unten).
Achte darauf, dass alle Verz. & Dateien www-data gehören.
- Melde dich als Admin an und deaktivere alle Plugins (du agierst jetzt noch mit der alten WP Codebase). Melde dich wieder ab.
- damit bleibt die neue WP Version nutzbar, auch wenn Plugins dort nicht laufen sollten
- Setze jetzt erst den /data/wp-[blog] Link um! (also von wp-[blog]-[alte_version] auf wp-[blog]-[neue_version]).
Sicherheitshalber starte ich den apache meist neu: apache2ctl graceful
- Steuere nun den Loginbereich des Blogs (/wp-admin) oder direkt /wp-admin/upgrade.php an. In beiden Fällen sollte eine Meldung erscheinen, dass die Datenbank nicht aktuell ist. Hier brauchst du nur zweimal auf weiter klicken und die Tabellen werden aktualisiert.
- Aktiviere die Plugins nacheinander wieder und sieh nach ob alles wie erwartet läuft.
Falls noch was unklar ist, lies die offizielle Wordpress Upgrade Anleitung.
Event Calendar
EventCalendar läuft in Wordpress 2.x bislang nur mit einer Änderung in der Datei: wp-includes/classes.php. Dies ist etwas ärgerlich, da hier lästiges patchen per Hand anfällt. Der Patchvorgang ist in der README Datei des Plugins beschrieben und auch im EventCalendar Blog.
am Rande
- https login einrichten
- wp-admin-ssl wäre geeignet hat aber ein paar Mankos
http://blog.blackdown.de/2005/05/18/securing-wordpress-admin-access-with-ssl/
http://haris.tv/2007/01/11/wordpress-ssl-plugin-secure-admin-patched-and-working/
http://www.perun.net/2005/07/09/wordpress-als-cms-zweites-beispiel/ seitenindex
- ldap authentification
http://patcavit.com/2005/05/11/wordpress-ldap-and-playing-nicely/
- alle nutzer brauchen einen wordpress account (passwort ist egal, das kommt per ldap)
wenn ldap läuft, dann einen link nach https://systemausfall.org/admin/account auf die wordpress seite
Bilder plugin http://lazyest.keytwo.net/
- php4-gd installieren
- installiert: defoma file fontconfig libfontconfig1 libfreetype6 libgd2-xpm libice6 libjpeg62 libpng12-0
- bilderverz. anlegen und darin unterverz. sonst klappt die indizierung nicht
- wp-cache sagen, dass es lazyest-index nicht cachen soll
- php4-gd installieren
- zwecks performance wp-cache installieren
- in wp-config.php setzen: define(’WP_CACHE’, true)
- sql queries minimal halten (manche plugins sind da verschwenderisch)
- evtl. apache rewrites aus htaccess rausnehmen
EventCalendar installiert
- runterladen, in wp-content/plugins entpacken, im admin front-end aktivieren
für wp>2.0 wp-includes/classes.php patchen (wie steht in der readme)
jetzt stehen ec3_get_calendar() oder ec3_get_events() zur Verfügung -> in sidebar.php einbinden
- neuen Domainnamen setzen
mysql -u wp_NAME -p
use wp_NAME; UPDATE `wp_options` SET `option_value` = 'http://foo.bar' WHERE `option_id` =1 AND `blog_id` =0 AND `option_name` = 'siteurl' LIMIT 1 ; UPDATE `wp_options` SET `option_value` = 'http://foo.bar' WHERE `option_id` =46 AND `blog_id` =0 AND `option_name` = 'home' LIMIT 1 ;
- uploads Verzeichnisse umbenennen (mass renaming)
USE wp_NAME; UPDATE `wp_posts` SET `post_content` = REPLACE(`post_content`, "/wp-content/uploads", "/wp-content/uploads-sobi");
weitere Hilfe
Hinweise
Wordpress ist für mehrere autonome Webseiten relativ ungeeignet. Dazu müssten auf dem Server jeweils eigene Instanzen installiert werden. Es gibt aber einige Projekte, die das Problem in Angriff genommen haben. WP Multiple Blogs
- Die Codebasis won Wordpress ist relativ schmutzig. Gerade die Templates sind von php Code durchzogen, was Updates, Sicherheitsmanagement usw. unnötig verkompliziert.