Drupal

Aus Flinkwiki
Version vom 5. November 2020, 12:07 Uhr von Flinh1 (Diskussion | Beiträge) (Core Update)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Seitenübersicht


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

  1. /opt/lampp/bin/mysql -u root -e "CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci"; (databasename durch DB-Namen ersetzen).
  2. /opt/lampp/bin/mysql -u root
  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 drupaldb.* TO drupaluser@localhost;
  5. exit

Installation von Drupal

  1. Paket herunterladen, z. B. drupal-7.56.tar.gz
  2. Entpacken mit tar xvfz drupal-7.56.tar.gz
  3. Verzeichnis drupal-7.56 in drupal umbenennen, dann nach /opt/lampp/htdocs/ kopieren
  4. cp /opt/lampp/htdocs/drupal/sites/default/default.settings.php /opt/lampp/htdocs/drupal/sites/default/settings.php
  5. Ggf für das Verzeichnis /opt/lampp/htdocs/drupal Schreibrechte erweitern (z. B mit chmod -R 777 /opt/lampp/htdocs/drupal/sites/default).
  6. Im Browser localhost/drupal aufrufen
  7. Konfiguration im Browser abarbeiten.
  8. Schreibrechte wieder zurücknehmen (z. B mit chmod -R 755 /opt/lampp/htdocs/drupal/sites/default).

Sprachmodul(e) installieren

  1. Modul(e) herunterladen von https://localize.drupal.org/download.
  2. Nach /opt/lampp/htdocs/drupal/profiles/standard/translations/ kopieren
  3. In Drupal unter Modules das Module Locale aktivieren.
  4. 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

[2]


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

  1. mysql -u root -p -e "CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci" (databasename durch DB-Namen ersetzen).
  2. mysql -u root -p
  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 drupaldb.* TO drupaluser@localhost;
  5. FLUSH PRIVILEGES;
  6. 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 oder wget 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:

  1. Modul(e) herunterladen von https://localize.drupal.org/download.
  2. Nach drupal/profiles/standard/translations/ kopieren
  3. In Drupal unter Modules das Module Locale aktivieren.
  4. 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

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):

  1. Modul XML sitempap herunterladen[4]
  2. Die *.tar.gz-Datei in (falls vorhanden) /opt/lampp/htdocs/drupal/sites/all/modules/ verschieben (nicht in .../core/modules/!)
  3. In Erweitern das Modul Update Manager installieren.
  4. Neues Modul installieren


Im Webspace (Drupal 8):

  1. Modul XML sitempap herunterladen[5]
  2. In Erweitern das Modul Update Manager installieren.
  3. Neues Modul installieren
  4. Module aktivieren: in Erweitern bei den XML sitemap-Modulen Haken setzen und auf Schaltfläche Installieren klicken.



Konfiguration von XML sitemap

  1. Configuration:
    1. In Configuration unter Search and metadata den Punkt XML sitemap aufrufen.
    2. Man befindet sich jetzt auf der Konfigurationsseite unter dem Reiter Liste
    3. Mit Rechtklick auf https://www.domänenname.com/sitemap.xml zur Ansicht die existierende Sitemap aufrufen.
  2. Settings:
    1. Vom Reiter Liste zum Reiter Einstellungen wechseln.
    2. Hier wird die Konfiguration der Startseite angezeigt. Sie hat die höchste Priorität (1.0).
    3. Änderungsfrequenz überprüfen.
    4. Unter Inhalt können die verschiedenen Inhaltstypen aufgerufen werden.
    5. Es öffnet sich jeweils eine Maske zu Bearbeiten des Inhaltstyp. Links unten auf Sitemap klicken.
    6. Hier kann man den jeweiligen Inhaltstyp einschließen oder ausschließen und ggf. die Priorität ändern.
    7. Inhaltstyp speichern
    8. Anschließend Konfiguration speichern
  3. Rebuild Links:
    1. Reiter Rebuild Links
    2. Sitemap neu aufbauen
  4. Refresh:
    1. Unter dem Reiter Liste Haken setzen bei der Sitemap
    2. Gecachte Dateien aktualisieren Aktualisieren
    3. Die Sitemap kann jetzt aufgerufen werden bzw. die in 1.3 aufgerufene Seite aktualisiert werden.
    4. 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:

  1. Drupal komplett sichern.
  2. Wartungsmodus einschalten (unter /admin/config/).
  3. Per ssh auf Server/Webspace gehen. Das Hauptverzeichnis der Drupal-Website umbenennen (z. B mv website website_backup ).
  4. Neue Version holen, z. B.: wget https://ftp.drupal.org/files/projects/drupal-8.9.1.tar.gz
  5. Auspacken: tar xvfz drupal-8.9.1.tar.gz
  6. Dem neuen Drupal Verzeichnis den Original-Namen der Website geben: mv drupal-8.9.1 website)
  7. Aus /website/ mit rm -rf die Verzeichnisse /sites, /profiles, /modules, /themes entfernen.
  8. Aus /website_backup die Verzeichnisse /sites, /profiles, /modules, /themes sowie die Datei .htaccess, ggf. auch composer.json, oder robots.txt in /website/ hineinkopieren.
  9. Im Browser die Seite zum Updaten aufrufen, z. B. https://website.de/update.php, dort alle Aktionen bestätigen.
  10. # Wartungsmodus ausschalten (unter /admin/config/).

Alternativ:

  1. Komplette Sicherung des Drupal-Verzeichnisses
  2. Datenbank sichern
  3. Dateien mit manuellen Einträgen wie .htaccess, composer.json, or robots.txt wegsichern.
  4. Konfiguration > Wartungsmodus einschalten.
  5. cd in das Root-Verzeichnis der Website gehen.
  6. rm -rf core vendor
  7. rm -f *.* .[a-z]*
  8. 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).
  9. Installationsdatei herunterladen, z. B. wget https://ftp.drupal.org/files/projects/drupal-x.y.z.tar.gz
  10. und entpacken mit tar xvfz
    1. cd drupal-x.y.z
    2. cp -R core vendor /Root-Verzeichnis-der-Website/
    3. cp *.* .[a-z]* /Root-Verzeichnis-der-Website/
  11. Ggf. .htaccess, composer.json, oder robots.txt zurückkopieren oder manuelle Einträge wiederherstellen.
  12. Update starten mit http://www.example.com/update.php
  13. Berichte > Statusberichte überprüfen.
  14. drupal-Installationsdateien löschen
    1. rm drupal-x.y.z.tar.gz
    2. rm -rf drupal-x.y.z/
  15. 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

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`;

[7]


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


| | |