WordPress

Aus Flinkwiki
Wechseln zu: Navigation, Suche
Seitenübersicht



Installation

Installations-Dateien

(Getestet auf Linux Mint 18.2 und Debian 8, analog übertragbar auf Ubuntu 16.04, Ubuntu 17.04.).

  1. Datei wordpress-4.9.tar.gz von https://wordpress.org/download/ (englisch) oder https://wordpress.org/download/ (deutsch) herunterladen und nach /var/www/html/ kopieren/verschieben.
  2. tar xvfz wordpress-4.9.tar.gz.
  3. Es entsteht ein Verzeichnis wordpress.

Download mit wget:

wget https://de.wordpress.org/wordpress-4.9-de_DE.tar.gz

Datenbank vorbereiten

  1. mysql -u root -p
  2. CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;
  3. CREATE USER username@localhost IDENTIFIED BY 'password'; (username ersetzen durch DB-Benutzernamen, das Passwort in Hochkommas setzen).
  4. GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password'; (Hochkommas beachten) - oder alternativ GRANT ALL PRIVILEGES ON databasename.* TO username@localhost;
  5. FLUSH PRIVILEGES;
  6. exit

WordPress-Installation

Im Browser hostname/wordpress' eingeben, z. B. localhost/wordpress oder www.example.com/wordpress. Es erscheint folgende Meldung:

Welcome to WordPress. Before getting started, we need some information on the database. You will need to know the following items before proceeding.

    Database name
    Database username
    Database password
    Database host
    Table prefix (if you want to run more than one WordPress in a single database)

We’re going to use this information to create a wp-config.php file. If for any reason this automatic file creation doesn’t work, don’t worry. 
All this does is fill in the database information to a configuration file. You may also simply open wp-config-sample.php in a text editor, 
fill in your information, and save it as wp-config.php. Need more help? We got it.

Wenn man fortfährt, werden im Laufe der Installationsroutine verschiedene Eingaben abgefragt, unter anderem die vorbereiteten Datenbank-Informationen, siehe oben.

Falls das Schreiben der Datei wp-config.php nicht möglich ist, erscheint ein Fenster mit dem Textinhalt der Datei. Man geht dann ins Document Root (hier: var/www/html/wordpress/) und legt eine Datei mit diesem Namen an. In die Datei kopiert man den angezeigten Textinhalt. Danach kann man mit der Installationsroutine fortfahren.


Backend

Hier ist der Arbeitsbereich für angemeldete Benutzer. Im Menü links oben fährt man mit der Maus über den Seitennamen und klickt auf Dashboard. Alternativ kann man auch in der Adressleiste des Browser den Zusatz wp-admin hinzufügen.

beispiel-url/wp-admin

Beiträge und Seiten

Beiträge

Beiträge sind die von einem Autor geschriebenen und zu einem bestimmten Zeitpunkt veröffentlichten Texte. Die Beiträge kann man in chronologischer Ordnung anzeigen lassen, wobei die neuesten Einträge in der Regel oben positioniert sind.

In diesem Menü kann man

  • Beiträge anzeigen
  • Beiträge schreiben
  • Kategorien verwalten
  • Schlagwörter einfügen

Seiten

Seiten haben nur einen Text, dessen Publikationsdatum auch per Voreinstellung nicht genannt wird. Seiten verwendet man, wenn man statische Inhalte publizieren möchte, z. B.

  • "Über uns"
  • Impressum
  • Kontaktformular.
Schlagwörter für Seiten aktivieren

=> An die functions.php des Themes folgenden Code anhängen:

// add tag support to pages
function tags_support_all() {
	register_taxonomy_for_object_type('post_tag', 'page');
}

// ensure all tags are included in queries
function tags_support_query($wp_query) {
	if ($wp_query->get('tag')) $wp_query->set('post_type', 'any');
}

// tag hooks
add_action('init', 'tags_support_all');
add_action('pre_get_posts', 'tags_support_query');
[1]

Customizer

Der Customizer wird aufgerufen aus dem

  • Frontend, Menü links oben

oder dem

  • Backend, Seitenleisten-Menü links, Design > Customizer.

Hier kann man unter Website-Informationen über den Button Speichern & Publizieren vorbereitete Inhalte (Artikel, Menüs) öffentlich machen. Weiterhin kann man hier ein Logo und ein Website-Icon hochladen sowie Titel und Untertitel der Website ändern.


Benutzer



Migration

Migration mit UpdraftPlus siehe weiter unten.


Plugins

Erstellung von Plugins

WordPress - Plugins


Contact Form 7

Nach Installation und Einrichtung des Kontaktformulars muss der Shortcode (z. B. [contact-form-7 id="242" title="Kontaktformular 1"] in die Seite kopiert werden, auf der das Kontaktformular erscheinen soll.[2]

Auf der Google reCAPTCHA Seite erstellt man zwei Schlüssel, die anschließend unter Formulare (engl.: Contact) > Integration eingetragen werden müssen.

Dann nimmt man das Kontaktformular in Bearbeitung und trägt oberhalb von "Senden" folgende Zeile ein:

<label> [recaptcha] </label>

UpdraftPlus

UpdraftPlus ist ein Tool für Backup, Wiederherstellung und Migration.

Sicherung im Quellsystem

Nach der Installation und Aktivierung von UpdraftPlus klickt man auf Einstellungen > Jetzt sichern. Dabei setzt man alle Haken. Unter Existierende Sicherungen kann man die komprimierten Archive einzeln auf den Rechner laden.


Wiederherstellung / Migration ins Zielsystem

Nach der Installation und Aktivierung von UpdraftPlus klickt man auf Einstellungen > Wiederherstellen> Wiederherstellen und setzt alle Haken (Plugins, Themes, Uploads, Andere, Datenbank'). Dann "Wiederherstellen".

Es wird eine Wiederherstellung und keine Migration durchgeführt, d. h., die Datenbank enthält die URL des Quellsystems.

Wenn man eine Migration durchführt, wird die URL des Quellsystems übernommen (ein Upgrade ein Migrationstool ist kostenpflichtig).

Man kann die Migration auf eine andere URL ohne dieses ohne das Tool bewerkstelligen, indem man vor dem Eingriff die backup-Datei für die Datenbank (z. B. "backup_2017-12-02-1707_xxxxxxxxxxxxxxxxxx_354abc120a84-db.gz") mit gunzip entpackt und diese dann umeditiert. Die URL-Einträge müssen angepasst werden: SuchenalteURL
ErsetzenneueUrl

Dann komprimiert man die backup-Datei wieder mit gzip und kopiert sie in das updraft-Verzeichnis.



Email Address Encoder

Ein leichtgewichtiges Plugin zur Abwehr von Robots, die Mail-Adressen sammeln. E-Mail-Adressen und Mailto-Links werden zum Schutz in dezimale und hexadezimale Einheiten zerlegt. Funktioniert in Beiträgen, Seiten, Kommentaren, Auszügen und Text-Widgets. Keine Benutzerschnittstelle, kein Shortcode, kein JavaScript – nur eine einfache Spam-Abwehr.


Antispam Bee

Hinweis (in der Beschreibung von Akismet): Für Nutzer in Deutschland empfehlen wir als Alternative das Plugin Antispam Bee, welches werbefrei und konform mit den europäischen Datenschutzstandards arbeitet.


TablePress

Spalten einstellen

Backend > TablePress > Reiter "Einstellungen"

Fenster "Darstellungsoptionen / Zusatz-CSS"

Hier der Code, um die Breite einer einzelnen Spalte einer einzelnen Tabelle festzulegen. Mit dem folgenden Code wird von der Tabelle mit der ID-2 die erste Spalte auf 300 Pixel festgelegt.

/* Breite einer einzigen Spalte */
.tablepress-id-2 .column-1 {
    width: 300px;
}

Maximale Breite der kompletten Tabelle:

/* Maximale Breite einer Tabelle */
#tablepress-2_wrapper {
    max-width: 690px;
}

[3]


Share a Draft

Ermöglicht es, externen Adressaten für einen definierten Zeitraum Lesezugriff auf einen Artikel-Entwurf zu geben.


Seiten einbetten

Embeds


Maps

Bei diesen Seiten auf "Teilen" klicken.


Updates und Backups


Troubleshooting

the requested url "was not found on this server"

=> In /etc/apache2/apache2.conf muss folgendermaßen eingestellt werden:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Danach systemctl restart apache2.


Admin-Password vergessen

Normalerweise kann man dass Passwort über die Passwort vergessen?-Funktion wiederherstellen.

Wenn es über die Datenbank geändert werden muss, ruft man in Mysql/MariaDB die Datenbank auf und ändert das Passwort mit folgendem Befehl (Beispiel):

UPDATE wp_users SET user_pass="$1$0srLaWGj$iucYZVjTMFHUh.vf7ysZq/" WHERE user_login='maxmuster';

Hier kann man einen 41-stelligen Hash erzeugen (SHA-1 Hash, 41-stellig):

Generierung auf der Shell:

On Unix/Linux:
Create file wp.txt with the new password in it (and *nothing* else)
tr -d '\r\n' < wp.txt | md5sum | tr -d ' -'
rm wp.txt
On Mac OS X:
Create file wp.txt with the new password in it (and *nothing* else), then enter either of the lines below
md5 -q ./wp.txt; rm ./wp.txt (If you want the MD5 hash printed out)
md5 -q ./wp.txt | pbcopy; rm ./wp.txt (If you want the MD5 hash copied to the clipboard)

[4]


Installation von Plugins und Aktualisierungen verlangen ftp-Zugangsdaten

"Um diese Aktion durchführen zu können, benötigt WordPress Zugriff auf deinen Webserver. Bitte gib die FTP-Zugangsdaten ein, um fortzufahren. Falls du deine Zugangsdaten vergessen hast, so solltest du bei deinem Webhoster nachfragen."

Ursache: Inhaber und Rechte der Dateien sind nicht richtig gesetzt. Die folgenden Lösungsvorschläge sind für Testinstallationen auf localhost gedacht und nicht für Produktivsysteme:

Im Document Root folgenden Befehl ausführen, um den Inhaber anzupassen:

find . -exec chown www-data:www-data {} \;

www-data steht hier für den Apache-User bei Debian, Ubuntu etc. Bei CentOS heißt der User apache. Im Document Root folgenden Befehl ausführen, um die Rechte anzupassen:

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

(Alternativ: Eine Ebene höher find [document root] ...)


Wenn das nicht hilft:

Workaround:

chmod -R 777 [wordpressVerzeichnis]

Diese Lösung ist sicherheitstechnisch problematisch. Besser wäre es, die korrekten Besitzer mit chown zuzuweisen.


Ein ebenso problematischer Workaround besteht darin, an das Ende der Datei wp-config.php folgende Zeile anzuhängen:

define('FS_METHOD', 'direct');


Backup-Datei von UpdraftPlus ist zu groß

Wenn die backup-Datei für "upload" zu groß ist, kann es sein, dass sich die Wiederherstellung "aufhängt". In diesem Falle kann man die upload-Dateien mit unzip entpacken und den Inhalt des entstehenen upload-Verzeichnisses manuell nach wp-content/upload/ kopieren. Eventuell müssen dann noch Besitzer und Berechtigungen angepasst. werden.


Admin-E-Mail lässt sich nicht ändern

Unter Einstellungen > Allgemein ist eine E-Mail-Adresse für administrative Zwecke hinterlegt. Eine Änderung dieser Adresse ist nur möglich, wenn man auf die neue Adresse eine Bestätigungsmail erhält und den darin enthaltenen Link betätigt. Wenn aber aus irgendwelchen Gründen diese Mail nicht versendet wird oder nicht ankommt, so kann man sie nur in der Datenbank ändern:

Tabelle wp_options > wo [option_name == admin_name] die option_value (E-Mail) auf den neuen Wert updaten. Beispiel:

UPDATE wp_options SET option_value = 'max.mustermann@web.de' WHERE option_name = 'admin_email';

Notizen

Kommentare abschalten:

> An functions.php des Themes folgenden Code anfügen[5]:

function disable_comments_status()
	{
	return false;
	}
add_filter('comments_open', 'disable_comments_status', 20, 2);
add_filter('pings_open', 'disable_comments_status', 20, 2);
function disable_comments_post_types_support()
	{
	$post_types = get_post_types();
	foreach($post_types as $post_type)
		{
		if (post_type_supports($post_type, 'comments'))
			{
			remove_post_type_support($post_type, 'comments');
			remove_post_type_support($post_type, 'trackbacks');
			}
		}
	}
add_action('admin_init', 'disable_comments_post_types_support');
function disable_comments_hide_existing_comments($comments)
	{
	$comments = array();
	return $comments;
	}
add_filter('comments_array', 'disable_comments_hide_existing_comments', 10, 2);
function disable_comments_admin_menu()
	{
	remove_menu_page('edit-comments.php');
	}
add_action('admin_menu', 'disable_comments_admin_menu');
function disable_menus_admin_bar_render()
	{
	global $wp_admin_bar;
	$wp_admin_bar->remove_menu('comments');
	}
add_action('wp_before_admin_bar_render', 'disable_menus_admin_bar_render');



Sprungmarken/Anker/Hyperlinks


CMS-Information in der Inspektor-Ansicht:

<meta name="generator" content="WordPress 4.8.3">

WordPress auf einen anderen Server umziehen:

* https://www.hosteurope.de/faq/webhosting/wp-hosting/wordpress-blog-umziehen/

Plugin: UpdraftPlus


Caching:


Links und Quellen


| | |