Server Setup · 5 min read · Jan 06, 2026
Virtuelles Hosting Howto Mit Virtualmin Auf CentOS 5.1 - Seite 5
Clamav Milter Setup
- Bearbeiten Sie /etc/sysconfig/clamav-milter:
CLAMAV_FLAGS="
--config-file=/etc/clamd.conf
--force-scan
--local
--max-children=5
--sendmail-cf=
--outgoing
--quiet
"
SOCKET_ADDRESS="local:/var/clamav/clmilter.socket"- Patchen Sie die Init-Datei, um die Socket-Berechtigungen zu beheben:
wget http://www.topdog-software.com/files/clamav-milter.patch
patch /etc/init.d/clamav-milter < clamav-milter.patchMySQL Setup
Grundkonfiguration
- Hören Sie nur auf localhost, bearbeiten Sie /etc/my.cnf im mysqld-Bereich:
bind-address = 127.0.0.1Root-Passwort festlegen
- Setzen Sie das Root-Passwort:
service mysqld start
mysqladmin -u root password NEUESPASSWORTSpamAssassin Setup
Grundkonfiguration
required_hits 5
report_safe 0
rewrite_header Subject [SPAM]MySQL-Datenbank erstellen
- Erstellen Sie die Datenbank:
mysqladmin -p create bayes- Füllen Sie die Datenbank:
mysql -p bayes < /usr/share/doc/spamassassin-$(rpm --qf %{VERSION} -q spamassassin)/sql/bayes_mysql.sql- Erstellen Sie den Benutzer:
mysql -p
mysql> GRANT ALL ON bayes.* TO bayes@localhost IDENTIFIED BY 'passwort';Konfigurieren, um DB zu verwenden
- Bearbeiten Sie die Datei /etc/mail/spamassassin/local.cf und fügen Sie hinzu:
bayes_store_module Mail::SpamAssassin::BayesStore::MySQL
bayes_sql_dsn DBI:mysql:bayes:localhost
bayes_sql_override_username bayes
bayes_sql_username bayes
bayes_sql_password passwortFuzzyOCR konfigurieren
Wir werden die Bild-Hashes in einer MySQL-Datenbank speichern, um die Leistung zu verbessern, sodass Bilder, die wir bereits gescannt haben, nicht erneut gescannt werden, da OCR eine ressourcenintensive Aktivität ist.
MySQL-Datenbank erstellen
- Das SQL-Skript erstellt die Datenbank und Tabellen und fügt einen Benutzer fuzzyocr mit dem Passwort fuzzyocr hinzu:
mysql -p < /usr/local/src/devel/FuzzyOcr.mysql- Ändern Sie das Passwort:
mysqladmin -u fuzzyocr -p fuzzyocr passwordGrundlegende Einstellungen
- Bearbeiten Sie /etc/mail/spamassassin/FuzzyOCR.cf und setzen Sie die grundlegenden Optionen:
focr_path_bin /usr/bin:/usr/local/bin
focr_minimal_scanset 1
focr_autosort_scanset 1
focr_enable_image_hashing 3
focr_logfile /tmp/FuzzyOcr.logFuzzyOCR so konfigurieren, dass die Datenbank verwendet wird
- Bearbeiten Sie die Datei /etc/mail/spamassassin/FuzzyOcr.cf und fügen Sie hinzu:
focr_mysql_db FuzzyOcr
focr_mysql_hash Hash
focr_mysql_safe Safe
focr_mysql_user fuzzyocr
focr_mysql_pass passwort
focr_mysql_host localhost
focr_mysql_port 3306
focr_mysql_socket /var/lib/mysql/mysql.sockSARE-Regel-Updates
- Importieren Sie den GPG-Schlüssel, der verwendet wird, um die Regeln zu signieren:
mkdir /etc/mail/spamassassin/sa-update-keys/
chmod 700 /etc/mail/spamassassin/sa-update-keys/
wget http://daryl.dostech.ca/sa-update/sare/GPG.KEY
sa-update --import GPG.KEY- Erstellen Sie die Kanäle-Datei /etc/mail/spamassassin/sare-sa-update-channels.txt:
updates.spamassassin.org
72_sare_redirect_post3.0.0.cf.sare.sa-update.dostech.net
70_sare_evilnum0.cf.sare.sa-update.dostech.net
70_sare_bayes_poison_nxm.cf.sare.sa-update.dostech.net
70_sare_html0.cf.sare.sa-update.dostech.net
70_sare_html_eng.cf.sare.sa-update.dostech.net
70_sare_header0.cf.sare.sa-update.dostech.net
70_sare_header_eng.cf.sare.sa-update.dostech.net
70_sare_specific.cf.sare.sa-update.dostech.net
70_sare_adult.cf.sare.sa-update.dostech.net
72_sare_bml_post25x.cf.sare.sa-update.dostech.net
99_sare_fraud_post25x.cf.sare.sa-update.dostech.net
70_sare_spoof.cf.sare.sa-update.dostech.net
70_sare_random.cf.sare.sa-update.dostech.net
70_sare_oem.cf.sare.sa-update.dostech.net
70_sare_genlsubj0.cf.sare.sa-update.dostech.net
70_sare_genlsubj_eng.cf.sare.sa-update.dostech.net
70_sare_unsub.cf.sare.sa-update.dostech.net
70_sare_uri0.cf.sare.sa-update.dostech.net
70_sare_obfu0.cf.sare.sa-update.dostech.net
70_sare_stocks.cf.sare.sa-update.dostech.net- Erstellen Sie ein Update-Skript /usr/local/bin/update-sa:
#!/bin/bash
#
#
sa-update -D --channelfile /etc/mail/spamassassin/sare-sa-update-channels.txt --gpgkey 856AA88A &>/var/log/sa-updates.log- Machen Sie es ausführbar und fügen Sie es zu cron hinzu:
chmod +x /usr/local/bin/update-sa
ln -s /usr/local/bin/update-sa /etc/cron.daily/
ln -s /usr/local/bin/update-sa /etc/cron.hourly/Spamass-milter Setup
Grundkonfiguration
- Bearbeiten Sie /etc/sysconfig/spamass-milter:
SOCKET=/var/run/spamass.sock
EXTRA_FLAGS="-m -r 8"Patch
Wir müssen die Init-Datei patchen, um die Berechtigungen des erstellten Sockets zu beheben, sodass Postfix den Socket verwenden kann.
wget http://www.topdog-software.com/files/spamass-milter.patch
patch /etc/rc.d/init.d/spamass-milter < spamass-milter.patchApache Setup
Module deaktivieren
Wir werden einige Module deaktivieren, die wir nicht verwenden, um Speicher freizugeben und die Sicherheit zu verbessern.
- Bearbeiten Sie /etc/httpd/conf/httpd.conf und kommentieren Sie die Module wie unten aus.
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule status_module modules/mod_status.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule mem_cache_module modules/mod_mem_cache.so- Bearbeiten Sie /etc/httpd/conf.d/proxy_ajp.conf und kommentieren Sie wie unten aus:
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.soAuf einer IP für HTTPS hören
Apache muss so konfiguriert werden, dass es auf einer Adresse für Port 443 hört, da Webmin denselben Port verwenden wird. Bearbeiten Sie /etc/httpd/conf.d/ssl:
Listen 192,168.1.6:443Gzip-Kompression aktivieren
Wir richten die Gzip-Kompression über das mod_deflate-Modul ein, um die Leistung des Webservers zu verbessern und den Bandbreitenverbrauch zu reduzieren, indem die Antworten an den Client komprimiert werden.
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-varyRichten Sie das Logging für das Deflate-Modul ein:
DeflateFilterNote deflate_ratio
LogFormat "%v %h %l %u %t \"%r\" %>s %b mod_deflate: %{deflate_ratio}n pct." vhost_with_deflate_info
CustomLog logs/deflate_access_log vhost_with_deflate_infoPHP Max Memory erhöhen
Bearbeiten Sie die Datei /etc/php.ini und setzen Sie Folgendes:
memory_limit = 64MVirtuelles Hosting aktivieren
NameVirtualHost *:80Standard-Virtualhost erstellen
Dies muss der erste Virtualhost sein, er wird der Standard auf dem Server sein, das Äquivalent des Servers ohne virtuelles Hosting.
Servername localhost.localdomain
Serveradmin [email protected]
Roundcube Webmail Setup
Datenbank erstellen
- Erstellen Sie die Datenbank und fügen Sie den Roundcube-Benutzer hinzu.
mysqladmin -p create roundcube
mysql -p
mysql> GRANT ALL ON roundcube.* TO roundcube@localhost IDENTIFIED BY 'passwort';- Initialisieren Sie die Datenbank:
mysql -u roundcube -p roundcube < /usr/share/doc/roundcube-0.1/SQL/mysql5.initial.sqlGrundkonfiguration
- Konfigurieren Sie die Datenbank-DSN in /var/www/roundcube/config/db.inc.php:
$rcmail_config['db_dsnw'] = 'mysql://roundcube:passwort@localhost/roundcube';- Konfigurieren Sie Roundcube in /var/www/roundcube/config/main.inc.php:
$rcmail_config['default_host'] = 'localhost';
$rcmail_config['default_port'] = 143;
$rcmail_config['virtuser_file'] = '/etc/postfix/virtual';
$rcmail_config['smtp_server'] = 'localhost';
$rcmail_config['smtp_port'] = 25;
$rcmail_config['smtp_helo_host'] = 'localhost';Catch-All-Virtualhost einrichten
Da wir Webmail für alle Domains bereitstellen, die im System erstellt werden, müssen wir einen Catch-All-Virtualhost einrichten, der Roundcube anzeigt, wann immer ein Benutzer http://webmail.domainname aufruft. Bearbeiten Sie /etc/httpd/conf/httpd.conf und fügen Sie hinzu:
ServerName webmail.example.com
ServerAlias webmail.*
DocumentRoot /var/www/roundcube
Options -Indexes IncludesNOEXEC FollowSymLinks
allow from all
Firewall Setup
Einführung
Dies ist eine grundlegende Firewall, sie entspricht möglicherweise nicht Ihren Anforderungen, Firewalling ist eine Kunst, daher empfehle ich, sich darüber zu informieren, um diese grundlegende zu verbessern.
Grundkonfiguration
Fügen Sie diese Regeln in Ihre Konfigurationsdatei /etc/sysconfig/iptables ein:
*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*filter
:FORWARD DROP [0:0]
:INPUT DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m multiport -j ACCEPT --dports 80,443,25,110,143,53
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p icmp -m icmp -m limit --icmp-type 8 --limit 5/min -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.168.1.5 -j ACCEPT
-A OUTPUT -s 192.168.1.6 -j ACCEPT
COMMITKonfiguration aktivieren
service iptables restartErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.