Unterschiede zwischen den Revisionen 24 und 25
Revision 24 vom 2012-10-23 10:46:42
Größe: 10305
Autor: anonym
Kommentar:
Revision 25 vom 2022-11-19 22:44:06
Größe: 0
Autor: phil
Kommentar: veraltet
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
<<TableOfContents>>

= Was ist das hier =
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.

= 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 [[http://wordpress.org/about/requirements/|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 [[http://www.phpmyadmin.net|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 [[http://codex.wordpress.org/Installing_WordPress|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
  * http://patcavit.com/2005/05/11/wordpress-ldap-and-playing-nicely/
  * http://www.weblogs.uhi.ac.uk/sm00ay/?p=45
 * 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: [[http://dev.wp-plugins.org/wiki/WP-Cache|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 [[http://codex.wordpress.org/Upgrading_WordPress|offizielle Wordpress Upgrade Anleitung]].

=== Event Calendar ===
[[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]].

== 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/
  * http://www.weblogs.uhi.ac.uk/sm00ay/?p=45
  * 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
  libsm6 libt1-5 libx11-6 libxext6 libxpm4 php4-gd ttf-bitstream-vera xfree86-common xlibs-data
  * bilderverz. anlegen und darin unterverz. sonst klappt die indizierung nicht
  * wp-cache sagen, dass es lazyest-index nicht cachen soll
 * 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
 * [[http://blog.firetree.net/2005/07/18/eventcalendar-30/|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 =
 * [[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]]
= 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. [[http://codex.wordpress.org/Installing_Multiple_Blogs|WP Multiple Blogs]]
 * Die Codebasis von Wordpress ist relativ schmutzig. Gerade die Templates sind von php Code durchzogen, was Updates, Sicherheitsmanagement usw. unnötig verkompliziert.
----
CategoryCategory

Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.