GNU/Linux >> Belajar Linux >  >> Cent OS

Cara menginstal ASSP v.2 pada CentOS 7 64 bit

Howto ini menunjukkan langkah-langkah untuk menginstal ASSP pada instalasi CentOS 7 minimal. Itu tidak mencakup instalasi CentOS atau pengaturan server email. Gambar CentOS-7.0-1406-x86_64-Minimal.iso cocok untuk pengaturan ini. Jika Anda memiliki gambar DVD, pilih Minimal Install dan lanjutkan dengan instalasi.

Setelah reboot

Nonaktifkan NetworkManager dan FirewallD dan aktifkan layanan jaringan

systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl disable firewalld
systemctl stop firewalld
systemctl enable network
systemctl start network

Edit konfigurasi kartu jaringan (kami menganggap satu kartu jaringan terpasang di sistem)

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Ganti IPADDR0=a.b.c.d
Dengan IPADDR=a.b.c.d

Ganti PREFIX0=xx
Dengan PREFIX=xx

Ganti GATEWAY0=aa.bb.cc.dd
Dengan GATEWAY=aa.bb.cc.dd


Perbarui OS

yum -y update
reboot
yum install wget perl

Dapatkan perangkat lunak tambahan untuk Centos dari repositori epel, repoforge, remi:

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

Instal repositori

yum localinstall rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm epel-release-7-5.noarch.rpm remi-release-7.rpm


Instal firewall shorewall (pengelola iptables):

yum install shorewall

Mari kita edit firewall kita. Opsi dan file contoh ini adalah minimum untuk membuatnya berfungsi. Diperlukan konfigurasi lebih lanjut. Untuk informasi lebih lanjut tentang shorewall dan cara mengkonfigurasinya, kunjungi http://shorewall.net

Pertama, file antarmuka:

vi /etc/shorewall/interfaces
net eth0

File kebijakan:

vi /etc/shorewall/policy
$FW net ACCEPT
net all DROP
all all REJECT

File aturan:

vi /etc/shorewall/rules

Di bawah ?BAGIAN BARU tambahkan aturan di bawah ini:

# Enable access from the internet to ssh, smtp and assp web interface services
# For security reasonsYou might want to limit ssh access to a single or a class of
# trusted IP's
ACCEPT net $FW tcp 22,25,55555
# Enable ping (1 request per second with a burst of one)
ACCEPT net $FW icmp 8 - - 1/sec:1

File shorewall.conf:

# vi /etc/shorewall/shorewall.conf

Ganti STARTUP_ENABLED=Tidak dengan STARTUP_ENABLED=Ya

Dan akhirnya file zona:

vi /etc/shorewall/zones
fw firewall
net ipv4

Aktifkan firewall

systemctl enable shorewall
systemctl start shorewall

Periksa apakah firewall berjalan dengan perintah status shorewall:

shorewall status | grep running
Shorewall is running

Instal perangkat lunak yang diperlukan untuk ASSP2 &Modul:

yum install gcc openssl-devel perl-Net-SMTPS perl-IO-Compress-Zlib perl-Text-Glob perl-Number-Compare perl-Convert-TNEF perl-Digest-SHA1 perl-Email-MIME perl-Email-Send perl-Email-Valid perl-File-ReadBackwards perl-MIME-Types perl-Mail-DKIM perl-Mail-SPF perl-Net-CIDR-Lite perl-Net-DNS perl-Net-IP-Match-Regexp perl-Net-SMTP-SSL perl-Time-HiRes perl-Crypt-CBC perl-IO-Socket-SSL perl-Sys-MemInfo perl-Time-HiRes perl-Tie-DBI perl-LWP-Authen-Negotiate clamd perl-Net-IP perl-Text-Unidecode perl-Schedule-Cron-Events perl-BerkeleyDB perl-LDAP perl-CPAN perl-local-lib perl-CPAN-Meta-Requirements unzip deltarpm net-tools policycoreutils-python

Pembaruan opsional CPAN

perl -MCPAN -e shell

Terima opsi default dan lanjutkan untuk meningkatkan:

cpan> install CPAN
cpan> reload cpan


Aktifkan ClamAV saat boot

systemctl aktifkan clamd

clamd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig clamd on
The unit files have no [Install] section. They are not meant to be enabled
using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
.wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).

Sunting /etc/clamd.conf:

vi /etc/clamd.conf

Ganti nilai Anda dengan yang di bawah ini:

LogFileMaxSize 2m
LogRotate yes
LocalSocketGroup clamav
LocalSocket /var/clamav/clamd.sock
# TCPSocket 3310
# TCPAddr 127.0.0.1
PidFile /var/clamav/clamd.pid
TemporaryDirectory /var/tmp
IdleTimeout 60

Edit /etc/freshclam.conf:

vi /etc/freshclam.conf

Tambahkan atau batalkan komentar LogRotate yes

Mulai ClamAV:

systemctl start clamd

Instal modul CPAN untuk ASSP:

cpan -i Unicode::GCString Sys::CpuAffinity Thread::State Thread::Queue Schedule::Cron File::Scan::ClamAV Sys::Syslog IO::Socket::INET6 Lingua::Stem::Snowball Lingua::Identify Archive::Extract Archive::Zip Archive::Tar Mail::SRS Net::SenderBase Tie::DBI Crypt::OpenSSL::AES Regexp::Optimizer Schedule::Cron::Events Mail::SPF::Query File::Scan::ClamAV

Jawab pertanyaan apa pun dengan menekan tombol Enter (ini akan menjadi opsi default dalam tanda kurung [ ])

Mungkin Mail::SPF::Query dan File::Scan::ClamAV tidak akan diinstal tanpa paksaan. Dalam hal ini:

perl -MCPAN -e shell
cpan> force install Mail::SPF::Query
cpan> force install File::Scan::ClamAV

Saya akan merekomendasikan untuk menginstal modul Perl satu per satu untuk menangkap potensi kesalahan dan/atau dependensi yang hilang:

perl -MCPAN -e shell
cpan> install

Unduh ASSP v.2 dari http://sourceforge.net/projects/assp/ ke server Anda dan unzip:

unzip ASSP__Install.zip
mv -f assp/ /var/db/assp/
cd /var/db/assp

Mulai assp untuk pertama kalinya:

perl assp.pl

Setiap kesalahan tentang modul perl akan dilaporkan ke /var/db/assp/moduleLoadErrors.txt. Kesalahan lainnya akan dicetak di konsol (assp akan tetap berada di latar depan).

Mulai mengonfigurasi ASSP dengan masuk ke antarmuka web:

http://:55555

pengguna:root
sandi:nospam4me

Secara default assp mengikat ke port 25/tcp pada setiap alamat ipv4 (0.0.0.0:25). Ini akan menghasilkan konflik dengan server email lokal (postfix, exim, sendmail, opensmtpd). Informasi ini akan dicetak ke file log assp (/var/db/assp/logs/maillog.txt) dan di konsol, jika assp berjalan di latar depan:

[init] Error: couldn't create server socket on port '25' -- maybe another service is running or I'm not root (uid=0)? -- or a wrong IP address is defined? -- Address already in use

Dalam hal ini kita akan menyiapkan postfix dan harus mengubah port defaultnya (25/tcp) menjadi misalkan 125/tcp dan hanya mengikat ke localhost:

vi /etc/postfix/master.cf

Ganti

smtp inet n - n - - smtpd

Dengan

localhost:125 inet n - n - - smtpd


Mari kita mulai ulang postfix:

systemctl restart postfix
Job for postfix.service failed. See 'systemctl status postfix.service' and 'journalctl -xn' for details.
systemctl status postfix.service
postfix.service - Postfix Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled)
Active: failed (Result: exit-code) since Sun 2014-12-21 15:34:11 ICT; 6s ago
Process: 30186 ExecStop=/usr/sbin/postfix stop (code=exited, status=0/SUCCESS)
Process: 30200 ExecStart=/usr/sbin/postfix start (code=exited, status=1/FAILURE)
Process: 30198 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS)
Process: 30195 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, status=0/SUCCESS)
Main PID: 29346 (code=killed, signal=TERM)
systemd[1]: Starting Postfix Mail Transport Agent...
postfix/master[30272]: fatal: bind 127.0.0.1 port 125: Permission denied
postfix/master[30271]: fatal: daemon initialization failure
systemd[1]: postfix.service: control process exited, code=exited status=1
systemd[1]: Failed to start Postfix Mail Transport Agent.
systemd[1]: Unit postfix.service entered failed state.

Kesalahan di atas adalah karena selinux tidak mengizinkan postfix untuk mengikat ke port lain selain 25, 465 dan 587

Untuk membuat postfix mengikat ke port 125, nonaktifkan selinux (tidak disarankan) atau tambahkan port lain ke kebijakan selinux agar postfix dapat diikat:

semanage port -a 125 -t smtp_port_t -p tcp

Dan periksa apakah port 125 ada dalam daftar port yang diizinkan:

semanage port -l | grep smtp_port_t
smtp_port_t tcp 125, 25, 465, 587

Sekarang kita dapat memulai kembali postfix tanpa kesalahan:

systemctl restart postfix

Cara lain untuk melakukan sesuatu adalah dengan mengaktifkan smtp di localhost, dan di assp web config aktifkan port 25 pada alamat ip publik/pribadi dari server masing-masing. Dengan cara ini tidak ada konfigurasi selinux yang terlibat.

Di /etc/postfix/master.cf:

vi /etc/postfix/master.cf

Ganti

smtp inet n - n - - smtpd

Dengan

localhost:smtp inet n - n - - smtpd

Dalam konfigurasi web assp Network Setup->SMTP Listen Port berubah dari 25 menjadi :25 dan Network Setup->SMTP Destination dari 125 menjadi 127.0.0.1:25

Terapkan perubahan menggunakan tombol Terapkan pada antarmuka web.


Untuk membuat assp mulai saat boot, dalam konfigurasi web assp pergi ke Server Setup dan di bawah Run ASSP as a Daemon pilih Yes – externally controlled

Kami kemudian membuat skrip assp systemd:

vi /etc/systemd/system/assp.service

[Unit] 
Description=AntiSpam SMTP Proxy
After=network.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/perl /var/db/assp/assp.pl /var/db/assp/
ExecStop=/usr/bin/killall /usr/bin/perl
[Install]
WantedBy=multi-user.target

Muat ulang systemd:

systemctl daemon-reload

Aktifkan skrip ASSP saat boot:

systemctl enable assp.service

Nyalakan ulang server dan periksa apakah layanan aktif dan berjalan. Kemudian Anda dapat melanjutkan untuk menyempurnakan ASSP dan postfix (atau daemon email pilihan Anda).

  • ASSP
  • CentOS

Cent OS
  1. Cara Menginstal PHP 7, 7.2 &7.3 Pada CentOS 7

  2. Cara Menginstal Java 11 &12 di CentOS 7

  3. Cara Menginstal Wine 4.0 di CentOS 7

  1. Cara Menginstal Vim 8.2 di CentOS 7

  2. Cara Menginstal VirtualBox di CentOS 7

  3. Cara Menginstal Git di CentOS 8

  1. Cara Menginstal Docker di CentOS 8

  2. Cara Menginstal Java 8 &11 di Centos 8

  3. Cara Menginstal MySQL di CentOS 8