Install Self Hosted Linux

rbeerster edited this page Apr 3, 2018 · 6 revisions

Update April 3, 2018: A newer intallation page is available at Installing on CentOS 7.

This page needs a lot of love, and is currently a pastebin of possibly-working server config snippets.

Manual Installation

Currently, as ChurchCRM is still in development, an install script is not yet available. ChurchCRM can run on a LAMP server (Linux, Apache, Mysql, PHP) or a Shared Hosting account through a manual installation.

Check your server

[Upload] (https://github.com/ChurchCRM/Check) check.php to your web server's document root, and then visit check.php in a web browser.

This page should tell you everything you need to know to determine whether or not you can run ChurchCRM.

[More at our check repo] (https://github.com/ChurchCRM/Check)

How Do I Install ChurchCRM?

  1. [Download the latest release] (https://github.com/ChurchCRM/CRM/releases/latest)

  2. The downloaded zip file contains a directory called "churchcrm". Extract the files and place the contents into a directory in the document root of your Web server or via FTP to a shared hosting account

  3. Create a Church CRM blank db and user that have full permissions on the db.

  • For shared hosting accounts you must create a database within your hosting control panel

  • For LAMP servers, log onto your database server under the root account (or other account allowed to create databases), and create a database for ChurchCRM.

    • For example: mysqladmin -u [user] -p create [database-name]
  1. You should be able to access ChurchCRM at "http://[servername]/churchcrm". The setup page will help you configure the app for first-time use.

The database script will have set up an initial user called "Admin" with a password of "changeme" (passwords are case insensitive). You will be prompted to change this password upon login. Once you have created other user accounts, you may delete or rename this default account. Just make sure that you always have a user with administrative priviledges.

CentOS 7 config



#System Update

sudo yum update -y sudo yum install unzip -Y


#http Install

`sudo yum install httpd -y`

`vi /etc/httpd/conf.d/churchcrm.conf`

NameVirtualHost *:80

<VirtualHost *:80> ServerAdmin webmaster@example.com ServerName crm.churchcrm.io #ServerAlias www.example.com DocumentRoot /var/www/html/churchcrm/public_html/ ErrorLog /var/www/html/churchcrm/logs/error.log CustomLog /var/www/html/churchcrm/logs/access.log combined


`sudo mkdir -p /var/www/html/churchcrm/{public_html,logs}`

`chkconfig --level 234 httpd on`

#Php Install

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

`sudo yum install php70w php70w-pear php70w-mcrypt php70w-mysql php70w-zip php70w-phar php70w-gd php70w-mbstring -y`

`vi /etc/php.ini`

error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR error_log = /var/log/php/error.log max_input_time = 30

sudo mkdir /var/log/php sudo chown apache /var/log/php


`vi /etc/httpd/conf/httpd.conf`

find <Directory "/var/www/html">

update AllowOverride to All

`service httpd restart`

#MySQL

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm sudo yum update -y sudo yum install mysql-server -y chkconfig --level 234 mysqld on service mysqld start sudo mysql_secure_installation


Create the DB and the user... 

#Install CRM 

cd /var/www/ rm -rf html wget https://github.com/ChurchCRM/CRM/releases/download/2.4.4/ChurchCRM-2.4.4.zip unzip ChurchCRM-2.4.4.zip




## Apache 2 Config 

Configuring apache for ChurchCRM install

  1. For debian related servers, edit

/etc/apache2/sites-available/000-default.conf and add this after <VirtualHost *:80>

<Directory "/var/www/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all

  1. For Windows running xampp, edit

/apache/conf/httpd.conf and add

<Directory "/htdocs"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all

  1. For opensuse linux, edit

/etc/apache2/httpd.conf and add

<Directory "/srv/www/htdocs"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.