Install CiviCRM on Ubuntu 20.04

Introduction

CiviCRM is an open-source Constituent Relationship Management (CRM) system primarily used by non-governmental, non-profit, and civic sector organizations. It is designed to manage information about an organization’s members, relationships, donors, subscribers, grant application seekers, and case contacts. It has a wide variety of features to enable organizations to manage members, fundraising, and events. In this article, you will learn how to install CiviCRM on an Ubuntu 20.04 cloud server.

Prerequisites

  • Deploy a fully updated Vultr Ubuntu 18.04 or 20.04 Server.
  • Create a non-root user with sudo access.

1. Install LAMP Stack

Update system package manager.

$ sudo apt update

Add the ppa:ondrej/php PPA repository.

$ sudo apt -y install software-properties-common

$ sudo add-apt-repository ppa:ondrej/php

Update system package manager.

$ sudo apt update

Install PHP 7.4 and additional packages.

$ sudo apt install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-common php7.4-sqlite3 php7.4-json php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-mysql php7.4-gd php7.4-xml php7.4-cli php7.4-zip php7.4-soap php7.4-imap php7.4-bcmath php7.4-mcrypt wget unzip -y

Edit the PHP configuration file.

$ sudo nano /etc/php/7.4/apache2/php.ini

Modify the following values, save and close the file:

To search for a specific line, use Control + W, enter search phrase then press Enter.

max_execution_time = 300    
memory_limit = 512M
upload_max_filesize = 100M

2. Install WordPress

Download the latest version of WordPress installation files.

$ wget https://wordpress.org/latest.zip

Extract the downloaded files.

$ sudo unzip latest.zip

Create installation directory /var/www/civicrm.

$ sudo mkdir /var/www/civicrm

Move files to the installation directory.

$ sudo mv wordpress/* /var/www/civicrm

Change ownership of the installation directory.

$ sudo chown -R www-data:www-data /var/www/civicrm

Change access permissions for the directory.

$ sudo chmod -R 755 /var/www/civicrm

3. Create a Database for WordPress

Log in to MySQL shell. Then at password prompt, press Enter to continue.

$ sudo mysql -u root -p

Create a database named wordpressdb;

CREATE DATABASE wordpressdb;

Create a database user named wordpressuser with a password. Replace WordPressStrongPassword with your secure password.

CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'WordpressStrongPassword';

Grant the user full access to the database.

GRANT ALL PRIVILEGES ON wordpressdb.* TO 'wordpressuser'@'localhost';

Save the changes.

FLUSH PRIVILEGES;

Exit the shell.

exit;

4. Install CiviCRM

Download the latest version of CiviCRM. To find the newest version, please visit the official download site.

$ wget https://download.civicrm.org/civicrm-5.41.2-wordpress.zip

Extract it to the directory /var/www/civicrm/wp-content/plugins/ directory.

$ sudo unzip civicrm-5.41.2-wordpress.zip -d /var/www/civicrm/wp-content/plugins/

5. Configure Apache

Create a virtual host in Apache.

$ sudo nano /etc/apache2/sites-available/civicrm.conf

Add the following content to the file, save and close the file:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    DocumentRoot /var/www/civicrm

    <Directory /var/www/civicrm>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Change to Apache configuration files directory.

$ cd /etc/apache2/sites-available/

Enable the created virtual host configuration.

$ sudo a2ensite civicrm.conf

Disable the default Apache configuration.

$ sudo a2dissite 000-default.conf

Enable the Apache rewrite module.

$ sudo a2enmod rewrite

Restart Apache service for the changes to take effect.

$ sudo systemctl restart apache2

6. Access the Web Interface

Open http://Server_IP/ in a web browser and finish the WordPress installation. Login to the WordPress dashboard For example:

http://192.0.2.10/

Activate the CiviCRM plugin by logging in to your WordPress backend, and go to http://Server_IP/wp-admin/plugins.php. For example:

http://192.0.2.10/wp-admin/plugins.php

You can always log in to the WordPress dashboard by going to http://Server_IP/wp-admin/ to configure your site and make changes. For example:

http://192.0.2.10/wp-admin/

Conclusion

You have successfully installed WordPress and CiviCRM. After successfully activating CiviCRM, you can log out of the WordPress dashboard.

Introduction CiviCRM is an open-source Constituent Relationship Management (CRM) system primarily used by non-governmental, non-profit, and civic sector organizations. It is designed to manage information about an organization’s members, relationships, donors, subscribers, grant application seekers, and case contacts. It has a wide variety of features to enable organizations to manage…

Introduction CiviCRM is an open-source Constituent Relationship Management (CRM) system primarily used by non-governmental, non-profit, and civic sector organizations. It is designed to manage information about an organization’s members, relationships, donors, subscribers, grant application seekers, and case contacts. It has a wide variety of features to enable organizations to manage…

Leave a Reply

Your email address will not be published. Required fields are marked *