vQadmin

11 febbraio 2026 by Roberto Puzzanghera 0 commenti

VqAdmin è un pannello di controllo su interfaccia web che consente di eseguire azioni che richiedono l'accesso a root — per esempio, aggiungere e cancellare domini.

Come si può vedere, VqAdmin ha una nuova versione con un nuovo aspetto mobile responsive, con tutte le mie vecchie patch incluse (compresa quella di ALI) e diverse correzioni e ripuliture del codice sorgente. Ho risolto tutti i warnings sia di autotools che di gcc e cambiato un paio di cose per poter rifare il tema html (guardare il changelog per maggiori dettagli). Come sempre i contributi nei commenti sono graditi.

PS: anche la parte apache è stata modificata e prima di fare l'aggiornamento è necessario guardare quali modifiche sono necessarie.

Have fun!

Changelog

  • Feb 18, 2026 (v. 2.4.7)
    - domain's users lists valiases too #4
    - bug fix in mod_domain.html: Mailing Lists domain limit was not copied correctly (ecce453)
  • Jan 31, 2026
    - relaylimits added to control files 4c5a859
    - disabled maintainer mode to avoid autotools regeneration on user builds #3
  • Jan 25, 2026
    - Domain's users listed alphabetically by domain and username #2 451da48
    - Dropped simsizelimit control file 868b8b2
  • Dec 06, 2024
    - added a patch to highlight users with restrictions and with admin privileges (PR #1, thanks Bai Borko)
    - added control files notlshosts_auto and tlsserverciphers

Installazione

VQ_VERSION=2.4.7
cd /usr/local/src
wget https://github.com/sagredo-dev/vqadmin/archive/refs/tags/v${VQ_VERSION}.tar.gz
tar xzf v${VQ_VERSION}.tar.gz
cd vqadmin-${VQ_VERSION}
chown -R root:root .

QMAILROOT=/var/www/qmail
./configure \
--enable-qmaildir=${QMAILROOT} \
--enable-cgibindir=${QMAILROOT}/cgi-bin
make
make install-strip

vQadmin verrà installato su /var/www/htdocs/qmail/cgi-bin/vqadmin. Eventualmente adattare la variabile QMAILROOT alla directory htdocs di apache.

Configurazione di Apache

vQadmin richiede una sua directory, protetta dall'accesso, con abiltazione all'esecuzione di CGI, per operare. Dentro il virtual host è necessario mettere

<Directory ${QMAILROOT}/cgi-bin/vqadmin">
    Require all denied
    Options ExecCGI
    AllowOverride AuthConfig
</Directory>
Alias /assets/ ${QMAILROOT}/cgi-bin/vqadmin/assets/ 
<Directory ${QMAILROOT}/cgi-bin/vqadmin/assets> 
    Require all granted 
</Directory>

E siccome se si installa vqadmin in un posto diverso da /cgi-bin esso non funzionerà poichè è configurato così già nei sorgenti (hardcoded per capirci), devi definire /cgi-bin come uno ScriptAlias

ScriptAlias /cgi-bin/ ${QMAILROOT}/cgi-bin/

Questo è il mio virtual host, nel quale ho sia vQadmin che qmailadmin. Spiegherò l'alias /image tra un attimo.

Define QMAILROOT /var/www/qmail
Define LOGDIR    /var/log/apache2

<VirtualHost *:443>
#       Include /path/to/sslstuff.conf
        ServerName yourdomain.net
        DocumentRoot ${QMAILROOT}
        ScriptAlias /cgi-bin/ ${QMAILROOT}/cgi-bin/
        AddHandler cgi-script .cgi .pl
        ErrorLog  ${LOGDIR}/qmailadmin_error_log
        CustomLog ${LOGDIR}/qmailadmin_access_log common
        <Directory ${QMAILROOT}>
            AllowOverride None
            Require all granted
        </Directory>
        <Directory ${QMAILROOT}/cgi-bin>
            AllowOverride None
            Options ExecCGI
            Require all granted
        </Directory>

        # VQADMIN 
       <Directory ${QMAILROOT}/cgi-bin/vqadmin> 
          Require all denied 
           Options ExecCGI 
           AllowOverride AuthConfig 
       </Directory> 
       Alias /assets/ ${QMAILROOT}/cgi-bin/vqadmin/assets/ 
       <Directory ${QMAILROOT}/cgi-bin/vqadmin/assets> 
           Require all granted 
       </Directory>
</VirtualHost>

Nota che qmailadmin e vqadmin sono sullo stesso host

Impostazione delle autorizzazioni di accesso

Nella directory dove abbiamo installato vQadmin c'è un file .htaccess. Diamoci un'occhiata:

# cd /var/www/qmail/cgi-bin/vqadmin

# ls -la
total 148
drwxr-xr-x 4 vpopmail vchkpw   4096 2010-07-26 21:53 ./
drwxr-xr-x 3 root     apache   4096 2010-07-26 21:43 ../
-rw-r--r-- 1 nobody   apache    112 2009-08-04 17:32 .htaccess
drwxr-xr-x 2 vpopmail vchkpw   4096 2009-08-17 11:26 html/
-rw-r--r-- 1 vpopmail vchkpw    865 2009-08-17 15:03 vqadmin.acl
-rwsr-sr-x 1 root     root   122592 2010-07-26 21:53 vqadmin.cgi*

# more .htaccess
AuthType Basic
AuthUserFile /etc/httpd/httpdpwd/vqadmin.passwd
AuthName "Authentication required"
Require valid-user

/usr/local/etc/httpdpwd/vqadmin.passwd è il file dove dobbiamo salvare l'account che avrà accesso a vQadmin via httpd. Creiamo un utente:

# mkdir -p /etc/httpd/httpdpwd
# chown apache:apache /etc/httpd/httpdpwd
# htpasswd -bc /etc/httpd/httpdpwd/vqadmin.passwd admin password

# more /etc/httpd/httpdpwd/vqadmin.passwd
admin:xxxxxxxxxxxxxx

Questo è tutto. Apriamo il browser e controlliamo https://yourdomain.net/cgi-bin/vqadmin/vqadmin.cgi

Aggiungi un commento

qmail notes

Pay me a coffee:

PayPal - The safer, easier way to pay online.

LXC scripts
Other contents
Guide per gli utenti
Ultimi commenti
Articoli recenti

RSS feeds