CiviCRM installieren: Unterschied zwischen den Versionen
Tim00 (Diskussion | Beiträge) |
Tim00 (Diskussion | Beiträge) |
||
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 21: | Zeile 21: | ||
Klonen des Repositories: | Klonen des Repositories: | ||
<syntaxhighlight lang=shell line> | |||
git clone https://github.com/tpokorra/Hostsharing-Ansible-CiviCRM-Drupal.git | |||
git clone https://codeberg.org/tpokorra/hs.ansible.git | |||
</syntaxhighlight> | |||
Dann muss die Datei inventory-drupal-sample.yml kopiert werden, und entsprechend angepasst werden: | Dann muss die Datei inventory-drupal-sample.yml kopiert werden, und entsprechend angepasst werden: | ||
<syntaxhighlight lang=shell line> | |||
cd hs.ansible | |||
cp playbooks/civicrm/inventory-drupal-sample.yml inventories/my.civicrm.yml | |||
vi inventories/my.civicrm.yml | |||
</syntaxhighlight> | |||
In der my.civicrm.yml müssen die entsprechenden Werte eingerichtet werden. | In der my.civicrm.yml müssen die entsprechenden Werte eingerichtet werden. | ||
Zeile 39: | Zeile 42: | ||
Dann kann die Installation vom lokalen Rechner aus gestartet werden: | Dann kann die Installation vom lokalen Rechner aus gestartet werden: | ||
<syntaxhighlight lang=shell line> | |||
ansible-playbook -i inventories/my.civicrm.yml init.yml | |||
ansible-playbook -i inventories/my.civicrm.yml playbooks/civicrm/install.yml | |||
</syntaxhighlight> | |||
== Einrichtung == | == Einrichtung == | ||
Zeile 51: | Zeile 56: | ||
[[Datei:Civicrm einrichtung.png|800px]] | [[Datei:Civicrm einrichtung.png|800px]] | ||
=== Keycloak OpenID für Drupal === | |||
Mit Keycloak erfolgreich getestet wurde das Plugin "Keycloak OpenID Connect" (abhängig von "OpenID Connect"). | |||
==== Ausblenden des Login-Formulars ==== | |||
Wer primär SSO einsetzt, möchte zur Vereinfachung der User Experience in der Regel auf das native Loginfeld verzichten. Dies kann unter <strong>OpenID buttons display in user login form</strong> in <code>/admin/config/services/openid-connect</code> bestimmt werden. Hierzu "Ersetzen" anwählen. | |||
Für den Administrator Zugang kann dies mittels <code>?showcore=true</code> am Ende der Login-URI umgangen werden. So sind eventuelle CSS-Hacks zum Verstecken des Login-Formulars nicht mehr notwendig. | |||
== Updates == | == Updates == |
Aktuelle Version vom 29. August 2024, 06:40 Uhr
Allgemein
CiviCRM ist eine Verwaltungssoftware für Non-Profit-Organisationen, Verbände, Stiftungen, Vereine usw.
CRM steht für Customer-Relationship-Management bzw. Constituent-Relationship-Management, also das Verwalten der Beziehung zu Spendern, Freiwilligen, Unterstützern, Newsletterabonnenten usw.
CiviCRM ist in PHP geschrieben. Es ist keine eigenständige Anwendung, und muss daher entweder auf Wordpress, Drupal oder Joomla installiert werden. Von den Entwicklern wird Drupal empfohlen.
Technische Details
Es gibt ein Ansible Skript, das die Installationsschritte für Drupal und CiviCRM automatisiert durchführt.
Die Quellen für das Ansible Skript können hier eingesehen werden: https://codeberg.org/tpokorra/hs.ansible/src/branch/main/playbooks/civicrm
Es wird zuerst Drupal 9 eingerichtet, und dann die deutsche Version von CiviCRM 5.62 (oder neuer) installiert.
Installation mit Ansible
Folgende Schritte sind auf dem lokalen Rechner auszuführen, um CiviCRM mit Hilfe des Ansible Skripts in den eigenen Hostsharing Benutzer zu installieren:
Klonen des Repositories:
git clone https://github.com/tpokorra/Hostsharing-Ansible-CiviCRM-Drupal.git
git clone https://codeberg.org/tpokorra/hs.ansible.git
Dann muss die Datei inventory-drupal-sample.yml kopiert werden, und entsprechend angepasst werden:
cd hs.ansible
cp playbooks/civicrm/inventory-drupal-sample.yml inventories/my.civicrm.yml
vi inventories/my.civicrm.yml
In der my.civicrm.yml müssen die entsprechenden Werte eingerichtet werden.
Eine Fehlerquelle sind zu lange Namen für user, denn dann kommt die Datenbankverwaltung von hsadmin aus dem Tritt. Bei einem Namen mit 13 Zeichen treten zumindest Fehler auf...
Es wird vorausgesetzt, dass auf dem lokalen Rechner Ansible installiert ist.
Dann kann die Installation vom lokalen Rechner aus gestartet werden:
ansible-playbook -i inventories/my.civicrm.yml init.yml
ansible-playbook -i inventories/my.civicrm.yml playbooks/civicrm/install.yml
Einrichtung
Nach der Installation kann die Seite hier erreicht werden: https://civicrm.example.org
Bitte mit dem Benutzer und dem Passwort anmelden, die in der Datei my.inventory angegeben wurden.
Dann zu CiviCRM gehen, und unter Administration / Verwaltungskonsole auf Systemstatus klicken. Dort wird man auf weitere Dinge hingewiesen, die noch eingerichtet werden müssen, z.B. das Standard-Postfach und die Daten der eigenen Organisation.
Keycloak OpenID für Drupal
Mit Keycloak erfolgreich getestet wurde das Plugin "Keycloak OpenID Connect" (abhängig von "OpenID Connect").
Ausblenden des Login-Formulars
Wer primär SSO einsetzt, möchte zur Vereinfachung der User Experience in der Regel auf das native Loginfeld verzichten. Dies kann unter OpenID buttons display in user login form in /admin/config/services/openid-connect
bestimmt werden. Hierzu "Ersetzen" anwählen.
Für den Administrator Zugang kann dies mittels ?showcore=true
am Ende der Login-URI umgangen werden. So sind eventuelle CSS-Hacks zum Verstecken des Login-Formulars nicht mehr notwendig.
Updates
Updates werden hier beschrieben:
- für Drupal: https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-composer
- für CiviCRM: https://docs.civicrm.org/sysadmin/en/latest/upgrade/drupal8/
Es gibt auch ein Playbook im Ansible Verzeichnis. Dieses sollte aber nur als Anleitung genommen werden. https://github.com/tpokorra/Hostsharing-Ansible-CiviCRM/blob/main/playbook-update.yml
Updates sollten immer erst auf einem Testsystem durchgeführt werden. Vor der Durchführung eines Updates auf dem Produktivsystem sollte ein Backup erstellt werden, das im Fall eines Problems wiederhergestellt werden kann.
Links
- Englische Webseite des CiviCRM Projekts
- Software für Engagierte e.V.: CiviCRM Support in Deutschland
- Ansible Playbook für Hostsharing (Drupal bzw. WordPress)