Installing and configuring vpopmail

September 23, 2021 Roberto Puzzanghera75 comments

Vpopmail provides an easy way to manage virtual email domains and non /etc/passwd email accounts on your mail servers.

The purpose of this note is to show how to use Mysql as the authentication system. Having a users database also offers the advantage of communicating with the database via PHP, and creating web-based user interfaces to manage accounts.

Patch details

The patch we'll apply is the result of the following bunch of patches:

  • sql-aliasdomains patch, which makes vpopmail save the aliasdomains to MySQL. This makes the dovecot sql auth driver aware of the aliasdomains, provided that you modify the sql query as well (see the dovecot page for more info).
  • defaultdelivery patch, which makes vpopmail to copy your favourite delivery agent (stored in QMAILDIR/control/defauldelivery) into the .qmail-default file of any newly created domain, overriding the default vpopmail's behaviour, where vpopmail copies its delivery agent vdelivermail. You have to configure with --enable-defaultdelivery to enable this.
    If the functionality is disabled (--disable-defaultdelivery, which is the default option) vdelivermail is installed with the "delete" option instead of "bounce-no-mailbox", which is not reasonable anymore.
  • dovecot-pwd_query patch
    If you want to use the dovecot's sql auth driver with one table for each domain (--disable-many-domains) you have to heavily customize your password query. With this patch vpopmail installs the sql procedure and functions in the database when you create a new domain. The procedure can be called by dovecot to perform the auth.
    The sql stuff supports aliasdomains and mysql limits and will be loaded from ~/vpopmail/etc/pwd-query_disable-many-domains.sql. You can customize the sql procedure editing this file.
    You have to configure with --enable-mysql-bin=PATH as we have to install the procedure calling the mysql bin as a shell command (no way to load an sql query from a file in C language, comments welcome).
  • recipient check patch. It can be used with Erwin Hoffmann's s/qmail to accomplish the recipent check. Not important in my installation, look at doc/README.vrcptcheck for more info.
  • gcc-10-compat patch, which gets vpopmail to compile with gcc-10

Setup

Create the vpopmail user and group. Be aware that the home directory below is going to be the one where vpopmail will be installed, so you can change it if you want to have vpopmail elsewhere.

groupadd -g 89 vchkpw
useradd -g vchkpw -u 89 -d /home/vpopmail vpopmail

Before proceeding on Debian and Ubuntu you may have to install a couple of packages:

apt-get install default-libmysqlclient-dev default-libmysqld-dev

Download the source (original files here: http://sourceforge.net/projects/vpopmail/files/, but you can download my local copy) and configure.

cd /usr/local/src
wget https://notes.sagredo.eu/files/qmail/tar/vpopmail-5.4.33.tar.gz
wget https://notes.sagredo.eu/files/qmail/patches/vpopmail/roberto_vpopmail-5.4.33.patch
tar xzf vpopmail-5.4.33.tar.gz
cd vpopmail-5.4.33
chown -R root.root .
patch -p1 < ../roberto_vpopmail-5.4.33.patch

autoreconf -f -i
./configure \
        --enable-qmaildir=/var/qmail/ \
        --enable-qmail-newu=/var/qmail/bin/qmail-newu \
        --enable-qmail-inject=/var/qmail/bin/qmail-inject \
        --enable-qmail-newmrh=/var/qmail/bin/qmail-newmrh \
        --disable-roaming-users \
        --enable-auth-module=mysql \
        --enable-incdir=/usr/include/mysql \
        --enable-libdir=/usr/lib64 \
        --enable-logging=p \
        --disable-clear-passwd \
        --enable-auth-logging \
        --enable-sql-logging \
        --disable-valias \
        --disable-passwd \
        --enable-qmail-ext \
        --enable-learn-passwords \
        --enable-mysql-limits \
        --enable-sql-aliasdomains \
        --enable-defaultdelivery

--disable-roaming-users roaming users will be disabled, since we don't want to use POP before SMTP authorization. We will patch qmail with smtp-auth instead.

--enable-auth-module=mysql builds mysql support and  stores virtual users accounts into a mysql database.

--enable-incdir=/usr/include/mysql Your MySQL include dir (use just in case you installed mysql from binaries or source in a non standard location. Mount mysql dir somewhere if it is installed in a different machine).

--enable-libdir=/usr/lib64 Your MySQL lib dir. Obviously it might be /usr/lib on 32b systems

--disable-valias Do not store aliases in MySQL, but as dot-qmail files.
Note: it appears that dovecot-lda continues to look for .qmail-alias files also when you enable this. So this option is useless if you deliver via dovecot-lda

--disable-passwd Don't include /etc/passwd support. I don't want to manage real users, this is just a web server.

--disable-clear-passwd Clear password will be not be saved to database for security reasons. If you don't want to have problems when users forget their passwords and you want to recover them quickly switch this to --enable-clear-passwd.

--enable-sql-logging Maintain the vlog table in MySQL (shows failed authentication requests).

--enable-auth-logging Maintain a lastauth table in MySQL (shows when / how a user last accessed their email)

--enable-mysql-limits MySQL stores domain limits instead of .qmailadmin-limits files.

--enable-qmail-ext Enable qmail email address extension support (emails containing dots).

--enable-sql-aliasdomains (default) saves domain aliases to MySQL in order to validate the authentication for domain aliases when using the dovecot's sql driver, provided that you modify the password_query accordingly.

--enable-defaultdelivery installs the delivery agent stored in /var/qmail/control/defaultdelivery into the .qmail-default file of each newly created domain.

Compile and install:

make install-strip

vusaged

vusaged looks up every vpopmail user and tracks how much storage space they’re using. It requires libev.

Installing libev

cd /usr/local/src
wget  http://dist.schmorp.de/libev/libev-4.33.tar.gz
tar xzvf libev-4.33.tar.gz
cd libev-4.33
chown -R root.root .
./configure
make
make install
ldconfig

Installing and configuring vusaged

cd /usr/local/src/vpopmail-5.4.33/vusaged
LIBS=`head -1 /home/vpopmail/etc/lib_deps` ./configure --with-vpopmail=/home/vpopmail
make
cp -f vusaged /home/vpopmail/bin
cp -f etc/vusaged.conf /home/vpopmail/etc

Now copy the startup script ro /etc/rc.d (Slackware) or init.d and run it. This is a Slackware example:

cp contrib/rc.vusaged /etc/rc.d/
/etc/rc.d/rc.vusaged start

Troubleshooting

If you get an error like this after the configure command

configure: error: No vauth_getpw in libvpopmail

try to apply this patch. This is actually a work around. If you solve the library linking error let me know. 

Take a look to the discussion in the comments, as Luca suggested a different solution, which didn't solve for me but that I'm suggesting above in this page.

Configuring

Now create your ~vpopmail/etc/tcp.smtp file. This file should list all the static IPs of your machines that you want to allow to relay out to the internet. For example: to allow relaying for localhost and the localnet 10.0.0.x edit your ~vpopmail/etc/tcp.smtp as follows:

10.0.0.:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""

add any other IP later, whenever you want. To give a client relay access, add an entry to ~vpopmail/etc/tcp.smtp like:

IP address of client:allow,RELAYCLIENT=""

Now build the tcp.smtp.cdb. This command must be run every time you modify tcp.smtp

cd ~vpopmail/etc
tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

Now setup a quota warning that will be delivered to users when they are at 90% quota

# nano ~vpopmail/domains/quotawarn.msg

From: SomeCompany Postmaster <postmaster@yourdomain.com>
Reply-To: postmaster@yourdomain.com
To: SomeCompany User:;
Subject: Mail quota warning
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 7bit

Your mailbox on the server is now more than 90% full.

So that you can continue to receive mail,
you need to remove some messages from your mailbox.

If you require assistance with this,
please contact our support department :

  email : support@yourdomain.com
  Tel   : xx xxxx xx
chmod 600 ~vpopmail/domains/quotawarn.msg
chown vpopmail.vchkpw ~vpopmail/domains/quotawarn.msg

Now adjust ~vpopmail/etc/vlimits.default. I use to limit the default user quota to 100MB (in bytes):

default_quota           104857600

Configuring mysql back end

Create the vpopmail user and database. Grant all privileges to the vpopmail user. Then quit out of MySQL and save the authentication information for the vpopmail account into the vpopmail.mysql config file:

> mysql [-h mysql-IP] -u root -p 

CREATE USER 'vpopmail'@'mailserver-IP' IDENTIFIED BY 'vpopmailpwd'; 

GRANT USAGE ON * . * TO 'vpopmail'@'mailserver-IP' IDENTIFIED BY 'vpopmailpwd' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS `vpopmail` ;
GRANT ALL PRIVILEGES ON `vpopmail` . * TO 'vpopmail'@'mailserver-IP';

> echo "mysql-IP|0|vpopmail|vpopmailpwd|vpopmail" > ~vpopmail/etc/vpopmail.mysql

where mysql-IP is the IP of the server which runs mysqld, and mailserver-IP is the IP address where qmail is running. Usually you can specify ‘localhost’ or 0.0.0.0 for both.

Creating virtual domains and virtual users

cd ~vpopmail/bin/

To add/delete a virtual domain

./vadddomain yourdomain.net [./vdeldomain yourdomain.net]

To add/delete a virtual user

./vadduser user@yourdomain.net [./vdeluser user@yourdomain.net]

To view information about user email accounts:

./vuserinfo user@yourdomain.net

name:   user
passwd: xxxxxxxxxxxx
clear passwd: xxxxxxxxx
comment/gecos: Name Surname
uid:    0
gid:    0
flags:  0
gecos: Name Surname
limits: No user limits set.
dir:       /home/vpopmail/domains/yourdomain.net/user
quota:     104857600S

These commands can be useful. But it will be much easier to manage domains and accounts when we install the vqadmin and qmailadmin web interfaces later.

You may be interested to take a look to this page concerning vpopmail testing.

Domain aliases when using the dovecot's sql auth driver

If you don't have domain aliases or this is a fresh installation you can skip this step.

If you already have domain aliases and want to switch to the dovecot's sql auth driver, don't forget to read carefully the page where the vpopmail/dovecot setup concerning domain aliases is explained, as you'll have to save your existing alias/domains pairs to MySQL.

In short, you can quickly save all your domain aliases to MySQL in this way

vsavealiasdomains -A

Type

vsavealiasdomains -h

for more options.

The database record will be saved by vpopmail for the new aliases that you will create from now on.

Comments

missing file smtp.tmp

im missing file  smtp.tmp in directory ~vpopmail/etc/
i think vpopmail didnt installed corretly but i dont get any error :(

any ideas?

Reply | Permalink

missing file smtp.tmp

You can create it manually with a plain text editor

Reply | Permalink

Installing and configuringvusaged

from tutorial

cd /usr/local/src/vpopmail-5.4.33/vusaged
./configure
make
cp -f vusaged /home/vpopmail/bin
cp -f etc/vusaged.conf /home/vpopmail/etc

command make didnt work 

make: *** No objects specified and no makefile found. Stop.

but in folder i have a makefile

-rw-r--r-- 1 root root 2053 lut 28 2011 Makefile.in

Reply | Permalink

Installing and configuringvusaged

I think you are in the wrong directory

Reply | Permalink

Installing and configuringvusaged

which directory should it be?

mine is /usr/local/src/vpopmail-5.4.33/vusaged

Reply | Permalink

Installing and configuringvusaged

It works here... I'd suggest to to download again and recompile

Reply | Permalink

vpopmail issue

Hi

i had a problem when execute

make install-strip
vauth.c: In function ‘vcreate_pwd_query_proc’:
vauth.c:1906:3: error: ‘MYSQLBIN’ undeclared (first use in this function); did you mean ‘MYSQL_BIND’?
1906 | MYSQLBIN, MYSQL_UPDATE_SERVER, MYSQL_UPDATE_PORT, MYSQL_UPDATE_DATABASE,
| ^~~~~~~~
| MYSQL_BIND
vauth.c:1906:3: note: each undeclared identifier is reported only once for each function it appears in
vauth.c: In function ‘vauth_getall’:
vauth.c:752:13: warning: ‘strncat’ specified bound 2048 equals destination size [-Wstringop-overflow=]
752 | strncat( SqlBufRead, " order by pw_name", SQL_BUF_SIZE);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:636: libvpopmail_a-vauth.o] Error 1
make[2]: Leaving directory '/usr/local/src/vpopmail-5.4.33'
make[1]: *** [Makefile:714: install-recursive] Error 1
make[1]: Leaving directory '/usr/local/src/vpopmail-5.4.33'
make: *** [Makefile:1037: install-strip] Błąd 2

what do i miss?

i installed

mysql-server 8.0
mysql-client 8.0
libmysqlclient-dev
libmysqlclient21

Reply | Permalink

vpopmail issue

finally I solved as well. My system is ubuntu server 18.04 I've executed:

apt-get install default-libmysqlclient-dev default-libmysqld-dev

Reply | Permalink

vpopmail issue

thank you. The same for me in a debian server where libmysqlclient was missing. Now I added this to the current page

Reply | Permalink

vpopmail issue

I have the same problem, and I tried to recompile vpopmail and re-patch but the error persists

Reply | Permalink

vpopmail issue

Hi, can you post your configure command, please?

Reply | Permalink

vpopmail issue

Do u mean command ./configure ?

Reply | Permalink

vpopmail issue

I saw your configure results. How did you patch vpopmail? Did you get any errors when patching?

Reply | Permalink

vpopmail issue

i used command patch -p1 < ../roberto_vpopmail-5.4.33.patch

and resort:

patching file Makefile.am
patching file configure.in
patching file doc/README.defaultdelivery
patching file doc/README.dovecot-pwd-query
patching file doc/README.sql-aliasdomains
patching file dovecot/pwd-query_disable-many-domains.sql
patching file vmysql.c
patching file vmysql.h
patching file vpgsql.c
patching file vpopmail.c
patching file vpopmail.h
patching file vsavealiasdomains.c

no errors

Reply | Permalink

vpopmail issue

I can't reproduce your configure results that you posted before.

Can you post the configure command that you are using, please?

Reply | Permalink

vpopmail issue

Solved

i repatched vpopmail i again execute make install-strip and now it return no errors

thanks you :)

Reply | Permalink

error with make install-strip

Hi,

when i execute

make install-strip

i get a messenge:

make[2]: Exit the directory '/downloads/vpopmail-5.4.33/cdb'
make[2]: Entering the directory '/downloads/vpopmail-5.4.33'.
rm -f libvpopmail.a
ar cru libvpopmail.a libvpopmail_a-vpopmail.o libvpopmail_a-md5.o libvpopmail_a-bigdir.o libvpopmail_a-vauth.o libvpopmail_a-file_lock.o libvpopmail_a-vpalias.o libvpopmail_a-seek. o libvpopmail_a-vlimits.o libvpopmail_a-maildirquota.o libvpopmail_a-vutil.o libvpopmail_a-vlistlib.o libvpopmail_a-backfill.o libvpopmail_a-client.o libvpopmail_a-conf.o libvpopmail_a-ippp.o cdb/*.o
ar: `u' modifier ignored since `D' is the default (see `U')
ranlib libvpopmail.a
gcc -o vchkpw vchkpw.o md5.o hmac_md5.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib/ -L/usr/lib/ -lmysqlclient -lz -lm -lcrypt
/usr/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
Makefile:548: commands for object 'vchkpw' failed
make[2]: *** [vchkpw] Error 1
make[2]: Exit directory '/downloads/vpopmail-5.4.33'.
Makefile:714: commands for object 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/downloads/vpopmail-5.4.33'.
Makefile:424: commands for object 'all' failed
make: *** [all] Error 2

any ideas?

Reply | Permalink

error with make install-strip

it seems that you are missing the zlib package...

Reply | Permalink

problem with passwords containing special characters like %

I'm doinig a fresh installation, decided to compile with --enable-clear-passwd and am running into the following problem:

# /home/vpopmail/bin/vadduser user@mydomain.tld '%#RxtraMtbx#37%'
vmysql: sql error[2]: Data too long for column 'pw_clear_passwd' at row 1
Failed while attempting to add user to auth backend
Error: no authentication database connection

Using "%#" or "%+" or the like doesn't seem possible, but "%R" works.

OS: OpenSUSE 15.2
DB: MariaDB 10.4.17
Server-Character-Set: UTF-8 Unicode (utf8mb4)
Database "vpopmail" was created using collation "utf8mb4_general_ci", which is the default for standard MariaDB installation.

I'm ok with changing passwords for existing users (have to import a couple of existing domains) but am afraid there may be other issues with passwords and authentication.

Or is it just the clear password which is the problem and authentication with whatever client will be ok even when passwords like '%RxtraMT#66%' are used?

Reply | Permalink

problem with passwords containing special characters like %

Hi, I tested that password and it was accepted here... 

which vpopmail version and patch?

PS tested both with mariadb-10.5.9 (query from command line) and mariadb-10.0.0.112

Reply | Permalink

problem with passwords containing special characters like %

Hi and thx for the quick reply.

vpopmail is v5.4.33, as well is the patch.

Did download and patch as directed above:

wget https://notes.sagredo.eu/files/qmail/tar/vpopmail-5.4.33.tar.gz
wget https://notes.sagredo.eu/files/qmail/patches/vpopmail/roberto_vpopmail-5.4.33.patch
tar xzf vpopmail-5.4.33.tar.gz
cd vpopmail-5.4.33
chown -R root.root .
patch -p1 < ../roberto_vpopmail-5.4.33.patch

Language of the OS installaition is German.

status of MariaDB-server:

MariaDB [(none)]> status;
--------------
mysql Ver 15.1 Distrib 10.4.17-MariaDB, for Linux (x86_64) using EditLine wrapper

Connection id: 134
Current database: vpopmail
Current user: root@localhost
SSL: Not in use
Current pager: less
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.4.17-MariaDB MariaDB package
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /run/mysql/mysql.sock
Uptime: 1 day 20 hours 42 min 5 sec

Also recompile with --disable-clear-passwd doesn't make any difference. The error stays the same, even though the password is not stored in the database in clear text.

Reply | Permalink

problem with passwords containing special characters like %

Unfortunately I've no idea at the moment, a I can't reproduce the issue...

Reply | Permalink

aliasdomain patch compilation issue

Hi Roberto!

Recently I switched to the SQL driver and of course ran into the aliasdomains issue, so today I gave your patch a shot using a new alpine-3.13 build.

However, it runs into a snag:

gcc -o vchkpw vchkpw.o md5.o hmac_md5.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib -L/usr/lib -lmysqlclient -lz -lm -lcrypt 
/usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: libvpopmail.a(libvpopmail_a-vpopmail.o): in function `vdeldomain':
vpopmail.c:(.text+0x1117): undefined reference to `vdelete_sql_aliasdomain'
/usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: libvpopmail.a(libvpopmail_a-vpopmail.o): in function `vaddaliasdomain':
vpopmail.c:(.text+0x760c): undefined reference to `vcreate_sql_aliasdomain'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:549: vchkpw] Error 1
make[2]: Leaving directory '/usr/src/vpopmail/vpopmail-5.4.33'

This is after running autoreconf.

I did also apply the GCC 10 patch, because without it the compilation broke on MYSQL definitions.

Suggestions?

Reply | Permalink

aliasdomain patch compilation issue

Hi Wouter!

I thought I have corrected this compilation issue in the feb 15 patch... can you confirm that you downloaded this latest version marked as 2021.02.15? Just look at the first line of the patch file

which gcc version?

PS gcc-10 compat patch is already included into the latest sql-aliasdomains patch

Reply | Permalink

You step "Installing and configuring vpopmail"

... Do I need to have MySQL or MariaDB, installed before I run Your step "Installing and configuring vpopmail" ?

grdt.

Reply | Permalink

You step

One of the two. It does not make any difference

Reply | Permalink

Problem compiling vpopmail with postgresql support on alpine 12

Hi,

I try compile vpopmail with pgsql support on alpine 12 and I get error:

make[2]: Entering directory '/usr/src/vpopmail-5.4.33'
gcc -I. -I/usr/include -I. -fPIC -c -o libvpopmail_a-vauth.o `test -f 'vauth.c' || echo './'`vauth.c
vauth.c: In function 'vauth_deldomain':
vauth.c:395:15: error: 'sqlBufUpdate' undeclared (first use in this function); did you mean 'SqlBufUpdate'?
qnprintf( sqlBufUpdate, SQL_BUF_SIZE,
^~~~~~~~~~~~
SqlBufUpdate
vauth.c:395:15: note: each undeclared identifier is reported only once for each function it appears in
vauth.c:398:19: warning: implicit declaration of function 'PGresultStatus'; did you mean 'PQresultStatus'? [-Wimplicit-function-declaration]
if( !pgres || PGresultStatus(pgres)!=PGRES_COMMAND_OK) {
^~~~~~~~~~~~~~
PQresultStatus
vauth.c: In function 'vauth_deluser':
vauth.c:448:15: error: 'sqlBufUpdate' undeclared (first use in this function); did you mean 'SqlBufUpdate'?
qnprintf( sqlBufUpdate, SQL_BUF_SIZE,
^~~~~~~~~~~~
SqlBufUpdate
vauth.c: In function 'vauth_getall':
vauth.c:525:7: warning: 'strncat' specified bound 2048 equals destination size [-Wstringop-overflow=]
strncat( SqlBufRead, " order by pw_name", SQL_BUF_SIZE);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:636: libvpopmail_a-vauth.o] Error 1
make[2]: Leaving directory '/usr/src/vpopmail-5.4.33'
make[1]: *** [Makefile:714: all-recursive] Error 1
make[1]: Leaving directory '/usr/src/vpopmail-5.4.33'
make: *** [Makefile:424: all] Error 2

Can somebody tell what I should do to fix this problem?

Reply | Permalink

Problem compiling vpopmail with postgresql support on alpine 12

You have compilation breaks because vpopmail is not compatible with the new gcc-10.

Try this patch (you may want to apply only the changes to vpgsql.c): https://notes.sagredo.eu/files/qmail/patches/vpopmail/vpopmail-5.4.33_gcc-10-compat.patch

Let me know if it works

Reply | Permalink

Using dovecot-lda with vpopmail valias database table

Hi Robert

I have an extensive valias table, and I recently added sieve filtering. 

As mentioned above in the thread between you and Eric, dovecot-lda doesn't respect the vpopmail.valias entries in the database, and instead relies on .qmail-alias files. That meant that for mail to be delivered to my aliases, I either needed to create a .qmail-alias file for each one (which would be a mess), or keep using vdelivermail and skip sieve filtering.

As an alternative to Eric's solution of creating .qmail-alias files, you can --enable-valias and add an entry for the destination account to the valias table and keep the delivery agent set to vdelivermail. 

This is my .qmail-default file (I prefer to use bounce)

| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox

To add the valias to the database table, I use this: (replacing mailboxname and example.com as appropriate)

INSERT INTO `valias` (`id`, `alias`, `domain`, `valias_line`) 
VALUES (NULL, 'mailboxname', 'example.com', '|/var/qmail/bin/preline -f /usr/local/dovecot/libexec/dovecot/deliver -d $EXT@$USER');

Hopefully this helps someone else out there.

If I had more time, I'd look at  patching dovecot to use the valias table. Maybe one day.

Reply | Permalink

Using dovecot-lda with vpopmail valias database table

Hi Michael, thanks for your contribution, it's very much appreciated.

I think I am missing something on how things work in your configuration. You are using vdelivermail in your .qmail-default so you are giving up on sieve filters and vdelivermail can work well with valiases even without your hack... what I am missing?

Reply | Permalink

Using dovecot-lda with vpopmail valias database table

Hi Robert

I was trying to show is that you can use the valias table from vpopmail and still make sieve filtering work, without having to set up any .qmail-alias files.

The existing instructions and comments suggest you had to choose one or the other.

Reply | Permalink

Using dovecot-lda with vpopmail valias database table

I don't understand how  you can have sieve working if you have vdelivermail in your .qmail-default

Reply | Permalink

Using dovecot-lda with vpopmail valias database table

Ah, that's the magic: I have an entry in the valias table for my actual mailbox name, that tells it to use dovecot's deliver program.

So:

  1. I have alias@example.com that resolves to michael@example.com
  2. And an entry in the valias table for michael@example.com, that tells vdelivermail to call dovecot's deliver program (which will process the sieve rules).

Now, when an email for alias@example.com arrives, vdelivermail finds the alias michael@example.com and tells vdelivermail to deliver to that address. Vdelivermail then finds my alias for michael@example.com and calls dovecot's deliver to complete the delivery (which also processes the sieve rules).

Hopefully that's a bit clearer?

Michael

Reply | Permalink

Using dovecot-lda with vpopmail valias database table

That's clear now, even though this can be a solution suitable just for servers with a small bunch of users and for administrators who know what they are doing, otherwise patching qmailadmin and/or dovecot would be needed. Anyway it's good to know. Thank you 

Reply | Permalink

vpopmail installation issue

Hi Mr Roberto,

i am facing an issue while running this command "make install-strip", below is the message:

/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x0): multiple definition of `MYSQL_READ_SERVER'; vconvert.o:(.bss+0x0): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x8): multiple definition of `MYSQL_READ_PORT'; vconvert.o:(.bss+0x8): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x10): multiple definition of `MYSQL_READ_SOCKET'; vconvert.o:(.bss+0x10): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x18): multiple definition of `MYSQL_READ_USER'; vconvert.o:(.bss+0x18): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x20): multiple definition of `MYSQL_READ_PASSWD'; vconvert.o:(.bss+0x20): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x28): multiple definition of `MYSQL_READ_DATABASE'; vconvert.o:(.bss+0x28): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x30): multiple definition of `MYSQL_UPDATE_SERVER'; vconvert.o:(.bss+0x30): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x38): multiple definition of `MYSQL_UPDATE_PORT'; vconvert.o:(.bss+0x38): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x40): multiple definition of `MYSQL_UPDATE_SOCKET'; vconvert.o:(.bss+0x40): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x48): multiple definition of `MYSQL_UPDATE_USER'; vconvert.o:(.bss+0x48): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x50): multiple definition of `MYSQL_UPDATE_PASSWD'; vconvert.o:(.bss+0x50): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x58): multiple definition of `MYSQL_UPDATE_VPORT'; vconvert.o:(.bss+0x58): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x60): multiple definition of `MYSQL_UPDATE_DATABASE'; vconvert.o:(.bss+0x60): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:552: vconvert] Error 1
make[2]: Leaving directory '/usr/local/src/vpopmail-5.4.33'
make[1]: *** [Makefile:714: install-recursive] Error 1
make[1]: Leaving directory '/usr/local/src/vpopmail-5.4.33'
make: *** [Makefile:1037: install-strip] Error 2

what shoud I do next? any settings need to be done in vpopmail folder?

Thank you

Regards, Kenny

Reply | Permalink

vpopmail installation issue

Today I released two patches, one for qmail and another for vpopmail, which solve these compilation breaks.

Reply | Permalink

vpopmail installation issue

No idea... any suspicious message from configure & make commands?

Reply | Permalink

vpopmail installation issue

Hi Mr Roberto,

my Linux is openSUSE Tumbleweed

mysql is MariaDB version 10.4.14

while running the configure command no issue, the summary as below:

vpopmail 5.4.33
Current settings

vpopmail directory = /home/vpopmail
domains directory = /home/vpopmail/domains
uid = 89
gid = 89
roaming users = OFF --disable-roaming-users (default)
password learning = ON --enable-learn-passwords
md5 passwords = ON --enable-md5-passwords (default)
file locking = ON --enable-file-locking (default)
vdelivermail fsync = OFF --disable-file-sync (default)
make seekable = ON --enable-make-seekable (default)
clear passwd = ON --enable-clear-passwd (default)
user dir hashing = ON --enable-users-big-dir (default)
address extensions = ON --enable-qmail-ext
ip alias = OFF --disable-ip-alias-domains (default)
onchange script = OFF --disable-onchange-script (default)
domain quotas = OFF --disable-domainquotas (default)
auth module = mysql --enable-auth-module=mysql
mysql replication = OFF --disable-mysql-replication (default)
sql logging = ON --enable-sql-logging
mysql limits = OFF --disable-mysql-limits (default)
SQL valias table = OFF --disable-valias (default)
auth inc = -I/usr/include/mysql
auth lib = -Xlinker -R -Xlinker /usr/lib64/mysql -L/usr/lib64/mysql -lmysqlclient -lz -lm
system passwords = OFF --disable-passwd (default)
pop syslog = show failed attempts with clear text password --enable-logging=p
auth logging = ON --enable-auth-logging (default)
all domains in one SQL table = --enable-many-domains (default)
spamassassin = OFF --disable-spamassassin (default)
maildrop = OFF --disable-maildrop (default)

but when i tried to run "make install-strip", the error message pop up :

gcc -o vdominfo vdominfo.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib64/mysql -L/usr/lib64/mysql -lmysqlclient -lz -lm -lcrypt
gcc -o vconvert vconvert.o libvpopmail.a -Xlinker -R -Xlinker /usr/lib64/mysql -L/usr/lib64/mysql -lmysqlclient -lz -lm -lcrypt
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x0): multiple definition of `MYSQL_READ_SERVER'; vconvert.o:(.bss+0x0): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x8): multiple definition of `MYSQL_READ_PORT'; vconvert.o:(.bss+0x8): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x10): multiple definition of `MYSQL_READ_SOCKET'; vconvert.o:(.bss+0x10): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x18): multiple definition of `MYSQL_READ_USER'; vconvert.o:(.bss+0x18): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x20): multiple definition of `MYSQL_READ_PASSWD'; vconvert.o:(.bss+0x20): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x28): multiple definition of `MYSQL_READ_DATABASE'; vconvert.o:(.bss+0x28): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x30): multiple definition of `MYSQL_UPDATE_SERVER'; vconvert.o:(.bss+0x30): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x38): multiple definition of `MYSQL_UPDATE_PORT'; vconvert.o:(.bss+0x38): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x40): multiple definition of `MYSQL_UPDATE_SOCKET'; vconvert.o:(.bss+0x40): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x48): multiple definition of `MYSQL_UPDATE_USER'; vconvert.o:(.bss+0x48): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x50): multiple definition of `MYSQL_UPDATE_PASSWD'; vconvert.o:(.bss+0x50): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x58): multiple definition of `MYSQL_UPDATE_VPORT'; vconvert.o:(.bss+0x58): first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: libvpopmail.a(libvpopmail_a-vauth.o):(.bss+0x60): multiple definition of `MYSQL_UPDATE_DATABASE'; vconvert.o:(.bss+0x60): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:552: vconvert] Error 1
make[2]: Leaving directory '/usr/local/src/vpopmail-5.4.33'
make[1]: *** [Makefile:714: install-recursive] Error 1
make[1]: Leaving directory '/usr/local/src/vpopmail-5.4.33'
make: *** [Makefile:1037: install-strip] Error 2

do we need to define MYSQL data in vmysql.h?

thank you

Reply | Permalink

vpopmail installation issue

I didn't test it against mariadb-10.4, but I would try to declare with #ifndef those variables in mysql.h

Reply | Permalink

vpopmail installation issue

Hi Mr Roberto,

i deleted the vpopmail setup folder and extracted the zip file again, then this time i just run a "./configure" without any options and then "make install-strip", this time no error came out... then i tried to run again "./configure" with options then "make install-strip" .. no more error popup.

i continued your steps until netqmail setup which mean i done all the Patching steps. Now i hit another error, while i run "make setup check" in netqmail-1.06 folder, i got below error:

./load qmail-qmtpd rcpthosts.o control.o constmap.o \
received.o date822fmt.o now.o qmail.o cdb.a fd.a wait.a \
datetime.a open.a getln.a sig.a case.a env.a stralloc.a \
alloc.a substdio.a error.a str.a fs.a auto_qmail.o
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: received.o:/usr/local/src/netqmail-1.06/received.c:24: multiple definition of `relayclient'; qmail-qmtpd.o:/usr/local/src/netqmail-1.06/qmail-qmtpd.c:76: first defined here
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: received.o:/usr/local/src/netqmail-1.06/received.c:25: multiple definition of `relayclientlen'; qmail-qmtpd.o:/usr/local/src/netqmail-1.06/qmail-qmtpd.c:77: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:1591: qmail-qmtpd] Error 1

any idea?

Thank you

Reply | Permalink

vpopmail installation issue

I suppose you are compiling with gcc 10. Look at this https://gcc.gnu.org/gcc-10/porting_to.html

Reply | Permalink

vpopmail installation issue

It seems the same kind of error of vpopmail compilation.. did you try to download the sources, patching and compiling again?

Reply | Permalink

vpopmail installation issue

Hi Mr Roberto,

yes, i have redownloaded again the netqmail-1.06 file from your source and also the original source, then patch again.. but no luck.. both also same issue... what i have done, i just patch the file which only with smtp-auth, qmail-tls and force-tls. then it's works.

After that, when i tried to start Qmail and i found that the Daemontool was not start. for OpenSuse Tumbleweed, no more /etc/inittab use in the system, so what i have done, i need to ln that svscanboot file to /etc/rc.d/ then add it as auto start then completed Qmail Setup.

Thanks for the help.

Reply | Permalink

vpopmail installation issue

In the event of a systemd linux it is sufficient to start all services by rc.local, which should be created as a service in systemd

Reply | Permalink

vchkpw auth errors

May need to fix suid permissions for vpopmail's vchkpw after compiling to avoid auth errors.

eg

chmod ug+s /home/vpopmail/bin/vchkpw

Reply | Permalink

vchkpw auth errors

It wouldn't be better to run qmail-smtpd as vpopmail:vchkpw instead of letting everyone (not only qmail-smtpd) execute vchkpw with the owner's priviledges?

Reply | Permalink

libev missing

Hello Roberto,

I think I've found a small error in your guide: the latest available libev version is 4.27 and not 4.22: http://dist.schmorp.de/libev/libev-4.27.tar.gz

Ciao !

Reply | Permalink

valias doesn't work

Hello,

For some reason, vpopmail valias (i.e., storing valiases inside the MySQL database) doesn't work with chkuser, even if we configure both to do so. With valiases stored inside the database, vchkuser will reject emails sent to aliases (no mailbox). At least with me, chkuser only recognized valiases using the dot-qmail format. So, make sure to compile vpopmail with --disable-valias and --enable-qmail-ext as instructed, and remember that you will need to configure dot-qmail files for your aliases in the /home/vpopmail/domain/DOMAINNAME directory.

Reply | Permalink

Vusage configure error

I get this message during the configure phase of vusage and can't progress from there:

configure: error: No vauth_getpw in libvpopmail

So I am proceeding without implementing vusage (I also don't really acare about user quotas) so I hioe this will still work

Reply | Permalink

Vusage configure error

I faced this issue myself a couple of days ago on a Debian 11. Unfortunately the Luca's fix below didn't help.

I realized that, for unknown reasons, the configure is not linking the libmysqlclient libraries. But patching the configure not to break at that point results in a successfull compilation when make is runned (it finds libmysqlclient). I have vusaged running apparently with no issues for now.

Have a look to this patch

Reply | Permalink

Vusage configure error

Same here, OS: Ubuntu 18.04

Reply | Permalink

Vusage configure error

look here (first item on google!) http://vchkpw.inter7.narkive.com/ftLwnnZq/vusaged-compile-error

Anyway everything will work even without vusaged

Reply | Permalink

Vusage configure error

Which unfortunately doesn't provide a solution...

If anyone managed to workaround this issue plz share here

Reply | Permalink

Vusage configure error

Try this:

LIBS=`head -1 /home/vpopmail/etc/lib_deps` ./configure --with-vpopmail=/home/vpopmail

Reply | Permalink

Vusage configure error

it worked for me

Reply | Permalink

--disable-valias

Hi Roberto,

As far I know and dovecot-lda is concerned it is not the presence of the configuration flag --enable-valias that hinders dovecot LDA from delivering to aliases it is the absence of a .qmail-'alias' alias file

Eric

Reply | Permalink

if the aliases are stored in

if the aliases are stored in the database, why the .qmail-alias is needed?

Reply | Permalink

valias

Hi Roberto,

I was only trying to point out that dovecot-lda is not affected by the --disable-valias/--enable-valias flags. On the other hand vdelivermail is affected and will use dot-qmail files in one case and the virtual alias database in the other case.
Dovecot-lda and --enable-valias can live quite happily together as long as you use dot-qmail files for you aliases.

Eric

Reply | Permalink

I agree. I will clarify this

I agree. I will clarify this in the lines above

Reply | Permalink

libev Version changed

Hi Roberto!

The libev 4.11 not exits, this changed to 4.22, at link http://dist.schmorp.de/libev/libev-4.22.tar.gz

Reply | Permalink

Permission issue on tcp.*

First of all, Roberto - THANK YOU for taking the time to put this resource together! I've formerly used JMS' tutorials etc but that was years ago. Once qmail etc is set up and working, you almost never have to touch it again except for security updates or maintenance so it's easy to forget the inner workings!

I have everything going so far but haven't been able to get passed the testing stages; When I telnet to 587, the logs for qmail-submission gives me this:

warning: dropping connection, unable to read /home/vpopmail/etc/tcp.submission.cdb: access denied 

Can you please confirm what the perms are supposed to be? Right now they're owned by root at 644. Any pointers on this would be greatly appreciated!!

Reply | Permalink

Hi Wlad,

Hi Wlad,

yes the priviledges are correct. It's strange because every user should be able to read that file.. 

Anyway, who is the user who runs qmail-smtpd and qmail-submission? If you migrated from JMS configuration you may have to check/adjust the priviledges of the ~vpopmail/ dir.  In particular I suggest to check if the vpopmail:vchkpw userIDs are 89:89 (if I remember well JMS configuration uses non standard IDs for users..). 

Reply | Permalink

Ok... I feel stupid.

Ok... I feel stupid. ~vpopmail main dir was owned by root:root grrrr. Works now. ALL those dang hours - that happens when it's late, going on no sleep :) Again Roberto, thank you for this great guide! Lots of Coffee incoming to you haha

Reply | Permalink

ps -ef|grep qmail

ps -ef|grep qmail
root       606  1831  0 11:17 pts/0    00:00:00 grep --color=auto qmail
root      1865  1863  0 Jan08 pts/0    00:00:00 supervise qmail-smtpd
root      1871  1863  0 Jan08 pts/0    00:00:00 supervise qmail-send
root      1875  1863  0 Jan08 pts/0    00:00:00 supervise qmail-submission
qmaill    1877  1866  0 Jan08 pts/0    00:00:00 /usr/local/bin/multilog t s16000000 n200 /var/log/qmail/smtpd
qmaill    1879  1872  0 Jan08 pts/0    00:00:00 /usr/local/bin/multilog t s16000000 n200 /var/log/qmail/send
qmaill    1881  1874  0 Jan08 pts/0    00:00:00 /usr/local/bin/multilog t /var/log/qmail/vpopmaild
qmaill    1884  1876  0 Jan08 pts/0    00:00:00 /usr/local/bin/multilog t s16000000 n200 /var/log/qmail/submission
qmails   16495  1871  0 02:13 pts/0    00:00:00 qmail-send
vpopmail 16497  1865  0 02:13 pts/0    00:00:00 /usr/local/bin/tcpserver -v -H -R -l 0 -x /home/vpopmail/etc/tcp.smtp.cdb -c 20 -u 89 -g 89 0 25 /var/qmail/bi                                                                    n/qmail-smtpd
vpopmail 16499  1875  0 02:13 pts/0    00:00:00 /usr/local/bin/tcpserver -v -H -R -l 0 -x /home/vpopmail/etc/tcp.submission.cdb -c 20 -u 89 -g 89 0 587 /var/q                                                                    mail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true
root     16508 16495  0 02:13 pts/0    00:00:00 qmail-lspawn | /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
qmailr   16509 16495  0 02:13 pts/0    00:00:00 qmail-rspawn
qmailq   16510 16495  0 02:13 pts/0    00:00:00 qmail-clean
qmails   16511 16495  0 02:13 pts/0    00:00:00 qmail-todo
qmailq   16512 16495  0 02:13 pts/0    00:00:00 qmail-clean

Wow long/ugly past - but all ownerships seem fine from looking at this and I'm perplexed. As for JMS, that was years ago on a separate server. I founds this guide last night and like the fact that things can be updated with the most current - in regards to paches etc. Versions of other sources:

Vpopmail: 5.4.33,
libev: 4.22
netqmail: 1.06
libsrs2: 1.0.18
libdomainkeys: 0.69

And yes, id -g/-u vpopmail:vchkpw are both 89; I've turned every kind of permission based type of app off (apparmor for instance), every firewall etc etc with no change. I got no errors during compilation and did everything step by step and in order on this brand new server running ubuntu with multiple IPs. Speaking of IPs that was something I was going to ask about as well on how to specifically bind 587/25 to a specific IP but as long as MX records are set up properly there shouldn't be a need for that.

Roberto, sorry about the long post - just trying to figure this one out as everything seems to be running fine and like you said perms are right...

Reply | Permalink

Charset?

Hello,

Some clients change their passwords with non-ascii char like "?š??ýáíé", but these characters are broken in MySQL as clear passwords. Any idea what charset set to Mysql db or how to set vpopmail to use UTF-8? Everythink else is in UTF...

Anyway if i do /home/vpopmail/bin/vuserinfo user@domain.cc clear password is ok, but in MySQL

SELECT pw_clear_passwd FROM vpopmail WHERE  pw_name .... password is broken

Reply | Permalink

Hi, which tool are you using

Hi, which tool are you using to change the pwd? I can use UTF8 characters here when connecting via imap/roundcube pwd plugin, but if I try with qmailadmin I get an error...

PS: and I can retrieve the clear pwd with an SQL query

Reply | Permalink

Solved :)It was

Solved :)

It was misconfigured MySQL. I have no idea what charset did connection use when it was not configured but when I set this to my.cnf it start working correctly

[client]

default-character-set=utf8

[mysqld]

collation-server = utf8_unicode_ci
init-connect= 'SET NAMES utf8'
character-set-server=utf8


[mysql]

default-character-set=utf8

Other problem is password from outlook... But I think there is no solution for clients using non UTF8 charset...

Reply | Permalink

Vpopmail configure

Hello!

While running ./configure on Gentoo systems (probably on other systems also) you have to add following options:

--enable-incdir=/usr/include/mysql \
--enable-libdir=/usr/lib64/mysql

Vpopmail works also with MariaDB 5.5.37 

BTW THX for great tutorial ;)

Best Regards

Winnetou

Reply | Permalink

Hello Winnetou This

Hello Winnetou

This is the default location for mysql and mariadb, and I suppose that normally you don't even need to add those options, as the library will be automatically found. I  just added them for those (like me) who compile from source or don't use the package provided by their own distro

Reply | Permalink

Hello!I'm aware that

Hello!

I'm aware that those paths are default and ./configure should find them, but it didn't, that's why I decided to post a comment ;)

When I run ./configure without those 2 optins it failed. I was installing qmail and vpopmail on freshly installed Gentoo 

Reply | Permalink

If I understand well,

If I understand well, omitting those two options gets vpopmail not to find the libraries?

Anyway as soon as possible I will add a clarification on the purpose

Reply | Permalink

I am installing vpopmail and

I am installing vpopmail and vusaged on CentOS release 6.4 (Final)

but i encountered the error on vusaged.

[root@Dev vusaged]# /etc/rc.d/rc.vusaged start
Starting vusaged: failed

What is the problem? I am googling bu i couldn't found the solution.

please help me!!

Reply | Permalink

can you dostrace

can you do

strace /etc/rc.d/rc.vusaged start

and see what happens?

Reply | Permalink

it works now

It works now. I uninstalled the libev source then installed libev using yum rpmforge repository.

# make uninstall
# yum -y install libev libev-devel

Sorry for the late reply. I totally forgot about this. I gave up last time and set up qmailtoaster on Centos 6 which was successful.

Now, I am experimenting qmail again using this setup. :)

Reply | Permalink