Drupal auf CMS & exo

Allgemeines

Cronjobs

Drupal kann durch Cronjobs Newsfeeds holen, nach Updates suchen usw.. Hier bietet sich entweder das Drupal Modul poormanscron an oder wie bei systemausfall ein Script, das in cron.hourly steht mit folgendem Inhalt:

wget -q -O - https://<meine.drupal.url>/cron.php

Development, Performance

Mit dem Modul devel lässt sich gut nachvollziehen, wieviel Datenbankzugriffe eine erstellte Seite macht und wieviel Speicher sie benötigt. (Vorsicht das verlangsamt ungemein!)

pecl uploadprogress

aptitude install php5-dev dh-make-php
pecl install uploadprogress

Drupal Multiseite

neue Domain bzw. Unterseite anlegen

Module und Themes

Bei einer Multisites Installation liegen zusätzliche Module und Themes im Verzeichnis .../sites/all/[modules|themes].

Drupal Core Update einspielen (ohne svn/cvs)

Vorarbeiten

Update

Aufräumen

Drupal Core Update einspielen (mit cvs)

Ablauf

Drupal Module aktualisieren

Mit drush (DRUpal SHell) lassen sich installierte Module bequem per ssh aktualisieren.

einmalige Vorbereitung

Updates

automatisierte Multisite Modul Updates

Datei Backup

Prod./Dev Server synchronisieren (mit rsync)

Um Updates, neue Module, experimentelle Dinge erst in einer Entwicklungsumgebung zu testen, bietet sich eine Entwicklungsumgebung an, die mit der Produktivumgebung synchronisiert wird. Falls die Änderungen vom Dev. Server später per Script auf dem Prod. Server eingepflegt werden sollen (per sql dump), dann muss die Seite auf dem Prod. Server vorher in den offline Modus gebracht werden, damit dort zwischendurch keine Änderungen stattfinden.

prinzipieller Ablauf

rsync Spicker

Wichtig: rsync synchronisiert nicht (wie z.B. unison es kann) es wird nur repliziert (also ein Kopie angelegt)

Drupal auf wwwusers-ng

Erzeugung einer neuen Drupal-Instanz

Dateien, Datenbank, ...

Nun ist alles erledigt:

Apache2-Konfiguration

Im Falle einer Domain-Instanz sollte alles fertig sein. Die Konfigurationsdatei liegt unter /data/etc/apache2/drupal-htaccess.d/.

Im Falle einer Pfad-Instanz unterhalb von systemausfall.org muss noch ein Eintrag in der userdir-mapping.d-Datei des Nutzers hinzugefügt werden:

echo "/URL-PATH /data/drupal" >>/data/etc/apache2/userdir-mappings.d/USER

Anschließend musst du die Proxy-Konfigurationsdatei aktualisieren:

/data/scripts/update-vhosts.sh


Drupal 8 mit php7, nginx, mariadb

webserver + datenbank + php + cache via dotdeb

* php7 und aktuelles nginx von "dotdeb" holen; dazu quelle in sources.list eintragen und key holen:

echo ... >> /etc/apt/sources.list
wget https://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg

* software installieren:

aptitude install nginx php7.0-fpm php7.0-mysql php7.0-opcache php7.0-apcu php7.0-gd mariadb-server curl

drush + drupal runterladen

* aktuelles drush systemweit installieren:

wget http://files.drush.org/drush.phar
chmod +x drush.phar
mv drush.phar /usr/local/bin/drush

* Drupal runterladen:

cd /var/www/...
drush dl drupal-8

configs

* ggf. php7.0-fpm konfigurieren * nginx site-enabled config anlegen

* datenbank mysql -p -e "CREATE DATABASE $foo CHARACTER SET utf8 COLLATE utf8_general_ci;" mysql -p -> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON $foo.* TO '$foo'@'localhost' IDENTIFIED BY 'passwoot';

Drupal

* Drupal Installationsassistent durchlaufen lassen * offene Dinge im Statusbericht abarbeiten * cronjob anlegen * Module installieren


veraltet: svn

neue Drupalinstanz

== update einspielen =

Prod./Dev Server synchronisieren (mit svn)

Um Updates, neue Module, experimentelle Dinge erst in einer Entwicklungsumgebung zu testen, bietet sich eine Entwicklungsumgebung an, die mit der Produktivumgebung synchronisiert wird. Falls die Änderungen vom Dev. Server später per Script auf dem Prod. Server eingepflegt werden sollen (per sql dump), dann muss die Seite auf dem Prod. Server vorher in den offline Modus gebracht werden, damit dort zwischendurch keine Änderungen stattfinden.

Schritte auf Prod. Server

Schritte auf Dev. Server

Anzeige einer falschen Kalenderwoche

Drupal 7

Blitzinstallation mittels Drush

hilfreiche Nacharbeiten

Drush

Drush 3 in Debian squeeze

aptitude install drush

Drush 4 in Debian squeeze-backports

aptitude update
aptitude -t squeeze-backports install drush

Drush 5 via PEAR installieren

pear channel-discover pear.drush.org
pear install drush/drush-5.0.0

Drush Spicker

Sonstiges

Links


CategoryCategory

Drupal (last edited 2016-03-16 10:22:20 by anonymous)


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