- Autore originale: http://www.inter7.com/vqadmin-sysadmin-webcontrol/
- Versione 2.4.3
- Changelog
- Scarica da github
- La mia vecchia patch
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
- 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
- Oct 19, 2024 (version 2.4.2)
 - Minor fix to view_domain.html
 - Minor fix to the html of list all domains
 - aclocal fix
- Jul 26, 2024 (version 2.4.1)
 - Fixed configure break. Trivial C test program breaks on gcc-14.1 due to missing headers (commit)
- Mar 5, 2024
 - version 2.4.0 marked as stable
- Jan 19, 2024
 - 2.4.0-beta.2
 * fixed a buffer overflow in domain.c (tx Bai Borko)
 * solved stringop-truncation warnings in domain.c and lang.c
- Dec 21, 2023
 - 2.4.0-beta released
 - new skin
 - vqadmin moved to github
- Jul 18, 2023
 patch updated
 - Italian translation file html/it updated, following the patch by Ali Erturk TURKER
 - the vqadmin source directory has been cleaned of unnececessary files
- Feb 18, 2023
 Added Ali Erturk TURKER's patch to my combo. Original patch here
Installazione
VQ_VERSION=2.4.3
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/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






 
 