================ civicrm.libre.is ================ CiviCRM deployment. ``_ Under consideration: ``_ CiviCRM ======= CiviCRM is a "constituent relationship management software" for especially designed for non-profits. ``_ Drupal ====== CiviCRM works with various backends such as Drupal, Joomla, and Wordpress. Drupal is the most powerful. ``_ Drupal needs to be installed before CiviCRM. Install Debian stable (bookworm/12) with Apache and set up Certbot. Wordpress ========= The test install will have a CiviCRM with Wordpress install. ``_ ``_ Download latest release: ``_ .. code-block:: sh sudo apt install unzip python3-certbot-apache php mariadb-server php-mysql Set up the database. .. code-block:: sh sudo mariadb-admin password mariadb -uroot -p Then in the database: .. code-block:: sql CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT ALL PRIVILEGES on wordpress.* to 'wordpress'@'localhost'; FLUSH PRIVILEGES; EXIT Perhaps change the ownership to your user (in this case jebba) to install wordpress files. Then unzip wordpress and move to the best location: .. code-block:: sh sudo chown -R jebba:jebba /var/www cd /var/www/ unzip ~/devel/wordpress/latest.zip sudo chown -R www-data /var/www/wordpress Set up apache, perhaps thusly: .. code-block:: sh rm /etc/apache2/sites-enabled/000-default* Edit /etc/apache2/sites-available/wordpress.conf .. code-block:: apache ServerName civicrm.libre.is ServerAdmin webmaster@localhost DocumentRoot /var/www/wordpress ErrorLog ${APACHE_LOG_DIR}/error-civicrm-libre-is.log CustomLog ${APACHE_LOG_DIR}/access-civicrm-libre-is.log combined RewriteEngine on ReWriteCond %{HTTPS} off RewriteRule ^ https://civicrm.libre.is%{REQUEST_URI} [END,NE,R=permanent] ReWriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{SERVER_NAME} =civicrm.libre.is RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] ServerName civicrm.libre.is ServerAdmin webmaster@localhost DocumentRoot /var/www/html/civicrm-libre-is ErrorLog ${APACHE_LOG_DIR}/error-civicrm-libre-is.log CustomLog ${APACHE_LOG_DIR}/access-civicrm-libre-is.log combined RewriteEngine on ReWriteCond %{HTTPS} off [OR] ReWriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] ReWriteRule ^(.*)$ https://%1$1 [L,R=301] ErrorDocument 404 /en/404.html Include /etc/letsencrypt/options-ssl-apache.conf ServerAlias doc.libre.is SSLCertificateFile /etc/letsencrypt/live/civicrm.libre.is/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/civicrm.libre.is/privkey.pem # vim: syntax=apache ts=4 sw=4 sts=4 sr noet .. code-block:: sh sudo ln -s /etc/apache2/sites-available/wordpress.conf \ /etc/apache2/sites-enabled/ sudo systemctl restart apache2