CiviCRM installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
K (→‎Installation mit Ansible: playbook-install.yml)
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 11: Zeile 11:
Es gibt ein Ansible Skript, das die Installationsschritte für Drupal und CiviCRM automatisiert durchführt.
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://github.com/tpokorra/Hostsharing-Ansible-CiviCRM/
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.41 installiert.
Es wird zuerst Drupal 9 eingerichtet, und dann die deutsche Version von CiviCRM 5.62 (oder neuer) installiert.


== Installation mit Ansible ==
== Installation mit Ansible ==
Folgende Schritte sind im Benutzer xyz00 auszuführen:
$ touch .hsadmin.properties
$ chmod 600 .hsadmin.properties
$ vi .hsadmin.properties
Es muss in diese Datei das Passwort des Paketadministrators, also von xyz00, eingetragen werden. Das ist das gleiche Passwort, das auf https://admin.hostsharing.net funktioniert.
xyz00.passWord=insertpkgadminpasswordhere


Folgende Schritte sind auf dem lokalen Rechner auszuführen, um CiviCRM mit Hilfe des Ansible Skripts in den eigenen Hostsharing Benutzer zu installieren:
Folgende Schritte sind auf dem lokalen Rechner auszuführen, um CiviCRM mit Hilfe des Ansible Skripts in den eigenen Hostsharing Benutzer zu installieren:
Zeile 31: Zeile 21:
Klonen des Repositories:
Klonen des Repositories:


$ git clone https://github.com/tpokorra/Hostsharing-Ansible-CiviCRM.git
<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 kopiert werden, und entsprechend angepasst werden:
Dann muss die Datei inventory-drupal-sample.yml kopiert werden, und entsprechend angepasst werden:


$ cd Hostsharing-Ansible-CiviCRM
<syntaxhighlight lang=shell line>
$ cp inventory.yml my.inventory.yml
cd hs.ansible
$ vi my.inventory.yml
cp playbooks/civicrm/inventory-drupal-sample.yml inventories/my.civicrm.yml
vi inventories/my.civicrm.yml
</syntaxhighlight>


In der my.inventory.yml müssen die entsprechenden Werte eingerichtet werden.
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...
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...
Zeile 47: Zeile 42:
Dann kann die Installation vom lokalen Rechner aus gestartet werden:
Dann kann die Installation vom lokalen Rechner aus gestartet werden:


$ ansible-playbook -i my.inventory.yml playbook-install.yml -k -K
<syntaxhighlight lang=shell line>
 
ansible-playbook -i inventories/my.civicrm.yml init.yml
Es kann auch die Option -k weggelassen werden, wenn man sich über einen SSH Key mit xyz00@xyz00.hostsharing.net verbindet.
ansible-playbook -i inventories/my.civicrm.yml playbooks/civicrm/install.yml
</syntaxhighlight>


== Einrichtung ==
== Einrichtung ==
Zeile 60: 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 ==
Zeile 75: Zeile 81:
*[https://civicrm.org/ Englische Webseite des CiviCRM Projekts]
*[https://civicrm.org/ Englische Webseite des CiviCRM Projekts]
*[https://sfe-ev.org/ Software für Engagierte e.V.: CiviCRM Support in Deutschland]
*[https://sfe-ev.org/ Software für Engagierte e.V.: CiviCRM Support in Deutschland]
*[https://github.com/tpokorra/Hostsharing-Ansible-CiviCRM-Drupal Ansible Playbook für Hostsharing (Drupal)]
*[https://codeberg.org/tpokorra/hs.ansible/src/branch/main/playbooks/civicrm Ansible Playbook für Hostsharing (Drupal bzw. WordPress)]
*[https://github.com/tpokorra/Hostsharing-Ansible-CiviCRM-WordPress Ansible Playbook für Hostsharing (WordPress)]


----
----

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.

Civicrm einrichtung.png

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:

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