Rumah pembangunan bahagian belakang tutorial php 基于qmail的完整WEBMAIL解决方案安装详解_PHP

基于qmail的完整WEBMAIL解决方案安装详解_PHP

Jun 01, 2016 pm 12:27 PM
- make berdasarkan Pasang keseluruhan penyelesaian Penjelasan terperinci

解决方案WebMailqmail

安装平台:Linux,Solaris
版本:qmail-1.03
安装的机器: mail.mydomain.com


软件包:
qmail-1.03 qmail基本系统
ucspi-tcp-0.88 tcpsever服务程序
daemontools-0.70 监视工具
checkpassword-0.81 pop3验证用户的程序
ezmlm-0.53 邮件转发
vpopmail-4.9.6-1 虚拟域用户pop3支持
qmailadmin-0.35 虚拟域web管理
autorespond-1.0.0 自动回复程序
sqwebmail-1.2.0 webmail
vqsignup-0.4 web方式用户注册
软件来源:
http://www.qmail.org
http://www.inter7.com/qmail
每个包安装前务必先仔细阅读INSTALL和FAQ,很多问题在FAQ都有解决方法。


安装步骤:

1. #mkdir /var/qmail

2. # groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias alias
# useradd -g nofiles -d /var/qmail qmaild
# useradd -g nofiles -d /var/qmail qmaill
# useradd -g nofiles -d /var/qmail qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail qmailq
# useradd -g qmail -d /var/qmail qmailr
# useradd -g qmail -d /var/qmail qmails

3. #tar xzvf qmail-1.03.tar.gz
进入qmail目录后,仔细阅读一下README和INSTALL文件.然后开始编译qmail
#make setup check

4. #cd qmail-1.03
#./config

5. 建立系统别名
# (cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root)
# chmod 644 ~alias/.qmail*

6. # cp /var/qmail/boot/home /var/qmail/rc
 # chmod 755 /var/qmail/rc

   编辑 /var/qmail/rc
   修改其中 ./Mailbox 成为 ./Maildir ,如下:

   # !/bin/sh
   # Using splogger to send the log through syslog.
   # Using qmail-local to deliver messages to ~/Maildir by default.
   exec env - PATH="/var/qmail/bin:$PATH"
   qmail-start ./Maildir splogger q

   其中 splogger qmail 指令是用来将纪录文件纪录于 / 中。
   建立样板
   $ /var/qmail/bin/maildirmake /etc/skel/Maildir
   $ echo ./Maildir/ > ~/.qmail
   注意 Maildir 必须为该使用者所有,可以 chown 变更,并以 chmod 700 Maildir 设定权限。


7. 安装 ucspi-tcp-0.88
   # tar zxvf ucspi-tcp-0.88.tar.gz
   # cd ucspi-tcp-0.88
   # make
   # make setup check
   执行档将被安装于 /usr/local/bin 中。


8. 安装 checkpassword
   # tar zxvf checkpassword-0.81.tar.gz
   # cd checkpassword-0.81
   # make
   # make setup check
   # chmod og-rx /bin/checkpassword
   执行档 checkpassword 将被安装于 /bin 中
如果不对/etc/passwd中的用户开放mail,不需要装checkpassword,只要装vpopmail

9. 安装 daemontools
   # tar zxvf daemontools-0.70.tar.gz
   # cd daemontools-0.70
   # make
   # make setup check
   执行档将安装于 /usr/local/bin 中

安装本工具后可以用
# mkdir /var/run/qmail
# supervise /var/run/qmail /var/qmail/rc
来启动qmail,可以用svc来关闭活重起qmail,用svstat监视qmail运行情况,(qmail FAQ)

10. 安装 vpopmail
# groupadd vchkpw
# useradd -g vchkpw vpopmail
# mkdir ~vpopmail/etc
# echo ":allow" > ~vpopmail/etc/tcp.smtp
# tar zvfz vpopmail-4.9.6-1.tar.gz
# cd vpopmail-4.9.6-1
# ./configure --enable-roaming-users=y --enable-default-domain=mydomain.com --enable-passwd=n
# make
# make install-strip

# crontab -e
40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null

# cd /home/vpopmail/bin
# ./vadddomain mydomain.com mydomain
append mydomain.com to /var/qmail/control/rcpthosts


11.停止sendmail 服务
   # killall -TERM sendmail (Linux)
   接着以 qmail 之 sendmail libraby 取代原有之 sendmail
   # mv /usr/lib/sendmail /usr/lib/sendmail.old
   # mv /usr/sbin/sendmail /usr/sbin/sendmail.old
   # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
   # ln -s /var/qmail/sbin/sendmail /usr/sbin/sendmail
移除 sendmail 启动程序,以 Linux 为例:
   移除 inetd.conf 中的 sendmail 之设定,以及 /etc/rc.d/init.d 下的 sendmail 启动档。(Linux)


12.启动qmail SMTP , POP3 daemon 系统服务

   建立 SMTP 转信规则
   建立 /etc/tcp.smtp 内容为
   :allow
   此为接受任何Client端所发出之转送信件
   若要拒绝某些IP所发出之Relay则改为 /etc/tcp.smtp如下
   1.2.3.4:allow,RELAYCLIENT=""
   127.:allow, RELAYCLIENT=""
   如此,除1.2.3.4及127.*之外的所有地址,都将被拒绝转送信件。
   
   接下来,转换 tcp.smtp 成为 cdb 格式。
   # /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp
   注意:若对 tcp.smtp 有任何变更,都必须经过 tcprules 转换成为 cdb 才会生效。
   另外,tcp.smtp 若为空白,则表示拒绝所有的转送,因为预设的规则为 deny。
   至此,转送规则已建立,稍后将依此规则启动 qmail-smtpd。

   设定 SMTP 及 POP3 daemon 之启动
   请移除 inetd.conf 中有关 smtp 及 pop3 的设定 (加上 # 号)
   编辑 /etc/services,改为以下设定:

   smtp 25/tcp mail
   # pop-3 110/tcp #pop version 3
   # pop-3 110/udp
   pop3 110/tcp
   pop3 110/udp

   启动 SMTP:
   /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb
   -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
   | /var/qmail/bin/splogger smtpd 3 &

   其中UID和GID为前述新增 qmail 系统账号之 qmaild 之 User ID,以及 nofiles 之 group ID。
   /var/qmail/bin/splogger那一行会将log档写在 /var/log/maillog。

   启动 POP3:
   编辑启动档加入以下设定:
   tcpserver -H -R 0 pop3
/var/qmail/bin/qmail-popup mail.mydomain.com
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &


在/etc/rc.d/init.d下建立文件qmail,内容如下:
-------------------------------------------
#! /bin/sh

case "$1" in
start)
echo -n "start qmail:"
/var/qmail/rc &
echo "."

echo -n "start smtp service:"
    /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb
    -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
    | /var/qmail/bin/splogger smtpd 3 &
echo "."

echo -n "start pop3 service:"
   tcpserver -H -R 0 pop3
/var/qmail/bin/qmail-popup mail.mydomain.com
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
echo "."
;;
stop)
echo -n "stop qmail:"
echo "."
;;
*)
exit 1
;;
esac

exit 0
-----------------------------------------------------
# cd ../rc3.d
# ln -s ../init.d/qmail S98qmail


qmailadmin WEB方式管理qmail

1 ezmlm
$ make
$ make man
# make setup

2 autorespond
gcc -Wall -o autorespond autorespond.c
cp autorespond /usr/local/bin/autorespond

3 qmailAdmin

3.1. 在你开始以前还有几件事需要考虑.
a. 你是否有vpopmail 用户而且已经安装了vchkpw
b. 你的 cgi bin 目录的位置
c. 你的 ezmlm 目录的位置
d. 你的 autorespond 目录的位置
如果这些部分你有忽略,那先暂停继续,先把这些搞定吧!!


3.2 install

# ./configure
# make
# make install-strip

浏览器中打开路径http://mail.mydomain.com/cgi-bin/qmailadmin
用户postmaster;域mydomain.com;口令:mydomain


WebMail -- SqWebmail
# tar xvfz sqwebmail-1.2.0.tar.gz
# cd sqwebmail-1.2.0
# ./configure --without-authpam --without-authuserdb --enable-webpass=no --without-authpwd --without-authshadow
# make configure-check
# make (当我make的时候报错找不到db.h,cp /usr/include/db1/db.h /usr/include/db.h)
# make check
# make install-strip
# make install-configure
浏览器中打开路径http://mail.mydomain.com/cgi-bin/sqwebmail

vqsignup
# tar xvfz vqsignup-0.4.tar.gz
# cd vqsignup-4.0

按照INSTALL安装
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika Baidu Netdisk berjaya dimuat turun tetapi tidak boleh dipasang? Apakah yang perlu saya lakukan jika Baidu Netdisk berjaya dimuat turun tetapi tidak boleh dipasang? Mar 13, 2024 pm 10:22 PM

Jika anda telah berjaya memuat turun fail pemasangan Baidu Netdisk, tetapi tidak dapat memasangnya seperti biasa, mungkin terdapat ralat dalam integriti fail perisian atau terdapat masalah dengan baki fail dan entri pendaftaran Biarkan tapak ini mengambil jaga ia untuk pengguna Mari perkenalkan analisis masalah yang Baidu Netdisk berjaya dimuat turun tetapi tidak boleh dipasang. Analisis masalah yang berjaya dimuat turun oleh Baidu Netdisk tetapi tidak dapat dipasang 1. Semak integriti fail pemasangan: Pastikan fail pemasangan yang dimuat turun lengkap dan tidak rosak. Anda boleh memuat turunnya semula atau cuba memuat turun fail pemasangan daripada sumber lain yang dipercayai. 2. Matikan perisian anti-virus dan tembok api: Sesetengah perisian anti-virus atau program tembok api mungkin menghalang program pemasangan daripada berjalan dengan betul. Cuba lumpuhkan atau keluar dari perisian anti-virus dan tembok api, kemudian jalankan semula pemasangan

Bagaimana untuk memasang apl Android pada Linux? Bagaimana untuk memasang apl Android pada Linux? Mar 19, 2024 am 11:15 AM

Memasang aplikasi Android di Linux sentiasa menjadi kebimbangan ramai pengguna Terutamanya bagi pengguna Linux yang suka menggunakan aplikasi Android, adalah sangat penting untuk menguasai cara memasang aplikasi Android pada sistem Linux. Walaupun menjalankan aplikasi Android secara langsung pada Linux tidak semudah pada platform Android, dengan menggunakan emulator atau alatan pihak ketiga, kami masih boleh menikmati aplikasi Android di Linux dengan gembira. Berikut akan memperkenalkan cara memasang aplikasi Android pada sistem Linux.

Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa Jun 03, 2024 pm 01:25 PM

Cabaran biasa yang dihadapi oleh algoritma pembelajaran mesin dalam C++ termasuk pengurusan memori, multi-threading, pengoptimuman prestasi dan kebolehselenggaraan. Penyelesaian termasuk menggunakan penunjuk pintar, perpustakaan benang moden, arahan SIMD dan perpustakaan pihak ketiga, serta mengikuti garis panduan gaya pengekodan dan menggunakan alat automasi. Kes praktikal menunjukkan cara menggunakan perpustakaan Eigen untuk melaksanakan algoritma regresi linear, mengurus memori dengan berkesan dan menggunakan operasi matriks berprestasi tinggi.

Bagaimana untuk memasang Podman pada Ubuntu 24.04 Bagaimana untuk memasang Podman pada Ubuntu 24.04 Mar 22, 2024 am 11:26 AM

Jika anda telah menggunakan Docker, anda mesti memahami daemon, bekas dan fungsinya. Daemon ialah perkhidmatan yang berjalan di latar belakang apabila bekas sudah digunakan dalam mana-mana sistem. Podman ialah alat pengurusan percuma untuk mengurus dan mencipta bekas tanpa bergantung pada mana-mana daemon seperti Docker. Oleh itu, ia mempunyai kelebihan dalam menguruskan kontena tanpa memerlukan perkhidmatan backend jangka panjang. Selain itu, Podman tidak memerlukan kebenaran peringkat akar untuk digunakan. Panduan ini membincangkan secara terperinci cara memasang Podman pada Ubuntu24. Untuk mengemas kini sistem, kami perlu mengemas kini sistem terlebih dahulu dan membuka shell Terminal Ubuntu24. Semasa kedua-dua proses pemasangan dan peningkatan, kita perlu menggunakan baris arahan. yang mudah

Cara Memasang dan Menjalankan Apl Nota Ubuntu pada Ubuntu 24.04 Cara Memasang dan Menjalankan Apl Nota Ubuntu pada Ubuntu 24.04 Mar 22, 2024 pm 04:40 PM

Semasa belajar di sekolah menengah, sesetengah pelajar mengambil nota yang sangat jelas dan tepat, mengambil lebih banyak nota daripada yang lain dalam kelas yang sama. Bagi sesetengah orang, mencatat nota adalah hobi, manakala bagi yang lain, ia adalah satu keperluan apabila mereka mudah melupakan maklumat kecil tentang apa-apa perkara penting. Aplikasi NTFS Microsoft amat berguna untuk pelajar yang ingin menyimpan nota penting di luar kuliah biasa. Dalam artikel ini, kami akan menerangkan pemasangan aplikasi Ubuntu pada Ubuntu24. Mengemas kini Sistem Ubuntu Sebelum memasang pemasang Ubuntu, pada Ubuntu24 kita perlu memastikan bahawa sistem yang baru dikonfigurasikan telah dikemas kini. Kita boleh menggunakan "a" yang paling terkenal dalam sistem Ubuntu

Langkah terperinci untuk memasang bahasa Go pada komputer Win7 Langkah terperinci untuk memasang bahasa Go pada komputer Win7 Mar 27, 2024 pm 02:00 PM

Langkah terperinci untuk memasang bahasa Go pada komputer Win7 Go (juga dikenali sebagai Golang) ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google Ia mudah, cekap dan mempunyai prestasi serentak yang sangat baik Ia sesuai untuk pembangunan perkhidmatan awan, aplikasi rangkaian dan sistem hujung belakang. Memasang bahasa Go pada komputer Win7 membolehkan anda memulakan bahasa dengan cepat dan mula menulis program Go. Berikut akan memperkenalkan secara terperinci langkah-langkah untuk memasang bahasa Go pada komputer Win7, dan melampirkan contoh kod tertentu. Langkah 1: Muat turun pakej pemasangan bahasa Go dan lawati tapak web rasmi Go

Bagaimana untuk memasang bahasa Go di bawah sistem Win7? Bagaimana untuk memasang bahasa Go di bawah sistem Win7? Mar 27, 2024 pm 01:42 PM

Memasang bahasa Go di bawah sistem Win7 adalah operasi yang agak mudah Hanya ikuti langkah berikut untuk berjaya memasangnya. Berikut akan memperkenalkan secara terperinci cara memasang bahasa Go di bawah sistem Win7. Langkah 1: Muat turun pakej pemasangan bahasa Go Mula-mula, buka tapak web rasmi bahasa Go (https://golang.org/) dan masukkan halaman muat turun. Pada halaman muat turun, pilih versi pakej pemasangan yang serasi dengan sistem Win7 untuk dimuat turun. Klik butang Muat turun dan tunggu pakej pemasangan dimuat turun. Langkah 2: Pasang bahasa Go

Penjelasan terperinci tentang peranan dan penggunaan pengendali modulo PHP Penjelasan terperinci tentang peranan dan penggunaan pengendali modulo PHP Mar 19, 2024 pm 04:33 PM

Operator modulo (%) dalam PHP digunakan untuk mendapatkan baki pembahagian dua nombor. Dalam artikel ini, kami akan membincangkan peranan dan penggunaan pengendali modulo secara terperinci, dan memberikan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1. Peranan pengendali modulo Dalam matematik, apabila kita membahagi integer dengan integer lain, kita mendapat hasil bagi dan baki. Sebagai contoh, apabila kita membahagi 10 dengan 3, hasil bahagi ialah 3 dan selebihnya ialah 1. Operator modulo digunakan untuk mendapatkan baki ini. 2. Penggunaan operator modulo Dalam PHP, gunakan simbol % untuk mewakili modulus

See all articles