Drupal: Unterschied zwischen den Versionen
Flinh1 (Diskussion | Beiträge) (→Updates) |
Flinh1 (Diskussion | Beiträge) (→Core Update) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 366: | Zeile 366: | ||
Mit ''Core Update'' sind Release-Updates '''innerhalb''' einer Version (z. B. Drupal 8) gemeint. | Mit ''Core Update'' sind Release-Updates '''innerhalb''' einer Version (z. B. Drupal 8) gemeint. | ||
− | [https://www.youtube.com/watch?v=JUIdn7-A62Q Tutorial Updating Drupal 8, Lesson 5: Core Updates] | + | Anleitung für manuelles Update (wenn man weder ''drush'' noch ''composer'' zur Verfügung hat) |
+ | |||
+ | * [https://www.drupal.org/updating-and-upgrading-drupal-core Aktualisierungshandbuch] | ||
+ | |||
+ | * https://www.drupal.org/docs/8/update/update-core-manually | ||
+ | |||
+ | * [https://www.youtube.com/watch?v=JUIdn7-A62Q Tutorial Updating Drupal 8, Lesson 5: Core Updates] | ||
---- | ---- |
Aktuelle Version vom 5. November 2020, 11:07 Uhr
Inhaltsverzeichnis
- 1 Infos zu Drupal
- 2 Installation
- 3 Module
- 4 Core Update
- 5 Drush
- 6 Troubleshooting
- 7 Notizen
- 8 Quellen und Links
Infos zu Drupal
Hochladen von Dateien konfigurieren
https://www.ostraining.com/blog/drupal/drupal-8-attaching-files/
Installation
Installation in XAMPP (Linux)
Vorbereitung der Datenbank
/opt/lampp/bin/mysql -u root -e "CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci";
(databasename durch DB-Namen ersetzen)./opt/lampp/bin/mysql -u root
CREATE USER username@localhost IDENTIFIED BY 'password';
(username ersetzen durch DB-Benutzernamen, das Passwort in Hochkommas setzen).GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password';
(Hochkommas beachten) - oder alternativGRANT ALL PRIVILEGES ON drupaldb.* TO drupaluser@localhost;
- exit
Installation von Drupal
- Paket herunterladen, z. B. drupal-7.56.tar.gz
- Entpacken mit tar xvfz
drupal-7.56.tar.gz
- Verzeichnis drupal-7.56 in drupal umbenennen, dann nach /opt/lampp/htdocs/ kopieren
cp /opt/lampp/htdocs/drupal/sites/default/default.settings.php /opt/lampp/htdocs/drupal/sites/default/settings.php
- Ggf für das Verzeichnis /opt/lampp/htdocs/drupal Schreibrechte erweitern (z. B mit chmod -R 777 /opt/lampp/htdocs/drupal/sites/default).
- Im Browser localhost/drupal aufrufen
- Konfiguration im Browser abarbeiten.
- Schreibrechte wieder zurücknehmen (z. B mit chmod -R 755 /opt/lampp/htdocs/drupal/sites/default).
Sprachmodul(e) installieren
- Modul(e) herunterladen von https://localize.drupal.org/download.
- Nach /opt/lampp/htdocs/drupal/profiles/standard/translations/ kopieren
- In Drupal unter Modules das Module Locale aktivieren.
- Configuration > Regional and language > Languages > Sprache auswählen und hinzufügen > auf ENABLED und DEFAULT setzen.
https://www.drupal.org/docs/7/install https://www.drupal.org/docs/7/install/step-2-create-the-database#mysql_commands
Installation unter MacOS 10.12 und Windows
Acquia Dev Desktop herunterladen von https://dev.acquia.com/downloads und installieren.
Installation unter CentOS 7
Siehe Installation unter Ubuntu. Folgende Punkte können unter CentOS 7 erforderlich werden:
yum list php-pdo bzw. yum install php-pdo
yum update php-mysql bzw. yum install php-mysql
yum install php-mbstring
dann
systemctl restart httpd.service
Fehler: "The directory sites/default/files is not writable.", obwohl die Schreibrechte existieren.
Lösung:
If you still have this issue, does (temporarily) disabling SElinux remove the problem? Do setenforce 0 (setenforce 1 to re-enable).
Damit wird SELinux deaktiviert.[1]
Fehler: CSS wird nicht wirksam.
Lösung:
chcon -R -t httpd_sys_content_t /your/drupal/installation/dir
Fehler (Meldung im Backend):
Notice: Undefined index: #aggregate_callback in advagg_get_js
Kann erst einmal zurückgestellt werden. Sollte trotzdem funktionieren.[3]
Installation unter Solaris
http://www.scalingbits.com/solaris/11/foss/drupal
Installation von Drupal 8 unter Ubuntu 16.04
Vorbereitung der Datenbank
mysql -u root -p -e "CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci"
(databasename durch DB-Namen ersetzen).mysql -u root -p
CREATE USER username@localhost IDENTIFIED BY 'password';
(username ersetzen durch DB-Benutzernamen, das Passwort in Hochkommas setzen).GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password';
(Hochkommas beachten) - oder alternativGRANT ALL PRIVILEGES ON drupaldb.* TO drupaluser@localhost;
FLUSH PRIVILEGES;
- exit
Installation von Drupal 8
cd /var/www/html/
- Paket herunterladen, z. B.
wget https://ftp.drupal.org/files/projects/drupal-8.3.7.zip
oderwget https://ftp.drupal.org/files/projects/drupal-8.3.7.tar.gz
- Entpacken mit
unzip drupal-8.3.7.zip
bzw.tar xvfz drupal-8.3.7.tar.gz
- Drupal-Verzeichnis umbenennen
mv /var/www/html/drupal-8.3.7/ /var/www/html/drupal
. cp /var/www/html/drupal/sites/default/default.settings.php /var/www/html/drupal/sites/default/settings.php
- Rechte setzen:
chown www-data:www-data -R /var/www/html/
und chmod -R 755 /var/www/html/
- Schreibrechte erweitern:
chmod -R 777 /var/www/html/drupal/sites/default
, nach der Installation zurücksetzen auf 755.
Apache-Einstellungen ausführen: In /etc/apache2/sites-available/ die Datei 000-default.conf editieren. Am Dateianfang folgenden Block einfügen:
<VirtualHost *:80> DocumentRoot /var/www/html/drupalverzeichnis ServerName drupalverzeichnis.local <Directory "/var/www/html/drupalverzeichnis"> AllowOverride All Require all granted </Directory> </VirtualHost>
Bei Ubuntu-VM in Virtualbox: /etc/hosts erweitern um
127.0.0.1 drupalverzeichnis.local
Anschließend
service apache2 restart
ausführen.
- Im Browser localhost/drupal (bzw. drupalverzeichnis.local/core/install.php) aufrufen
- Konfiguration im Browser abarbeiten.
- Schreibrechte wieder zurücknehmen (z. B mit chmod -R 755 /var/www/html/drupal/sites/default).
Installations-Probleme
Fehler: phpinfo wird nicht angezeigt
Fehler: Fehlende Extensions --> Pakete nachinstallieren, z. B.
apt-get install php-gd apt-get install php-xml apt-get install php-pdo
Fehler: Wenn man nach der Installation eine Unterseite aufruft (z. B. Configuration), wird die Seite nicht gefunden.
Not Found The requested URL /drupal/admin/config was not found on this server. Apache/2.4.18 (Ubuntu) Server at localhost Port 80
Lösung: Wenn Drupal sich in einem Unterordner befindet, muss folgende Zeile in .htaccess einkommentiert werden:
RewriteBase /[drupalverzeichnis]
Damit .htaccess gelesen werden kann, muss in /etc/apache2/apache2.conf im Eintrag
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
AllowOverride All gesetzt werden.
Anschließend das Modul mod_rewrite aktivieren:
a2enmod rewrite
und Apache neu starten: /etc/init.d/apache2 restart
.
Überprüfen, ob mod_rewrite aktiv ist:
apache2ctl -M | grep rewrite
Fehler 403 Forbidden You don't have permission to access /drupal/admin/reports on this server. Server unable to read htaccess file, denying access to be safe
Lösung:
chown -R www-data:www-data /var/www/
evtl auch
chmod -R 755 /var/www/
mbstring missing:
You are missing a required extension to PHP that MediaWiki requires to run. Please install: mbstring
apt-get install php7.0-mbstring phpenmod mbstring systemctl restart apache2
Enable Clean URLs
Sprachmodul(e) installieren
Drupal 8.3.7 installiert die Übersetzungen automatisch gemäß der Sprachauswahl im Installationsbildschirm. Die folgenden Anleitungen sind nur für den Fall gedacht, dass die automatische Installation der deutschen Übersetzungen nicht funktioniert:
- Modul(e) herunterladen von https://localize.drupal.org/download.
- Nach drupal/profiles/standard/translations/ kopieren
- In Drupal unter Modules das Module Locale aktivieren.
- Configuration > Regional and language > Languages > Sprache auswählen und hinzufügen > auf ENABLED und DEFAULT setzen.
Alternativ: Aus Drupal > Extend
https://ftp-origin.drupal.org/files/translations/8.x/drupal/drupal-8.4.0-rc2.de.po
downloaden.
Module
Installation von Modulen
Kernmodule
Kernmodule werden aktiviert unter Modules.
Contributed Modules
Modules > Neues Modul installieren > entweder
- Von einer URL installieren, Beispiel:
https://ftp.drupal.org/files/projects/mailchimp-7.x-4.8.tar.gz
oder
- Ein zu installierendes Modul oder Theme Archiv (tar.gz) hochladen. Die Default Location hierfür ist
[d7-root]/sites/all/modules/*NEW-SINGLE-MODULE-FOLDER-HERE*/*MULTIPLE-MODULE-FILES-AND-FOLDERS-HERE*
Anschließend über Enable newly added modules
aktivieren.
mailchimp
https://drupalize.me/videos/use-drupal-and-mailchimp-together?p=2235
---
in libraries: mkdir mailchimp
Download: https://github.com/thinkshout/mailchimp-api-php/releases/download/v1.0.5... * Replace sites/all/libraries/mailchimp with the downloaded (unzipped) content. * Rename v1.0.5-package to mailchimp * Make sure the file-permissions are set correctly This mailchimp library includes the guzzlehttp library. -- source: README.txt from the new MailChimp module.
XML sitemap
Installation des Moduls XML sitemap
Lokal in xampp (Drupal 7):
- Modul XML sitempap herunterladen[4]
- Die *.tar.gz-Datei in (falls vorhanden) /opt/lampp/htdocs/drupal/sites/all/modules/ verschieben (nicht in .../core/modules/!)
- In Erweitern das Modul Update Manager installieren.
Neues Modul installieren
Im Webspace (Drupal 8):
- Modul XML sitempap herunterladen[5]
- In Erweitern das Modul Update Manager installieren.
Neues Modul installieren
- Module aktivieren: in Erweitern bei den XML sitemap-Modulen Haken setzen und auf Schaltfläche Installieren klicken.
- Alternative Methode: code>Neues Modul installieren > Von einer URL hinstallieren > z. B.
https://ftp.drupal.org/files/projects/xmlsitemap-7.x-2.3.tar.gz
Konfiguration von XML sitemap
- Configuration:
- In Configuration unter Search and metadata den Punkt XML sitemap aufrufen.
- Man befindet sich jetzt auf der Konfigurationsseite unter dem Reiter Liste
- Mit Rechtklick auf https://www.domänenname.com/sitemap.xml zur Ansicht die existierende Sitemap aufrufen.
- Settings:
- Vom Reiter Liste zum Reiter Einstellungen wechseln.
- Hier wird die Konfiguration der Startseite angezeigt. Sie hat die höchste Priorität (1.0).
- Änderungsfrequenz überprüfen.
- Unter Inhalt können die verschiedenen Inhaltstypen aufgerufen werden.
- Es öffnet sich jeweils eine Maske zu Bearbeiten des Inhaltstyp. Links unten auf Sitemap klicken.
- Hier kann man den jeweiligen Inhaltstyp einschließen oder ausschließen und ggf. die Priorität ändern.
Inhaltstyp speichern
- Anschließend
Konfiguration speichern
- Rebuild Links:
- Reiter Rebuild Links
Sitemap neu aufbauen
- Refresh:
- Unter dem Reiter Liste Haken setzen bei der Sitemap
- Gecachte Dateien aktualisieren
Aktualisieren
- Die Sitemap kann jetzt aufgerufen werden bzw. die in 1.3 aufgerufene Seite aktualisiert werden.
- Hier können einzelne Treffer bei Bedarf ausgeblendet werden (anklicken, Bearbeiten und auf Ausschluss setzen).
Core Update
Mit Core Update sind Release-Updates innerhalb einer Version (z. B. Drupal 8) gemeint.
Anleitung für manuelles Update (wenn man weder drush noch composer zur Verfügung hat)
Folgende Vorgehensweise habe ich praktiziert:
- Drupal komplett sichern.
- Wartungsmodus einschalten (unter /admin/config/).
- Per ssh auf Server/Webspace gehen. Das Hauptverzeichnis der Drupal-Website umbenennen (z. B
mv website website_backup
). - Neue Version holen, z. B.: wget https://ftp.drupal.org/files/projects/drupal-8.9.1.tar.gz
- Auspacken: tar xvfz drupal-8.9.1.tar.gz
- Dem neuen Drupal Verzeichnis den Original-Namen der Website geben: mv drupal-8.9.1 website)
- Aus /website/ mit rm -rf die Verzeichnisse /sites, /profiles, /modules, /themes entfernen.
- Aus /website_backup die Verzeichnisse /sites, /profiles, /modules, /themes sowie die Datei .htaccess, ggf. auch composer.json, oder robots.txt in /website/ hineinkopieren.
- Im Browser die Seite zum Updaten aufrufen, z. B. https://website.de/update.php, dort alle Aktionen bestätigen.
- # Wartungsmodus ausschalten (unter /admin/config/).
Alternativ:
- Komplette Sicherung des Drupal-Verzeichnisses
- Datenbank sichern
- Dateien mit manuellen Einträgen wie .htaccess, composer.json, or robots.txt wegsichern.
- Konfiguration > Wartungsmodus einschalten.
cd
in das Root-Verzeichnis der Website gehen.- rm -rf core vendor
- rm -f *.* .[a-z]*
- In den release notes des Drupal-Updates nachschauen, ob sich die default.settings.php geändert hat. In diesem Falle settings.php anpassen (kommt selten vor).
- Installationsdatei herunterladen, z. B. wget https://ftp.drupal.org/files/projects/drupal-x.y.z.tar.gz
- und entpacken mit tar xvfz
- cd drupal-x.y.z
- cp -R core vendor /Root-Verzeichnis-der-Website/
- cp *.* .[a-z]* /Root-Verzeichnis-der-Website/
- Ggf. .htaccess, composer.json, oder robots.txt zurückkopieren oder manuelle Einträge wiederherstellen.
- Update starten mit http://www.example.com/update.php
- Berichte > Statusberichte überprüfen.
- drupal-Installationsdateien löschen
- rm drupal-x.y.z.tar.gz
- rm -rf drupal-x.y.z/
- Konfiguration > Wartungsmodus ausschalten.
Drush
- Drush = Drupal Shell
Installation:
composer global require drush/drush
Überprüfung:
drush version
Module installieren:
drush dl admin_toolbar --select
> Die Variante Supported, Recommended auswählen. drush en admin toolbar > Im Backend unter Erweitern > Verwaltung aktivieren. Dann wird im Admin-Menü oben das Symbol für die Toolbar sichtbar.
Dummy-Inhalte erzeugen:
drush dl devel
dl = download
drush en devel, devel_generate
en = enable
drush genc 50
genc = generate content, 50 = Anzahl der zu generierenden Nodes
Optionen anzeigen:
drush help genc
Alle Inhalte löschen und neue für Artikel, Weblog und Seite erstellen:
drush --kill genc 50 --types=article,weblog,page
Troubleshooting
CSS wird nicht geladen
Die Seiten erscheinen ohne Layout. Ursache:
sites/default/files
und sites/default/private_files
sind nicht beschreibbar. Es müssen die Besitzer oder die Berechtigungen angepasst werden, z. B.
chmod -R 777 files/ chmod -R 777 private_files/
Diese Einstellung sollte auf einem Live-Server vermieden werden. chmod -R 644
und die Zuweisung der korrekten Besitzerrechte sollten ausreichen.
Admin-Password vergessen
Normalerweise kann man das Passwort über die Funktion Passwort zurücksetzen wiederherstellen.
Wenn es über die Datenbank geändert werden muss, ruft man in Mysql/MariaDB die Datenbank auf und ändert das Passwort folgendermaßen (Beispiel):
- Drupal 8
UPDATE users_field_data SET pass="$S$ElwUmxssLJCNRIPszXRdrbUQXK46.ZoVDE1bxs909oHDCK1vpZBR" WHERE name='maxmuster';
Den Hash erzeugt man mit dem Skript ./core/scripts/password-hash.sh
- Drupal 7
UPDATE users SET pass="$S$ElwUmxssLJCNRIPszXRdrbUQXK46.ZoVDE1bxs909oHDCK1vpZBR" WHERE name='maxmuster';
Den Hash erzeugt man mit dem Skript ./scripts/password-hash.sh
[6]
Trusted Host Settings nicht aktiviert
Nach der Installation ist unter Statusbericht folgende Meldung: "Trusted Host Settings nicht aktiviert."
Lösung: In settings.php den Eintrag hinzufügen, z. B. für allfabet.de:
$settings['trusted_host_patterns'] = array( '^allfabet\.de$', );
Mehr als 5 fehlgeschlagene Anmeldeversuche / Login blocked after 5 failed login attempts
Bei mehr als 5 fehlgeschlagenen Anmeldeversuchen wird das Login vorübergehend gesperrt. Von einem anderen Standort aus ist die Anmeldung aber immer noch möglich.
Man kann die diese Sperre aufheben, indem man z. B. in der Datenbank die Tabelle flood leert:
DELETE FROM `flood`;
Notizen
CMS-Information in der Inspektor-Ansicht:
<meta name="generator" content="Drupal 7 (http://drupal.org)">
Quellen und Links
https://www.drupaltutorials.de/2012/11/07/drupal-inhalte-anlegen-teil-1/
https://alphanodes.com/de/xml-sitemap-drupal-bereitstellen
https://www.youtube.com/watch?v=n1SL86oWFLE
https://hosting.1und1.de/digitalguide/hosting/cms/drupal-informationen-und-tipps-zum-populaeren-cms/
Barnett, James: Drupal 8 for Absolute Beginners
https://www.drupal.org/documentation
| | |