Size: 4418
Comment: From Martin
|
Size: 4658
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
ChurchCRM Install Script | |
Line 9: | Line 8: |
Build Ubuntu 24 LTS Server 1 CPU, 2GB RAM, 50GB Disk Oracle Cloud or similar Cloud Hosting Provider |
=== ChurchCRM Install Script === |
Line 13: | Line 10: |
SSH into server | * Build Ubuntu 24 LTS Server * 1 CPU, 2GB RAM, 50GB Disk * Oracle Cloud or similar Cloud Hosting Provider * SSH into server {{{ |
Line 19: | Line 20: |
Line 22: | Line 22: |
mysql_secure_installation Note: When securing MySQL you will want to answer "yes" to all question, except for change root password. }}} |
|
Line 23: | Line 26: |
mysql_secure_installation **** Note: When securing MySQL you will want to answer "yes" to all question, except for change root password. https://gist.github.com/mrladeia/da43fc783610758c6dbcaba22b4f7acd If you need to open up ports 80 and 443, on file mcedit /etc/iptables/rules.v4 just add -A INPUT -p tcp -m state --state NEW -m multiport --dports 80,443 -j ACCEPT directly below -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT And reboot OR run bellow sudo /sbin/iptables-restore < /etc/iptables/rules.v4 |
Firewall Setup * https://gist.github.com/mrladeia/da43fc783610758c6dbcaba22b4f7acd * You need to open up ports 80 and 443, on file mcedit /etc/iptables/rules.v4 just add * -A INPUT -p tcp -m state --state NEW -m multiport --dports 80,443 -j ACCEPT * directly below * -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT * And reboot OR run bellow * sudo /sbin/iptables-restore < /etc/iptables/rules.v4 |
Line 35: | Line 36: |
{{{ | |
Line 39: | Line 41: |
}}} | |
Line 40: | Line 43: |
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/ |
=== 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/ {{{ |
Line 51: | Line 55: |
}}} | |
Line 52: | Line 57: |
https://github.com/ChurchCRM/CRM/wiki/First-Run-Configuration-Items | |
Line 54: | Line 58: |
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 |
ChurchCRM First Run Configuration Items * 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 |
Line 64: | Line 70: |
User Setup: MinPasswordLength: 13 |
* User Setup: * MinPasswordLength: 13 |
Line 67: | Line 73: |
Email Setup: SMTPHost: smtp.email.ap-melbourne-1.oci.oraclecloud.com ToEmailAddress: [email protected] |
* Email Setup: * SMTPHost: smtp.email.ap-melbourne-1.oci.oraclecloud.com * ToEmailAddress: [email protected] |
Line 71: | Line 77: |
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" |
* 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" |
Line 79: | Line 85: |
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 |
* 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 |
Line 88: | Line 94: |
System Settings: bEnableIntegrityCheck: False sLastIntegrityCheckTimeStamp: clear field |
* System Settings: * bEnableIntegrityCheck: False * sLastIntegrityCheckTimeStamp: clear field |
Line 92: | Line 98: |
AFTER EACH UPGRADE: | After Each Upgrade |
Line 94: | Line 100: |
{{{ | |
Line 111: | Line 117: |
}}} |
Link to > NewDatabase2025
ChurchCRM Setup Guide
1. ChurchCRM Install Script
- Build Ubuntu 24 LTS Server
- 1 CPU, 2GB RAM, 50GB Disk
- Oracle Cloud or similar Cloud Hosting Provider
- SSH into server
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
https://gist.github.com/mrladeia/da43fc783610758c6dbcaba22b4f7acd
- You need to open up ports 80 and 443, on file mcedit /etc/iptables/rules.v4 just add
- -A INPUT -p tcp -m state --state NEW -m multiport --dports 80,443 -j ACCEPT
- directly below
- -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
- And reboot OR run bellow
sudo /sbin/iptables-restore < /etc/iptables/rules.v4
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
2. Backups and Updates
- Setup and Configure RCLONE
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
ChurchCRM First Run Configuration Items
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:
- Email Setup:
- SMTPHost: smtp.email.ap-melbourne-1.oci.oraclecloud.com
- 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.