Comments on The Perfect Server - Debian 12 (Bookworm) with Apache, BIND, Dovecot, PureFTPD and ISPConfig 3.2

This tutorial shows how to prepare a Debian 12 server (with Apache2, BIND, Dovecot) to install ISPConfig 3.2. The web hosting control panel ISPConfig 3 allows you to configure the following services through a web browser: Apache web server, Postfix mail server, Dovecot IMAP/POP3 server, MySQL, BIND nameserver, PureFTPd, SpamAssassin, ClamAV, and many more.

47 Comment(s)

Add comment

Please register in our forum first to comment.

Comments

By: lnxgs at: 2023-08-18 13:25:34

unrar package is not available for Debian 12, replace it with unrar-free.

By: till at: 2023-08-18 13:59:44

The unrar package is available on Debian 12:

root@debian12:~# apt install unrar

Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

unrar is already the newest version (1:6.2.6-1).

0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

By: JOP at: 2023-08-20 14:29:36

thank you, works

By: JOP at: 2023-08-20 14:27:02

roundcube doesn't work with this setup, error 403 appears. You have to change directory path in roundcobe.conf. Remove "public_html".

$ nano /etc/apache2/conf-available/roundcube.conf

# change "<Directory /var/lib/roundcube/public_html/>" to

<Directory /var/lib/roundcube/>

# reload apache2

$ systemctl reload apache2

Roundcube On debian 10 error 403 | Page 2 | Howtoforge - Linux Howtos and Tutorials

By: till at: 2023-08-20 15:04:25

RoundCube on ISPConfig setups is used via port 8081, and it works fine there. The URL is https://server.yourdomain.tld:8081/webmail and this is also set as URL for the webmail button in ISPConfig GUI. You probably tried accessing RoundCube via a global alias, which is not used anymore on recent ISPConfig installations as it might cause security issues and will fail on secured websites.

By: James Kinuthia at: 2023-10-03 11:42:43

Thanks. It works!

By: Costas GIAKAMOZIS at: 2023-08-25 08:56:49

I have been steadily upgrading my (originally Debian 10 Buster) Server with sudo apt update  && sudo apt full-upgrade and it is happily still working 8-)

By: RobertoS at: 2023-08-27 09:31:01

And add an alias line for the apache /webmail alias and one for /roundcube, you can add the line right at the beginning of the file:

Alias /roundcube /var/lib/roundcube/public_html

Alias /webmail /var/lib/roundcube/public_html

By: till at: 2023-08-27 11:08:57

That's not the setup ISPConfig 3.2 is using, ISPConfig provides access to RoundCube on port 8081 and these aliases you added are not used on an ISPConfig system. But you are free of course to make a different custom setup and create any aliases you like, but be aware that the aliases you added will not work on websites secured by the website chroot function in ISPConfig.

By: devotee at: 2023-09-11 01:08:37

Thanks a lot for the tutorial, I've just made a fresh installation on a new server and the process went smoothly. Just one note. To avoid the DEPRECATION warnings about apt-key, repository keys for Rspamd and GoAcess should be added like this:

wget -O - https://rspamd.com/apt-stable/gpg.key |tee /etc/apt/trusted.gpg.d/rspamd.ascwget -O - https://deb.goaccess.io/gnugpg.key |tee /etc/apt/trusted.gpg.d/goaccess.asc

Regarding the roundcube discussion, I'm used to host the webmail on https://mail.domain.com since it seems intuitive and practical (ssl certificate warnings aside). I'll try a couple of things later on but I'd love for ISPConfig to support wildcard certificates for these situations. I'm not really sure why it's more secure to just put roundcube on a different port (8081).

By: till at: 2023-09-11 07:13:38

Using subdomains for webmail is fine and basically the same that the port 8081 vhost is doing. You don't even need a wildcard SSL cert for that, just create a website mail.domain.com and install a webmail client of your choice there, you can then add further subdomains to that website for additional domains that you host (up to max. 100 domains), the additional subdomains will get added to the SSL cert of that site automatically. The discussion you referred to is about port 8081 vs. global directory aliases and not about subdomains to access webmail.

By: Bill Schall at: 2023-09-13 12:13:00

In Step 7, the article states to answer no to unix socket authentication.  However, when I go to edit the /etc/mysql/debian.cnf file there is a comment/warning at the top that says:

"THIS FILE IS OBSOLETE, STOP USING IT IF POSSIBLE. This file exists only for backward compatability for tools that run '--defaults-file=/etc/mysql/debian.cnf' and have root level access to the local filesystem.  With those permissions one can run mariadb directly anyway thanks to unix socket authentication and hence this file is useless. THIS FILE WILL BE REMOVED IN A FUTURE DEBIAN RELEASE."So, should I re-run mysql_secure_installation and choose Yes for unix socket authentication?

By: till at: 2023-09-13 13:38:47

> So, should I re-run mysql_secure_installation and choose Yes for unix socket authentication?

No. You should follow the tutorial if you plan to use this system to install ISPConfig on it.

By: SamTzu at: 2023-09-19 00:51:16

I also noticed that Roundcube won't work on http://domain.com/webmail address unless you remove public_html/ on /etc/apache2/conf-available/roundcube.conf

By: claudirleindecker at: 2023-09-20 02:35:21

Hi... I'm having trouble: Debian 12, installed ok. ISPConfig and its dependencies, everything is perfect https://www.thres.com.br:8080/ ok. http://www.thres.com.br/phpmyadmin/ ok. Normal access to everything, I just don't have access to webmail:www.thres.com.br/webmailwww.thres.com.br/roundcube All.... Forbidden You don't have permission to access this resource.

 

By: till at: 2023-09-20 07:14:11

> webmail:www.thres.com.br/webmailwww.thres.com.br/roundcube All.... Forbidden You don't have permission to access this resource.

Webmail is installed in the apps vhost on port 8081, and you should use phpmyadmin through apps vhost as well for security reasons, so the URL is:

https://www.thres.com.br:8081/phpmyadminhttps://www.thres.com.br:8081/webmail

The easiest way to access apps on the correct port is using the buttons in ISPConfig for webmail and phpmyadmin access. These point to the right URL automatically.

By: claudirleindecker at: 2023-09-20 19:20:27

Hello... Till I tried your suggestion, but only phpmyadmin worked: https://www.thres.com.br:8081/phpmyadmin/ But I can't access Webmail, it still shows, I did it using the button inside ISPConfig: Forbidden You don't have permission to access this resource. https://www.thres.com.br:8081/webmail

By: Dge-06 at: 2023-09-29 10:52:57

Thank you for this (almost) excellent tutorial :) When I try to access phpmyadmin I get a 404 error...How to do ? THANKS

By: Luis Diego at: 2023-10-02 02:09:36

Greetings.

make the hostname (domain) change

and now the ispconfig panel gives me a sertified error.

How can I renew the ispconfig panel certificate (Let's Encrypt)

or do I have to reinstall ISPCONFIG?

Thank you

By: Paulus de Boskabouter at: 2023-10-05 12:05:32

Nice at last Rouncube on Debian 12.. But... I have some issues.

Point 1 and point 5 are the same lines and artikel.

Point 4 (hosts) why is the ip 192.168.0.100 and not 127.0.1.1

Point 7 by master.cf (important) ask for remove # in front of SMTPS, there isn't any.

and by debian.cf in MYSQL password (red lines) is there any spaces or marks between the characters.

Point 11 FTPD do Ineed to install that, I dont use any ftp anymore (to old)

Son than in Point 15 in jail.local I didn't insert the line with pure ftpd (because of point 11)

And when I'm finished and run a apt-get update && apt-get upgrade I see this line:

N: Ignoring file 'rspamd.list CODENAME=bookworm' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension

W: GPG error: https://rspamd.com/apt-stable bookworm InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FFA232EDBF21E25E

E: The repository 'http://rspamd.com/apt-stable bookworm InRelease' is not signed.

N: Updating from such a repository can't be done securely, and is therefore disabled by default.

N: See apt-secure(8) manpage for repository creation and user configuration details.

W: GPG error: https://deb.goaccess.io bookworm InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 97BD1A0133449C3D

E: The repository 'https://deb.goaccess.io bookworm In Release' is not signed.

N: Updating from such a repository can't be done securely, and is therefore disabled by default.

N: See apt-secure(8) manpage for repository creation and user configuration details.

And when I'm in the program Rouncube and try to change setting I see SOAP error's.

Is there something I missed or is there a way to fix this.

 

And at last this is not a negatieve comment just try to get some info and learn something.

And Till I appreciate you're lots of work to do this.

 

Paul.

By: till at: 2023-10-05 14:17:39

Thank you for the notice. I've updated the instructions to fix the missing key issue. I changed the wording regarding smtps, which is now named submissions, the config was fine in this regard already. I recommend you use the real IP of the server in the hosts file and not a localhost alias IP. If you are unsure if there are spaces in a file, just copy & paste the lines. And as mentioned in the tutorial, please always use the auto-installer on Debian 12.

By: Paulus de Boskabouter at: 2023-10-06 13:45:50

Ok, i"m gone build that and test it.

Thanks...

last issue: after instal and do upgrade this is showing.

Configuration file '/etc/rspamd/rspamd.conf'

 ==> Modified (by you or by a script) since installation.

 ==> Package distributor has shipped an updated version.

   What would you like to do about it ?  Your options are:

    Y or I  : install the package maintainer's version

    N or O  : keep your currently-installed version

      D     : show the differences between the versions

      Z     : start a shell to examine the situation

 The default action is to keep your current version.

*** rspamd.conf (Y/I/N/O/D/Z) [default=N] ? 

 

Now what .... :-)

 

Paul.

By: Paulus de Boskabouter at: 2023-10-16 13:43:24

I selected N and see what happend.

By: Paulus de Boskabouter at: 2023-10-16 13:42:33

I still have trouble to get things running.

I keep the warning that my site is not to be trusted (NET::ERR_CERT_AUTHORITY_INVALID) I can't find where this is comming from.

And I try to get the server listing to mail.domain.com insted of mail.domain.com:8081/webmail

The other thing is for the roundcube plugin's you have to set to https://panel.example.com:8080 but what is panel how does this work....

 

Paul.

By: till at: 2023-10-16 13:53:02

Please use the forum if you like to get help with your config problem: https://forum.howtoforge.com/#ispconfig-3.23

By: 3RRR at: 2023-10-23 16:27:10

Installation on an external Debian 12 minimal server. 

In chapter 11 the following difficulty arises - how can I solve this:root@test:~# systemctl daemon-reloadroot@test:~# quotacheck -avugm

quotacheck: Your kernel probably supports ext4 quota feature but you are using external quota files. Please switch your filesystem to use ext4 quota feature as external quota files on ext4 are deprecated.

quotacheck: Check /dev/vda3 [/] donequotacheck: Cannot stat old user quota file //quota.user: File or directory not found. Usage will not be subtracted.quotacheck: Cannot stat old group quota file //quota.group: File or directory not found. Usage will not be subtracted.quotacheck: Cannot stat old user quota file //quota.user: File or directory not found. Usage will not be subtracted.quotacheck: Cannot stat old group quota file //quota.group: File or directory not found. Usage will not be subtracted.quotacheck: 6621 directories and 53315 files checked.quotacheck: Old file not found.quotacheck: Old file not found.

Thanks for the great work!

By: 3RRR at: 2023-10-27 17:02:23

The post above (2023-10-23 16:27:10) is not relevant - ignore.Everything works fine.

By: Curtis Maurand at: 2023-11-07 17:01:37

Hello,

Did I read this correctly?  Ispconfig now runs on php8.2?

 

By: till at: 2023-11-07 18:00:19

Yes, since we added support for Debian 12.

By: Mateus Takz at: 2023-11-28 04:06:56

 asked to install cron. apt-get install cron

By: kameleon1er at: 2024-01-19 06:43:43

Hi, finish fresh install, but can't access to phpmyadmin. Apt reconfigure, note all steps in diferrent blue screen, but -phpmyadmin refuse to let me in. Add this in config.inc.php :  

-------

 

if (!empty($dbport) || $dbserver != 'localhost') {

 

        $cfg['Servers'][$i]['connect_type'] = 'tcp';

 

        $cfg['Servers'][$i]['port'] = $dbport;

 

    }

 

 

 

/* by custom trys */

 

$cfg['Servers'][$i]['user'] = 'phpmyadmin'; 

    $cfg['Servers'][$i]['password'] = 'mypassword'; /

}

 

 

----------

But still kicked me out.

By: matieh at: 2024-02-23 19:24:22

Thanks, Till! Is Amavisd enabled on this server tutorial? From the ISPconfig control panel, I've changed the content filter for the email from Rspamd to Amavisd, and my email stopped working!

By: till at: 2024-02-24 06:22:45

Amavis is no longer used in ISPConfig; it has been replaced by the better, faster, and less resource-intensive alternative Rspamd. The Spamfilter used on all recent installations is Rspamd; the Amavis option exists just for old legacy systems and is not used on Debian 12. So take care to switch Spamfilter back to Rspamd in ISPConfig.

By: matieh at: 2024-02-29 00:32:13

You are the best! Thanks, Till.

By: Luis Diego at: 2024-04-10 20:56:35

Greetings.

It is possible to close user authentication through port 25.

I receive too many daily authentication attacks on port 25.

Use port 25 only for MTA.

If anyone can help me I would appreciate it.

Thank you

By: isisky at: 2024-04-18 16:07:56

I followed every step, webmail is working but when trying to access phpmyadmin through https://ip:8081/phpmyadmin/ 

I'm getting : 

Not Found

The requested URL was not found on this server.

Any idea what to do there ?

By: JOP at: 2024-08-14 10:22:39

got the following error by rspam repository after fresh install.

- The repository 'http://rspamd.com/apt-stable lsb_release Release' does not have a Release file.

I did what in "https://github.com/rspamd/rspamd.com/issues/495" advaised to do and it seems to work.

Any problem not currently seeing doing so?

 

What I did (copy/past):

sudo apt-get install -y lsb-release wget # optional

CODENAME=`lsb_release -c -s`

sudo mkdir -p /etc/apt/keyrings

wget -O- https://rspamd.com/apt-stable/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/rspamd.gpg > /dev/null

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt-stable/ $CODENAME main" | sudo tee /etc/apt/sources.list.d/rspamd.list

echo "deb-src [arch=amd64 signed-by=/etc/apt/keyrings/rspamd.gpg] http://rspamd.com/apt-stable/ $CODENAME main"  | sudo tee -a /etc/apt/sources.list.d/rspamd.list

sudo apt-get update

sudo apt-get --no-install-recommends install rspamd

By: kozcsa at: 2024-10-06 08:28:53

Hi everyone!

I need your help. I followed all the instructions, no errors occurred, and the installation went smoothly. However, I still can't get SSL encryption to work! The site always returns this message on the https:// "ERR_SSL_PROTOCOL_ERROR".

By: till at: 2024-10-06 09:42:07

Please post in the support forum to get help with your issue. here is the checklist to narrow down what the reason for LE refusing to issue a certificate is: https://forum.howtoforge.com/forums/general.25/

By: haluk yildirim at: 2024-10-28 03:18:56

10 Install Let's Encrypt

easier,

/root/.acme.sh/acme.sh --set-default-ca --server letsencrypt

 

 

By: cari at: 2025-01-28 15:00:50

I couldnt get phpmyadmin to authenticate with mysql, it was always "Access denied for user 'root'@'localhost' (using password: YES)"

solution was to enter the password in /etc/mysql/debian.cnf WITHOUT QUOTES

 

then it went smoothly:

~# dpkg-reconfigure phpmyadminDetermining localhost credentials from /etc/mysql/debian.cnf: succeeded.Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.confchecking privileges on database phpmyadmin for root@localhost: user creation needed.granting access to database phpmyadmin for root@localhost: success....

By: BlueScreenTT at: 2025-03-12 19:49:32

Hi

 

I have used these tutorials and resulting servers for many years and this time is the first time i get this error

when installing apache and all the other packages i get an error that the processor dont support hyperscan and i have to chose to install or not

i try not and it errors on  libhyperscan5 

will it still work if i choose yes and install the package ?

 

By: till at: 2025-03-13 06:37:55

Hyperscan is not used by ISPConfig and not installed or used by this tutorial. Take care to start with a fresh and empty system. Also, better use the auto-installer, as mentioned at the beginning:

 

https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/

By: BlueScreenTT at: 2025-03-12 20:48:28

a2enmod proxy_fcgi setenvifa2enconf php8.2-fpmreturns command not found :-(

By: till at: 2025-03-13 06:39:13

These commands are there when you follow the tutorial step-by-step. You might want to start ith a fresh system and use the auto-installer: https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/

By: alessius80 at: 2025-04-17 14:57:27

I have imported ova in vmware. What is the default user to roundcube. I have tried user: [email protected] password: howtoforge but dosen't work

By: till at: 2025-04-17 17:25:04

Roundcube is an email client; it has no default user. You log in to RoundCube with your email address and mailbox password.