Инсталация на QMAIL Debian etch

Тук е обяснено как се инсталират и настройват програми под Linux.

Модератори: Freya, Kulu Ngile

Инсталация на QMAIL Debian etch

Мнениеот ashandarey » Чет 17, Юли, 2008 11:24

Наскоро инсталирах 3 мейл сървъра с qmail, на debian etch и срещнах доста проблеми с инсталацията, понеже в site-a http://www.qmailrocks.org обясненията са прекалено старички и доста неща са се променили ... срещнах проблеми с courier-imap и много други неща, които при първата инсталация ми отнеха доста време, за да открия как да оправя. За съжаление никъде няма добър туториал за инсталация на qmail в etch и се рових доста, затова реших да напиша подробно какво и как съм творил, за да ми тръгне всичко без проблемно и да спестя доста време и търсене на всеки, който иска да инсталира този, според мен, много добър мейл сървър на debian etch.

И така ...
след инсталацията на дебиана, си оправяме хранилишата, по следния начин и добавяме едно допълнително:



Код за потвърждение: Избери целия код
deb http://ftp.bg.debian.org/debian/ etch main non-free contrib


deb http://security.debian.org/ etch/updates main contrib non-free


deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free


След това инсталираме следните пакети, които ще ни трябват за инсталацията:

Код за потвърждение: Избери целия код
apt-get install perl-suid gcc php5 apache2 perl libssl-dev make openssl bzip2 unzip


Създаваме си после папчица и теглим архива с файловете за qmail-a и ги разархивираме:



Код за потвърждение: Избери целия код
mkdir /downloads

cd /downloads

wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gz

tar zxvf qmailrocks.tar.gz


След това пускаме скрипчета и пачове, които се намират на следните места:

Код за потвърждение: Избери целия код
/downloads/qmailrocks/scripts/install/qmr_install_linux-s1.script

/downloads/qmailrocks/scripts/util/qmail_big_patches.script



И инсталираме qmail-a ...:

Код за потвърждение: Избери целия код
cd /usr/src/qmail/qmail-1.03

make man && make setup check

./config-fast your.domain.name

make cert (отговаряме на въпросите ... :))

chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem


Така ...след това трябва да инсталираме ucspi-tcp и daemontools, в qmailrocks пише, че трябва да се инсталират пачове за тези пакети само за redhat, slackware и т.н., обаче се оказа, че трябват и за etch, така че инсталираме :)


Код за потвърждение: Избери целия код
cd /usr/src/qmail/ucspi-tcp-0.88/

patch < /downloads/qmailrocks/patches/ucspi-tcp-0.88.errno.patch

make && make setup check

cd /package/admin/daemontools-0.76/src

patch < /downloads/qmailrocks/patches/daemontools-0.76.errno.patch

cd /package/admin/daemontools-0.76

package/install


Инсталираме EZmlm и Autoresponder

Код за потвърждение: Избери целия код
cd /downloads/qmailrocks/

tar zxvf ezmlm-0.53-idx-0.41.tar.gz

cd ezmlm-0.53-idx-0.41

make && make setup

cd /downloads/qmailrocks

tar zxvf autorespond-2.0.5.tar.gz

cd autorespond-2.0.5

make && make install


Така ...след това трябва да си изберем дали да инсталираме vpopmail с mysql support или без ...аз лично съм инсталирал за момента без, с mysql е за сървъри, които ще работят с над 50 домейна ...така че преценете си сами :)

Код за потвърждение: Избери целия код
cd /downloads/qmailrocks

tar zxvf vpopmail-5.4.13.tar.gz

cd vpopmail-5.4.13

./configure --help (за да изберем с каква опцийка да конфигурираме, аз се придържам към опцията, която е показана в сайта, а именно ./configure --enable-logging=p)

make && make install-strip



Следващата стъпка е инсталацията на Vqadmin, ще пейстна моят конфигурационен файл на apache-то, който е дефоултния, но променен :) Ако няма да работи машината ви и като web server, с множество виртуални хостове, можете за улеснение направо да copy/paste моя :)

Код за потвърждение: Избери целия код
cd /downloads/qmailrocks

tar zxvf vqadmin-2.3.6.tar.gz

cd vqadmin-2.3.6

./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html

make && make install-strip


NameVirtualHost *
<VirtualHost>

ServerName my.domain.name

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html
<Directory>
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
RedirectMatch ^/$ /apache2-default/
</Directory>

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory>
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

<Directory>
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
Deny from all
</Directory>

</VirtualHost>



После отиваме в директорията ни, където сме инсталирали vqadmin-a и променяме файлчето .htaccess, като в него задаваме пътя до .htpasswd, можем да го сложим навсякъде, но се ползва от apache-то и лично аз си го слагам в /etc/apache2 :) След това трябва да променим правата на .htaccess и да извършим още няколко действия ...:

Код за потвърждение: Избери целия код
chown www-data:www-data /var/www/cgi-bin/vqadmin/.htaccess

chmod 644 /var/www/cgi-bin/vqadmin/.htaccess

htpasswd -bc /etc/apache2/.htpasswd admin password

chmod 644 /etc/apache2/.htpasswd

/etc/init.d/apache2 restart



Сега трябва да можем да си отворим http://www.yourdomain.com/cgi-bin/vqadmin/vqadmin.cgi :)

После инсталираме qmailadmin

Код за потвърждение: Избери целия код
cd /downloads/qmailrocks

tar zxvf qmailadmin-1.2.9.tar.gz

cd qmailadmin-1.2.9

./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html

make && make install-strip


Отваря се на адрес http://www.yourdomain.com/cgi-bin/qmailadmin :)

И сега финализираме инсталацията на qmail-a ...:

Код за потвърждение: Избери целия код
/downloads/qmailrocks/scripts/finalize/linux/finalize_linux.script

vim /var/qmail/supervise/qmail-pop3d/run
mail.example.com се заменя с вашия домейн

vim /var/qmail/supervise/qmail-smtpd/run
mail.example.com се заменя с вашия домейн

qmailctl stop

echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp

qmailctl cdb

echo some_address > /var/qmail/alias/.qmail-root (имейла на администратора, където ще пристигат доста бози ;), като препоръчвам да се направи отделен имейл само за тази цел, защото понякога флууда е много як :))

echo some_address > /var/qmail/alias/.qmail-postmaster

echo some_address > /var/qmail/alias/.qmail-mailer-daemon

ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous

chmod 644 /var/qmail/alias/.qmail*




Сега ще поизтрием sendmail/exim

Код за потвърждение: Избери целия код
/etc/init.d/exim stop

cd /etc/rc2.d

mv S20exim K20exim

rm -f /usr/lib/sendmail

rm -f /usr/sbin/sendmail

ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

Ако имаме postfix: dpkg --purge --force-depends postfix


Следващата стъпка е да проверим дали всичко е ок с инсталацийката и стартираме следния скрипт:

Код за потвърждение: Избери целия код
/downloads/qmailrocks/scripts/util/qmr_inst_check


След това се правят няколко теста с телнет-ване, досега никога съм нямал проблеми с тях, по дефоулт са си наред :) Ако някой му се теств с тях (което не е лоша идея по принцип) може да види тук: http://qmailrocks.org/start_qmail.htm

Сега следва инсталацията за courier-imap ...която за дебиан има доста проблеми, понеже техните пакети нямат поддръжка на authvchkpw ....и проблемите са доста :) има два начина за инсталация, единия, който се препоръчва е по redhat way обяснен в qmailrocks с малко корекцийки :) Втория е дебианския начин с добавяне на няколко нещица, третия е манджа с грозде :) дебиан+редхат+допълнителни пакети :) Един приятел ми каза че го е инсталирал по дебианския начин, като е инсталирал допълнително courier-authlib-0.55, който се намира в инсталационния пакет на qmail, който изтеглихме по рано :) Но този начин не съм го пробвал все още, така че ще опиша само начина, който аз съм ползвал и знам че си бачка :) И така ...:

Код за потвърждение: Избери целия код
apt-get install libgdbm3 libgdbm-dev

cd /downloads/qmailrocks/

tar jxvf courier-authlib-0.55.tar.bz2

cd courier-authlib-0.55

./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authdaemon --without-authldap --disable-root-check --with-ssl --with-authchangepwdir=/usr/local/libexec/authlib --with-debian

make && make check

make install-strip && make install-configure

cp /downloads/qmailrocks/scripts/misc/authvchkpw /usr/lib/courier/courier-authlib/authvchkpw

cp /downloads/qmailrocks/courier-authlib-0.55/.libs/libauthvchkpw.so /usr/lib/courier-authlib/

vim /etc/courier/authdaemonrc
намираме и променяме следните неща по този начин:
authmodulelist="authvchkpw"
authmodulelistorig="authvchkpw"

vim /etc/courier/authmodulelist
махаме auhdaemond и сменяме authvchkpw

cd /downloads/qmailrocks/

tar jxvf courier-imap-4.0.2.tar.bz2
После инсталираме всичко като user-че :)

chown -R user:user courier-imap-4.0.2

su user

./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authldap --without-authmysql --disable-root-check --with-ssl --with-authchangepwdir=/usr/local/libexec/authlib --with-debian

make && make check

Връщаме се като root пак и продължаваме :) :

make install-strip && make install-configure

правим ssl сертификат:

/usr/local/sbin/mkimapdcert

vim /usr/local/etc/imapd
оправяме IMAPDSTART да е IMAPDSTART=YES
и после може да оправим и MAXPERIP да е MAXPERIP=100 примерно :) това е колко кънекции да се правят към един акаунт ...понякога, като се добави един акаунт на няколко компютъра и като се ползва едновременно от много хора и изкарва съобщение, че е достигнат лимита на imap connections ...това е при thunderbird-a, за outlook незнам как седят нещата, но няма начин да няма проблем при него :P

vim /usr/local/etc/imapd-ssl
оправяме IMAPDSSLSTART да е IMAPDSSLSTART=YES и проверяваме дали TLS_CERTFILE сочи така: TLS_CERTFILE=/usr/local/share/imapd.pem

vim /usr/local/etc/authlib/authdaemonrc
тук оправяме authmodulelist= да е authmodulelist="authvchkpw"

После правим стартови скриптове:

ln -s /usr/local/sbin/authdaemond /etc/init.d/authdaemond
update-rc.d authdaemond defaults
/etc/init.d/authdaemond start

cp /usr/local/libexec/imapd.rc /etc/init.d/imapd
update-rc.d imapd defaults
/etc/init.d/imapd start

cp /usr/local/libexec/imapd-ssl.rc /etc/init.d/imapd-ssl
update-rc.d imapd-ssl defaults
/etc/init.d/imap-ssl start

тестваме дали IMAP-a бачка ...
telnet localhost 143

a login postmaster@my.domain.name password

ако ни логне, всичко е ОК :)


после може да инсталираме Courierpassd, който позволява на юзърите да си сменят паролите от Squirrelmail-a :)

И така ...сега инсталиеаме катерица мейл :) инсталира се дебиански

Код за потвърждение: Избери целия код
apt-get install squirrelmail


линкваме в /var/www – ln -s /usr/share/squirrelmail webmail
и линкваме в /etc/apache2/sites-available ln -s /etc/squirrelmail/apache.conf webmail като променяме леко въпросния apache.conf ...Ще пейстна пак моята конфигурация

Alias /mail /usr/share/squirrelmail

<Directory>
Options Indexes FollowSymLinks
<IfModule>
php_flag register_globals off
</IfModule>
<IfModule>
php_flag register_globals off
</IfModule>
<IfModule>
DirectoryIndex index.php
</IfModule>

# access to configtest is limited by default to prevent information leak
<Files>
order deny,allow
deny from all
allow from 127.0.0.1
</Files>
</Directory>

# users will prefer a simple URL like http://webmail.example.com
<VirtualHost>
DocumentRoot /usr/share/squirrelmail
ServerName mail.domain.name
</VirtualHost>


За квотите за атачмънтите в /etc/php5/apache2/php.ini ...търсим upload_max_filesize = и post_max_size = и ги променяме на желания размер (например 15MB)

Такааа ...остана антивирусната и спам асасина ...
инсталираме clamav дебиански

Код за потвърждение: Избери целия код
apt-get install clamav clamav-daemon


Пооправяме малко конфигурационни файлове, в /etc/clamav:

Код за потвърждение: Избери целия код
vim freshclam.conf
и променяме database owner-a да е qscand
после добавяме user и group

useradd -s /sbin/nologin -d /bin/false qscand

groupadd qscand

chown qscand:qscand /var/run/clamav/

chown qscand:qscand /var/log/clamav/

chown qscand:adm /var/log/clamav/clamav.log

правим dpkg-reconfigure clamav-base, като не слагаме група, като стигнем до този момент :)

chown qscand:adm /var/log/clamav/freshclam.log

добавя се DatabaseMirror db.bg.clamav.net в /etc/clamav/freshclam.conf



Мисля, че като цяло е това ....може да сканирате ръчно директорийки с clamav със следната команда:

Код за потвърждение: Избери целия код
clamscan -r /директорията


За вдигане на лимита за атачмънт в мейл клиент:

Код за потвърждение: Избери целия код
cd /var/qmail/control

touch databytes

vim databytes
и написваме 150000000 за 15 мегабайта например


qmail-scanner w/qms-analog е следващата последна стъпка ;)
Има понякога грижи и един скрипт, който се пуска накрая за да се провери инсталацията, не минава всички стъпки ...случвало ми се е, оправял съм го засега простичко - инсталирах всичко от тази стъпка наново :) Дано някой от вас не срещне по голям проблем ....Та така:

Код за потвърждение: Избери целия код
cd /downloads/qmailrocks

tar zxvf qmail-scanner-1.25.tgz

tar zxvf qms-analog-0.4.4.tar.gz

cd qms-analog-0.4.4

make all

cp qmail-scanner-1.25-st-qms-YYYYMMDD.patch /downloads/qmailrocks/qmail-scanner-1.25/
да не забравите да смените YYYYMMDD с актуалната дата :)

cd /downloads/qmailrocks/qmail-scanner-1.25

patch -p1 < qmail-scanner-1.25-st-qms-YYYYMMDD.patch

cd /downloads/qmailrocks/qmail-scanner-1.25

vim qms-config
тук търсите къде пише - yourdomain.com и го променяте на вашия ...и MYDOMAIN също се променя
запазваме и излизаме и:

chmod 755 qms-config

./qms-config

./qms-config install

setuidgid qmaild /var/qmail/bin/qmail-scanner-queue.pl -g

vim /var/qmail/supervise/qmail-smtpd/run
тук е важно да се промени softlimit-a да е 40000000 ако вече не е :) и да се зададе пътя където е qmail-scanner-queue.pl, за целта добавяме най-отгоре:
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" ; export QMAILQUEUE
и отново, където пише your_domain.com променяме :)

qmailctl stop

qmailctl start

cd /downloads/qmailrocks/qmail-scanner-1.25/contrib

chmod 755 test_installation.sh

./test_installation.sh -doit


Ако всичко е добре, последното скриптче, което пуснахме, стъпките, които то прави трябва да минат безпроблемно и да изпрати мейл до postmaster-a :) Общо взето е това ....


А ако не ни харесва всичко това, което забъркахме, qmail-a се трие по този начин :)

Код за потвърждение: Избери целия код
groupdel qmail

groupdel vchkpw

userdel alias

userdel qmaild

userdel qmaill

userdel qmailp

userdel qmailq

userdel qmailr

userdel qmails

userdel vpopmail

rm -rf /var/qmail

rm -rf /usr/src/qmail

rm -rf /var/log/qmail

rm -rf /service

rm -rf /package

rm -rf /command

rm -rf /home/vpopmail



Или просто преинсталираме дебиана ;]

това е.... надявам се да съм помогнал поне малко на някой :)

p.p. Искам само да допълня, че ако не сте създали директорията downloads в /, демек да е само /downloads а не /home/downloads, преди да пуснете който и да е скрипт, ще трябва да го пооправите малко, защото търси всичко в /downloads :)[/code]
Последна промяна ashandarey на Вто 02, Сеп, 2008 9:48, променена общо 6 пъти
pan metron ariston
Аватар
ashandarey
Участник
 
Мнения: 36
Регистриран на: Съб 31, Мар, 2007 22:00

Мнениеот phantomlord » Чет 17, Юли, 2008 18:53

Уоу... Браво, браво! :) *thumbs* *bravo*
Hear the cry of War
Louder than before
With his sword in hand
to control the land
Crushing metal strikes
on this frightening night
Fall onto your knees
For the Phantom Lord
Аватар
phantomlord
Шеф
 
Мнения: 1517
Регистриран на: Пет 03, Мар, 2006 1:16
Местоположение: София

Мнениеот ashandarey » Пет 29, Авг, 2008 9:38

Искам да нарпавя едно допълнение касаещо spamassassin-a ... По принцип го инсталирам по дебианския начин с apt-get... Обаче забелязах че на два сървъра не се маркират съобщенията, като спам. То не бяха sa-learn всеки ден, то не беше чудо и нищо не помохна... Реших да проверя по сериозно проблема и забелязах, че qmail-scanner-a не открива spamassassin, като скенер:
Код за потвърждение: Избери целия код
 /var/qmail/bin# ./qmail-scanner-queue.pl -v

Бях много учуден. Преинсталирах го ...играх си ...преинсталирах qmail-scanner-a също ...разни пачове слагах, абе голямо омазване :) В крайна сметка нищо не помогна и го изтрих.... Изтеглих си spamassassin-a като сорс и го инсталирах посредством CPAN, направих му няколко настройки ...пуснах го като демон, пуснах после qmail-scanner-a да се конфигурира наново и чак тогава откри, че има такова животно, като spamassassin... Така че ако някой срещне същия проблем, да пробва този начин, гарантирано работи :)
pan metron ariston
Аватар
ashandarey
Участник
 
Мнения: 36
Регистриран на: Съб 31, Мар, 2007 22:00


Назад към Инсталиране и работа с приложения

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта

cron