Rularea CiviCRM ca aplicație independentă oferă performanță îmbunătățită și întreținere simplificată în comparație cu instalările integrate în CMS. În acest ghid cuprinzător, vom parcurge procesul de configurare a CiviCRM standalone pe un server privat virtual ENGINYRING, acoperind atât sisteme bazate pe Debian, cât și pe RHEL.

Înțelegerea CiviCRM Standalone

Versiunea independentă a CiviCRM oferă acces direct la funcționalitatea CRM fără resursele suplimentare ale unui sistem de management al conținutului. Această abordare este ideală pentru organizațiile care au nevoie în principal de funcții de management al relațiilor cu constituenții și preferă o instalare ușoară, concentrată.

Cerințele serverului

Serverul dumneavoastră privat virtual ENGINYRING ar trebui să îndeplinească sau să depășească aceste specificații pentru performanță optimă:

  • Minimum 4GB RAM (8GB recomandat)
  • 2 nuclee CPU
  • 40GB stocare SSD
  • Fie Debian/Ubuntu sau RHEL/CentOS/Rocky Linux
  • Instalare curată a serverului

Procesul de instalare pentru sisteme bazate pe Debian

Procesul de instalare pe sisteme Debian și Ubuntu urmează o cale directă, începând cu pregătirea sistemului și continuând cu configurarea bazei de date și configurarea aplicației.

Mai întâi, vom actualiza sistemul și vom instala pachetele necesare:

# Actualizarea pachetelor de sistem
sudo apt update && sudo apt upgrade -y

# Instalarea dependențelor necesare
sudo apt install apache2 mariadb-server php php-cli php-curl php-gd \
php-imap php-json php-intl php-ldap php-mbstring php-mysql php-soap \
php-xml php-zip unzip wget composer git -y

În continuare, vom securiza serverul de baze de date și vom crea bazele de date necesare:

# Securizarea MariaDB
sudo mysql_secure_installation

# Crearea bazei de date CiviCRM
sudo mysql -u root -p
CREATE DATABASE civicrm DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'civicrm'@'localhost' IDENTIFIED BY 'parola_securizata';
GRANT ALL PRIVILEGES ON civicrm.* TO 'civicrm'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Acum vom instala CiviCRM folosind Composer:

# Crearea directorului de instalare
sudo mkdir -p /var/www/civicrm
cd /var/www/civicrm

# Instalarea CiviCRM prin Composer
sudo composer create-project civicrm/standalone-dev:dev-master .
sudo chown -R www-data:www-data .

Procesul de instalare pentru sisteme bazate pe RHEL

Pentru sisteme RHEL, CentOS sau Rocky Linux, începem prin activarea depozitelor necesare și instalarea pachetelor necesare:

# Activarea depozitelor
sudo dnf install epel-release -y
sudo dnf module enable php:7.4 -y

# Instalarea pachetelor necesare
sudo dnf install httpd mariadb-server php php-cli php-curl php-gd \
php-imap php-json php-intl php-ldap php-mbstring php-mysqlnd \
php-soap php-xml php-zip unzip wget composer git -y

Configurarea serviciilor și a firewall-ului:

# Pornirea și activarea serviciilor
sudo systemctl start httpd mariadb
sudo systemctl enable httpd mariadb

# Configurarea firewall-ului
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Configurarea bazei de date urmează același model ca sistemele Debian:

# Securizarea MariaDB și crearea bazei de date
sudo mysql_secure_installation

mysql -u root -p
CREATE DATABASE civicrm DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'civicrm'@'localhost' IDENTIFIED BY 'parola_securizata';
GRANT ALL PRIVILEGES ON civicrm.* TO 'civicrm'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Configurarea serverului web

Indiferent de sistemul de operare, configurarea corectă a serverului web este crucială. Pentru Apache:

# Crearea configurației Apache
sudo nano /etc/apache2/sites-available/civicrm.conf  # Debian
sudo nano /etc/httpd/conf.d/civicrm.conf            # RHEL

Adăugați următoarea configurație:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/civicrm
    ServerName crm.domeniuldvs.com

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

    ErrorLog ${APACHE_LOG_DIR}/civicrm_error.log
    CustomLog ${APACHE_LOG_DIR}/civicrm_access.log combined
</VirtualHost>

Configurarea inițială

După instalare, accesați instalatorul CiviCRM prin browserul web:

http://ip_server/setup

Asistentul de configurare vă va ghida prin:

  • Configurarea conexiunii la baza de date
  • Crearea contului de administrator
  • Setările inițiale ale sistemului
  • Selectarea monedei de bază
  • Preferințele de locație și limbă

Optimizarea performanței

Pentru performanță optimă pe VPS-ul ENGINYRING, implementați aceste configurări:

Optimizare PHP:

sudo nano /etc/php/7.4/apache2/php.ini  # Debian
sudo nano /etc/php.ini                  # RHEL

# Adăugați sau modificați aceste valori:
memory_limit = 256M
max_execution_time = 120
post_max_size = 64M
upload_max_filesize = 64M

Activarea cache-ului:

# Crearea directoarelor pentru cache
sudo mkdir -p /var/www/civicrm/cache
sudo chown -R www-data:www-data /var/www/civicrm/cache

Configurarea copiilor de siguranță

Implementați o strategie robustă de backup:

# Crearea scriptului de backup
sudo nano /usr/local/bin/backup-civicrm.sh

#!/bin/bash
BACKUP_DIR="/var/backups/civicrm"
MYSQL_USER="civicrm"
MYSQL_PASS="parola_securizata"
DATE=$(date +%Y%m%d)

# Crearea directorului pentru backup
mkdir -p $BACKUP_DIR

# Backup baza de date
mysqldump -u$MYSQL_USER -p$MYSQL_PASS civicrm > $BACKUP_DIR/civicrm_db_$DATE.sql

# Backup fișiere
tar -czf $BACKUP_DIR/civicrm_files_$DATE.tar.gz /var/www/civicrm

# Ștergerea backup-urilor mai vechi de 7 zile
find $BACKUP_DIR -type f -mtime +7 -delete

Considerații de securitate

Măsurile de securitate post-instalare ar trebui să includă:

  • Implementarea certificatului SSL
  • Actualizări regulate de securitate
  • Configurarea monitorizării sistemului
  • Configurarea firewall-ului
  • Audituri regulate de securitate

Concluzie

O instalare CiviCRM standalone pe un VPS ENGINYRING oferă o platformă robustă și eficientă pentru managementul relațiilor cu constituenții. Deși procesul de instalare necesită atenție la detalii, rezultatul este un sistem CRM optimizat, de înaltă performanță, care poate fi personalizat pentru a satisface nevoile specifice ale organizației dumneavoastră.