Link to > NewDatabase2025

ChurchCRM Setup Guide

1. ChurchCRM Install Script

timedatectl set-timezone Australia/Melbourne
apt install locales -y
locale-gen en_AU.UTF-8
update-locale LANG=en_AU.UTF-8
reboot
wget https://raw.githubusercontent.com/ChurchCRM/CRM/refs/heads/master/install/install.sh
sh install.sh churchcrm churchcrm YOURdbPASSWORD
mysql_secure_installation
Note: When securing MySQL you will want to answer "yes" to all question, except for change root password.

Firewall Setup

Install SSL Certificate snap install core snap install --classic certbot certbot --apache --agree-tos -m [email protected] --no-eff-email -d crm.wojco.org systemctl disable snap.certbot.renew.timer

Backups and Updates Setup and Configure RCLONE https://docs.oracle.com/en/solutions/move-data-to-cloud-storage-using-rclone/configure-rclone-object-storage.html https://rclone.org/oracleobjectstorage/ crontab -e 00 23 * * * mysqldump -u root churchcrm | gzip > /opt/crmbackup/churchcrm-backup-$(date +\%Y\%m\%d).sql.gz 00 22 * * * find /opt/crmbackup/ -type f -name "*.sql.gz" -mtime +15 -delete 0 21 * * 0 mysqldump -u root churchcrm | gzip > /opt/crmbackup-bucket/churchcrm-backup-weekly-$(date +\%Y\%m\%d).sql.gz 10 21 * * 0 rclone move /opt/crmbackup-bucket/ ocistorage:gwuc-crm-backups 20 21 * * 0 rclone copy /var/www/html/churchcrm/Images/ ocistorage:gwuc-crm-backups/images/ 0 2 * * 2 sudo /usr/bin/unattended-upgrade -v

https://github.com/ChurchCRM/CRM/wiki/First-Run-Configuration-Items

Admin, Church Information: Church name: Glen Waverley Uniting Church Address: Cnr. Kingsway & Bogong Avenue City: Glen Waverley State: Victoria Zip: 3150 Country: Australia Email: [email protected] sTimeZone: Australia/Melbourne

User Setup: MinPasswordLength: 13

Email Setup: SMTPHost: smtp.email.ap-melbourne-1.oci.oraclecloud.com ToEmailAddress: [email protected]

PeopleSetup: Default City: Melbourne Default State: Victoria Default Country: Australia sPersonListColumns, Edit Settings, 'Cell Phone', name change "Cell Phone" to "Mobile Phone" sPersonListColumns, Edit Settings, 'Gender', name change visible to "false" sFamilyListColumns, Edit Settings, 'Cell Phone', name change "Cell Phone" to "Mobile Phone"

Localisation: Language: Australia DateFormatLong: d/m/Y DateFormatNoYear: d/m DateFormatShort: d/m/y DateTimeFormat: d/m/Y g:i a DatePickerFormat: d-m-Y DatePickerPlaceHolder: dd-mm-yyyy

System Settings: bEnableIntegrityCheck: False sLastIntegrityCheckTimeStamp: clear field

AFTER EACH UPGRADE: Remove Gender field

mcedit /var/www/html/churchcrm/PersonEditor.php, search and change: gettext('Gender') to gettext('NotUsed') gettext('Select Gender') to gettext('-')

mcedit /var/www/html/churchcrm/PersonView.php, search and change: gettext('Gender') to gettext('NotUsed')

mcedit /var/www/html/churchcrm/FamilyEditor.php, search and change: gettext('Gender') to gettext('NotUsed') gettext('Select Gender') to gettext('-')

mcedit /var/www/html/churchcrm/ChurchCRM/tasks/PersonGenderDataCheck.php return $this->count > 0; to return $this->count > 10000;

mcedit /var/www/html/churchcrm/ChurchCRM/Service/AppIntegrityService.php (F7 search for ModRewrite, then comment out line with // at start, F2 to save)

ADD USERS TO MYSQL:

CREATE USER 'wojakma'@'%' IDENTIFIED BY 'password-here'; GRANT SELECT ON churchcrm.* TO 'wojakma'@'%'; CREATE USER 'morganda'@'%' IDENTIFIED BY 'password-here'; GRANT SELECT ON churchcrm.* TO 'morganda'@'%'; FLUSH PRIVILEGES;

User Manuals https://github.com/ChurchCRM/CRM/wiki https://church-web-crm.readthedocs.io/en/2.3.5/Installation/Manual/ (outdated)

***********************************************************

DAVID TO ADD CUSTOM FIELDS, CLASSIFICATIONS, ETC.