Sympa is an open-source software used for managing electronic mailing lists. In this tutorial, we will discuss how to install Sympa on Fedora Server Latest.
Before installing Sympa on Fedora Server, ensure that you have met the following requirements:
Before installing Sympa, it's essential to update your system to the latest packages. You can do this by running the following command:
sudo dnf update
Sympa has several dependencies that must be installed before the Sympa installation process. Run the following command to install the Sympa dependencies:
sudo dnf install mariadb mariadb-server httpd httpd-devel perl perl-devel -y
After installing the Sympa dependencies, you can proceed with Sympa installation using the following command:
sudo dnf install sympa -y
Sympa uses a database to store list configuration and other related data. In this step, we will configure the MariaDB Database that we installed earlier.
Start the MariaDB service using the following command:
sudo systemctl start mariadb.service
Secure MariaDB installation:
sudo mysql_secure_installation
Create a Sympadatabase:
sudo mysql -u root -p
Create a database named 'sympa':
CREATE DATABASE sympa;
Create a user named 'sympa' and set a password:
CREATE USER 'sympa'@'localhost' IDENTIFIED BY 'password';
Grant all permissions to the 'sympa' user on the 'sympa' database:
GRANT ALL PRIVILEGES ON sympa.* TO 'sympa'@'localhost';
Save changes and exit the MariaDB terminal:
FLUSH PRIVILEGES;
exit
After successfully installing Sympa and configuring MariaDB, you're now ready to configure Sympa.
Open the '/etc/sympa/sympa.conf' file using your favorite editor:
sudo nano /etc/sympa/sympa.conf
Uncomment and set the following values:
## Database settings
{
db_name = sympa
db_user = sympa
db_passwd = password
db_host = 127.0.0.1
}
## Apache configuration
{
mta = sendmail
# mtalist = [SENDMAIL]
cgi;
owner;
virtual;
hp = /sympa
httproot = https://server_IP_or_hostname
}
Save and exit the file.
Finally, start Sympa services and enable them to start on system boot using the following commands:
sudo systemctl start sympa -y
sudo systemctl enable sympa -y
You're almost done! In this final step, we will configure the HTTPD service and open the required ports.
First, create a Sympa Apache configuration file:
sudo nano /etc/httpd/conf.d/sympa.conf
Add the following content to the file:
<VirtualHost *:80>
ServerName SERVER_NAME_OR_IP
RewriteEngine On
RewriteRule ^/(.*)$ https://SERVER_NAME_OR_IP/$1 [R,L]
</VirtualHost>
<VirtualHost *:443>
ServerName SERVER_NAME_OR_IP
#Add SSL configs
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder on
SSLCipherSuite EECDH:+AES-256-GCM:+AES-256-CBC:+AES-128-GCM:+AES-128-CBC:+3DES:!MD5:!DSS:!SHA1:!SHA256:!SHA384:!RSA:!AESCCM:!RC4
SSLCompression off
DocumentRoot /var/lib/sympa/wws
ErrorLog /var/log/httpd/sympa-error.log
CustomLog /var/log/httpd/sympa-access.log combined
ScriptAlias /robots.txt /dev/null
ScriptAlias /sympa/bin/ /usr/libexec/sympa/cgi-bin/
Alias /sympa/ /var/lib/sympa/wws/
Alias /listes/ /var/lib/sympa/static/
Alias /images/ /var/lib/sympa/images/
Alias /html/ /var/lib/sympa/html/
Alias /locale/ /var/lib/sympa/locale/
Alias /cache/ /var/spool/sympa/cache/
<Directory "/var/lib/sympa/cgi-bin">
AllowOverride None
Options ExecCGI FollowSymLinks
Order allow,deny
Allow from all
</Directory>
<Directory "/var/lib/sympa">
AllowOverride None
Options None
Order allow,deny
Allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/var/lib/sympa/(.*) /sympa/$1 [L]
</IfModule>
</Directory>
<Directory "/var/lib/sympa/static">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "/var/lib/sympa/images">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "/var/lib/sympa/html">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "/var/spool/sympa/cache">
AllowOverride None
Options None
Order deny,allow
Deny from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^127\.0\.0\.1$
RewriteRule ^.*$ /sympa/cache/ [L,QSA]
</IfModule>
</Directory>
RewriteRule ^/(.*)/manage$ /sympa/$(htgroup match=moderator_of|"-$1":control_panel)$1/index?$QUERY_STRING [R,L]
RewriteRule ^/(.*)/(.*)/manage$ /sympa/$(htgroup match=moderator_of|-"$1:$2":control_panel)$1/$2/index?$QUERY_STRING [R,L]
</VirtualHost>
Replace SERVER_NAME_OR_IP
with your server IP address or hostname. Also, make sure to replace the SSLCertificateFile and SSLCertificateKeyFile paths with your SSL certificates.
Save and exit the file.
Finally, open the required ports:
sudo firewall-cmd --permanent --add-port={25/tcp,80/tcp,587/tcp,443/tcp,20/tcp,21/tcp,53/tcp}
sudo systemctl reload firewalld
Congratulations! You have successfully installed and configured Sympa on your Fedora Server. You can now use Sympa to manage your electronic mailing lists.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!