Comments on The Perfect Server - Ubuntu 20.04 with Apache, PHP, MariaDB, PureFTPD, BIND, Postfix, Dovecot and ISPConfig 3.2
This tutorial shows how to install an Ubuntu 20.04 LTS (Focal Fossa) server with Apache, BIND, Dovecot and ISPConfig 3.2. ISPConfig is a web hosting control panel that allows you to configure Email, Webserver, and DNS services easily through a web browser.
133 Comment(s)
Comments
Allright!! I already have a freshly installed server waiting for exactly this moment! Thanks!
Perhaps an idea for you to include somewhere in the setup guide that we need to perform the command : "apt install patch" before starting the ispconfig installer. I received an error message after entering the command " php -q install.php" that said "The patch command is missing. Install patch command and start installation again." After searching the forum here I found the solution so now the installer was able to start succesfully.
Hello
Can be done in Ubuntu 20
Installed Nginx, MySQL and bind completely
A separate installation of the patch command was not required on my systems. But I can add it.
Outstanding, and I mean OUTSTANDING tutorial. I have posted to GAB and Brighteon. Social (sorry, don't do facebook or twitter).
Thank you!
OMG this is such great tutorial. I can tell already I'm going to learn a ton just by going through the motions of setting it up. Thanks for such detailed work.
Am I missing something? It says there's a link to download the image, but for the life of me I can't find any download link for that.
The download link is in the menu on the right side of the page, near the top. Right below the big red download Icon.
Hi! The download does not work.
Try the download again, it works fine now.
Wow - this is an EXTREMELY well made tutorial! Thanks a lot for the time and professionalism put into this - it made able to do something I thought was much, much harder - and indeed, it would've been (for me) if not for this tutorial.
Just a few sidenotes if any future visitors should encounter the same issues as me:
1) quota setup: My fstab file didn't look remotely like yours:
/dev/mapper/server1--vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0Instead, mine was mapped with UUIDs. It now says:
UUID=62a4ff85-72b8-4b49-9aaa-e66f919b4b8d / ext4 usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 0
2) In my case, ispconfig3 worked fine but I couldn't log in with admin/admin. So I entered mariadb and changed the password for the admin user:
Log on to the mariadb as root, enter password when prompted:
mysql -u root -pThen enter the ispconfig db:
use dbispconfig;
Now update admin with the password admin:
UPDATE sys_user SET passwort = md5('admin') WHERE username = 'admin';And write "quit" to exit, and now the login admin/admin works.
Additional to my earlier comment; phpmyadmin didn't work for me. This was the solution in my case:
ln -s /etc/phpmyadmin/apache.conf/etc/apache2/conf-available/phpmyadmin.conf
a2enconf phpmyadmin
service apache2 restart
@jakobdam The Reason that you were not able to access phpmyadmin is that you missed to enable it during installation. See screenshots in chapter 8, you must navigate to the apache config option using tab key and enable the apache option by using the space key on your keyboard, so that the * shows up in the option field. If you miss that, then phpmyadmin will not work and you'll have to enable it later manually.
Regarding ispconfig password, the password is what you see in the installer, it is not admin, unless you enter the word admin.
The fstab file is different depending on your base setup, so it's normal that it does not look exactly as in the guide. But there are unlimited possible alterations, so only one is shown in the guide.
where are the downloads, can't find links??
This has been answered in the comments already, here again: The download link is in the menu on the right side of the page, near the top. Right below the big red download Icon.
I've been getting a lot of spam lately where the body of the message is base64 encoded. Once the body is decoded, it contains URLs that contain a server (e.g., t.hubspotfree.net). What I would like to do is discard any message containing the text "hubspotfree".
I can add it to Postfix's "body_checks" file, but that requires putting it in three times because it's base4 encoded. I tried editing the Spamassassin config files in /etc/spamassassin, but that doesn't seem to have any effect - I expect because it's using amavis, not SA. I tried entering into ISPConfig - with /hubspotfree/ as the text to match and DISCARD as the action. Still didn't catch a test message.
How is this supposed to work? Where do I put the stuff I want filtered or flagged as spam?
Thanks,
Bob
@Bob: Please post support questions in the ISPConfig forum here at howtoforge.
Everything is excellent in the manual. some details like .. quota settings were not of major importance as well Errors were encountered while processing:
amavisd-new
E: Sub-process / usr / bin / dpkg returned an error code (1)
fix it by removing # $ myhostname = "abc.def.ghi";
# Qualified Domain Name (FQDN) and remove the # at the beginning of the line.
#
#$ myhostname = "abc.def.ghi";
everything worked as expected ... thanks
regards
@Kart Michael: There is no need to edit that file, if amavis fails with this error, then it means that you did not configure the server hostname properly. As a wrong server hostname setup will give you more errors later when you start using the system, I highly recommend that you undo the change you made in the amavisd config file and instead fox your /etc/hostname file and server hostname, so that the command 'hostname -f' returns the correct FQDN hostname.
Great tutorial. Everything is working fine, but I stuck for many days now with the mailserver. I made the installiation on Alibaba Cloud in Hong Kong and I can not send emails (250 authenification fail) and I do not recieve emails; permanent error (SMTP error from remote mail server after RCPT TO:<[email protected]>: 550 5.1.1 <[email protected]>: Recipient address rejected: User unknown in local recipient table). It is the first time I have to set up a mailserver, an I thought it was done with this tutorial, but I see now thats not. May be someone can give me some links, topics or help what I still have to do, to get the mailserver working based on this tutorial. I read many other tutorial now and even one for Alibaba Cloud (How to Setup Email Server on Ubuntu 16.04 Alibaba ECS), but they all go different ways, from what I saw in this tutorial. thank you in advance
@Maik: The mail server is completely set up when you finished this guide, you just have to add your domain and mailboxes in ISPConfig. It is good that you asked for help instead of following another guide as mixing guides is a guarantee that you will mess up your setup. Please post your problem in the ISPConfig forum here at howtoforge if you need further help.
@Till: Thank you! Can it be possible, that I have a mix up with the IP addresses? I got 2 IP addresses from Alibaba Cloud: one they call internet IP and the other privat IP. Now I saw, that in ISPConfig under Server Config the used IP address is the privat IP and also under Sites/WebDomain it showed only the privat IP, which I used then, to save that site. Now, after I added in the DNS the Internet IP I can change under Sites/Webdomain to the internet IP, with the effect, that, if I go through the webbrowser to my site, it do not show the client side, but instead the index site under /var/www/html/. My question is, do the installation have to use the internet IP address or the privat IP address. One other thing I would like to ask you, because it is irritating for me. I have DNS Settings for the Domain in Alibaba Cloud under manage DNS and I have DNS Settings in ISPConfig. Do I have to make the same DNS settings in both, or only some in Alibaba DNS and the rest in ISPConfig. I hope the questions are not to basic or worse. I just need to know, where I have to look/search and I will get it working, but in the moment I am realy in the dark. Thank you, Maik
@Maik: Please use the forum to ask for help. the comments section is not a good place to discuss individual setup questions. Thanks!
Hi, I get the "SMTP Error (250): Authentication failed." when trying to send a mail via roundcube. Any ideas on how to fix this?
@Goedendag: Please use the forum to ask for help. the comments section is not a good place to discuss individual setup questions. Thanks!
It would be nice to add the correct username and password for the OVA root:howtoforge is not working !!!
@Ghostshell3301: The correct username and password is mentioned in the tutorial already. The username is 'administrator' and the password is 'howtoforge'. As you might know, you can not login as root user on Ubuntu systems, you always use the username of a user with sudo privileges, in this case, the user 'administrator' to log in, then run 'sudo -s' to become root.
@Till sorry I'm a (not) the RTFM dude ... So I used the pdf file with the download link :$ One must follow orders :) For only once I did read the RTFM and I'm awarded with this :p Problem solved (BTW I'm using the Perfect server from version Debian 6 until now with great pleasure and love the docs) KUDOS !
Hello, is there any way to put APS Installer in ISPConfig 3.2?
apscatalog.com, the source of APS packages, has been discontinued in 2019. And an application installer that has no recent packages to be installed anymore makes not much sense. That's why the APS installer is hidden in the menu, the code is still there in 3.2, but it makes not much sense to activate it.
Hi, I get the "SMTP Error (250): Authentication failed." when trying to send a mail via roundcube. Any ideas on how to fix this?
If you ran the update script this becomes an issue. In the Roundcube config file change the port back to 25 not 587 then it works again.
Maybe its fixed now, maybe my advise is bad but it worked for me.
Been using these tutorials for 15+ years. A very long time. Thank you again for the great work and easy installation. Use this for a runbook and out the large number of servers I have installed using these tutorials only once or twice have I had issues.
I was able to download the nightly build, but the tar.gz file was corrupted and several files did not extract properly. So I simply git cloned the repository and switched the branch to the 3.2b3 branch and off to the races. Thanks!
Hi Till,
I have to add to the praises of my predecessors. The new tutorial is again top, as we are used to from you and your team. I just have one question: When configuring the "postfix"-master.cf - file, I stumbled upon a line "# -o smtpd_tls_auth_only=yes" in the option-settings of
submission inet n - y - - smtpdwhich is not displayed in the respective config example above. Is it save to keep this commented out or could it be a security improvement to activate "smtpd_tls_aut_only"?Thanks for your valued input.Best,Johannes
Hello Johannes, it might indeed be better to activate that line to prevent users from sending AUTH details on submission port without TLS at all. There are (hopefully) no mail clients anymore today which have a problem with that setting. I'll update the tutorial and add that line.
I LOVE this tutorial. It has been a few years since I setup my own server and this is just what the doctor ordered. One question though. My ISP blocks port 25 for mail sending, so how do we specify a port in the setup to send the mail? Thanks a bunch for such a well documented process.
@aplusdesigners: You cans et the relay host in ISPConfig under System > server config. Append the port like this to the relay server name:
relay.server.tld:123
where 123 is the port.
Hi Till,
Nice tutorial, but I got a problem with step-7 (install amavisd-new, SpamAssassin, and ClamAV). After executing the command (apt-get -y install amavisd-new spamassassin ...), I got error messages:
Setting up amavisd-new (1:2.11.0-6.1ubuntu1) ...Creating/updating amavis user account...Job for amavis.service failed because the control process exited with error code.See "systemctl status amavis.service" and "journalctl -xe" for details....Oct 14 11:06:03 pakcarik systemd[1]: Failed to start LSB: Starts amavisd-new mailfilter.dpkg: error processing package amavisd-new (--configure): installed amavisd-new package post-installation script subprocess returned error exit status 1 ...
Errors were encountered while processing: amavisd-new E: Sub-process /usr/bin/dpkg returned an error code (1)
I just ignored those errors, and continue the steps. When I tried to run the ClamAV by executing: freshclam
then I got there errors:
ERROR: /var/log/clamav/freshclam.log is locked by another processERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).ERROR: initialize: libfreshclam init failed.ERROR: Initialization error!
Did I miss something? I followed your tutorial carefully after a fresh install of Ubuntu 20.04 server. My server has an Intel i9-9900K with 64GB DDR4 and 2TB SSD. Any suggestion? Many thanks!
Roundcube doesn't appear to be properly configured out of the box. IMAP and SMTP hosts are both configured as localhost. This causes issues with authentication. Localhost should be replaced with the fully qualified domain name of your email server in /etc/roundcube/config.inc.php: $config['default_host'] = 'tls://your-mailserver-here.com'; $config['smtp_server'] = 'tls://your-mailserver-here.com'; @till maybe you want to add this to the tutorial. I see a few people already ran into the same issue.
In section 7 before freshclam better do a
systemctl stop clamav-freshclam.serviceTrivial typo:
"The MySQL root password that needs to be added is shown in read"
should be red.
Hi Till, three questions: (1) I've just installed Ubunu 20.10 and noticed it has some location changes, for example Grub is not located at /etc/defaults/grub as in 20.04. Would this ISPConfig installation be possible on 20.10, do you know?
(2) Is the virtual image compatible with KVM?
(3) How would either installation allow for update/upgrade of the various components?
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Enter current password for root (enter for none):
Tried both no password and the root user's password on three different cloud containers, all gave the same results.
I'm trying to change the apache tls restriction to make only tls 1.2 and 1.3 available, but I can't understand why I can't change. I put in the Apache directives of the site (options tab) the lines: SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2 SSLHonorCipherOrder off SSLSessionTickets off trying to change the lines... and the ssllabs.com test always tells me that tls1.0 and 1.1 is enabled...what can I do? regards!
Apache does not support it to set TLS levels by vhost, it will always use the lowest setting from any vhost in all other vhosts. This means you have to change all vhosts and the global TLS settings from Ubuntu.
This tutorial not only saved me a TON of time trying to figure it all out on my own, but I understand so much more. This was such a great way to learn so many different web/server based technologies. Thank you SO MUCH for creating such master pieces. I can't tell you how excited I've been to have this up and running. I don't think i could have done it without this writeup.
Hi Till, thanks to question regarding tls settings... what is the correct way to change all these settings? editing vhots manually?
I don't know why, I don't have last line in my /etc/mysql/debian.cnf (basedir) # Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = root password = howtoforge socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = root password = howtoforge socket = /var/run/mysqld/mysqld.sock basedir = /usr ------ May be that is why I have a mistake in main.cf file " proxy:mysql:\/etc\/postfix/mysql-virtual...dbname " 2 wrong \ : I removed and it works...
Thank you for a job well done. Best installation yet for ISPConfig with all server applications on my VPS; so far working without a hitch.
Uau!
Its very beautifull.
Thanks a lot!
thank you. waiting for nginx perfect server
Hi,
Installation went well, I can recieve emails but I can not send, did i miss something?
I'm sure you need to uncomment a line in /etc/postfix/master.cf
In below packages list, there is "apache lib for python" : libapache2-mod-python.
apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.4 php7.4-common php7.4-gd php7.4-mysql php7.4-imap phpmyadmin php7.4-cli php7.4-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear libruby libapache2-mod-python php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl memcached php-memcache php-imagick php7.4-zip php7.4-mbstring php-soap php7.4-soap php7.4-opcache php-apcu php7.4-fpm libapache2-reload-perl
This lib is quite old. It was replaced by libapache2-mod-wsgi first. And now, by libapache2-mod-wsgi-py3 for python3.
I suggest to modify that line of tuto in order to avoid people setting python 2.7.17 instread of python 3.8...
@francoisPE: The libs are required to be installed in the way that is described in the guide, so do not alter the commands if you like to get a working setup. The changes you suggested will result in a non-functional system as mod-wsgi is not a direct replacement and also not supported by ISPConfig at all.
@Till, libapache2-mod-python is incompatible with python3... it automatically load python2.7 and make it 'default'. When having libapache2-mod-python, it is impossible to have libapache2-mod-wsgi-py3. Python3 is incompatible with most of the modern web site using python... For me, this is a matter of concern.
I don't know if you are able to move ispconfig to libapache2-mod-wsgi-py3. It would be really great!
Pelase add
/etc/amavis/conf.d/05-node_id
without fixing the host name amavis want start
@ofer: there is no change in that file needed on correctly installed systems and you should not change that file, so the first step is undo your change and then fix your system hostname. If you had to change that file to start amavis, then you have not configured the hostname of your system correctly before you started to install ISPConfig. Go back to Ubuntu basic server install guide, the link is at the beginning of this tutorial, and fix your hostname. The command 'hostname -f' must return the correct fully qualified hostname like 'server1.example.com' when you configured the system correctly.
I have actually reinstalled the entire Ubuntu Server OS over 50 times following this guide to the letter and I still get SMTP Error 250 when accessing roundcube, I can't get LetsEncrypt to work across ISPConfig/Mail/Web without the "Untrusted Certificate Error" and I have literally followed this guide as well as a number of other guides; including hours of research and still am unable to actually get this server working perfectly. In an attempt to try to fix these issues, I research, get apache errors, have never gotten rid of the SMTP Error 250 as of yet, and always end up breaking something. Could someone here please explain to me what I am doing wrong.
@Treaver: Please use the forum here at howtoforge to post the details of your issue.
When I check my MySQL config using the netstat/grep command, my listen port is 44086 and not the one listed in the tutorial. Is this a random port or should mine match exactly?
Many thanks for an inspiring run through. As a novice I had everything up and running. Is there at tutorial for fetting your web name houster to point to the server? I am unsure of what to set up on custom DNS records with my web name issuer.
Many thanks
I'm sorry, but Step 8 (Install Apache, PHP, phpMyAdmin, FCGI, SuExec, Pear) just won't work over here.At the point where you write "MySQL application password for phpmyadmin: <-- Press enter", it always gives me an error because the login failed...Yes, I actually selected the apache2 option before by pressing the space bar.
Thanks a lot, I followed everything and except updating the ispconfig version (which is not beta anymore) everything worked perfectly without any change from what you explain :)
The entry in /etc/roundcube/config.inc.php must still be made $ config ['smtp_server'] = 'localhost'; against this $ config ['smtp_server'] = 'tls: //% n'; be replaced. Otherwise you cannot send any emails.
Hi I wondered why rspamd is not used in this tutorial. Isn't this better than amavisd and spamassiassin? Or are there some known problems with Ubuntu 20.04. Regards Bernd
In the webmail configuration (roundcube) the possibility that the user himself changes the password of his account does not appear
set up plugin for that
Hello Till, there is a small change in the dialog when securing MySQL. After the question "Disallow root login remotely? [Y/n]" there is a new dialog:
By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y
I would like to suggest to include an extra check on each occasion of a service being restarted, by doing a 'service xxxx status' immediately following the restart. In one or 2 occasions, following this tutorial, I came across a situation where a service would not restart or only restarted with warnings, which later on in the setup caused problems.
I have issues when trying to enable quotas on vps's from a number of provicers. I get the following:root@ubuntu:/# quotaon -avug quotaon: using //quota.group on /dev/vda1 [/]: No such process quotaon: Quota format not supported in kernel.quotaon: using //quota.user on /dev/vda1 [/]: No such processquotaon: Quota format not supported in kernel.What could be going wrong here?
On some servers, I get messages like this during the various installs: The following package was automatically installed and is no longer required: xxxxxxxxxxUse 'apt autoremove' to remove it. Perhaps it would be a good idea to conclude the setting up of the server with a new section between 16 and 17 to autoremove anything no longer needed on the server?
I would suggest to change the use of the nightly build in this article, to be replaced with the stable build of ISPConfig instead.
What an amazing tutorial. Thanks so much!
I am getting error after doing
Install ISPConfig 3.2
Unable to connect to the specified MySQL server Access denied for user 'root'@'localhost' (using password: YES)
What to do ...Please suggest me.
hello Till, My installation process was interrupted because of the internet network disconnection
at step
17. Install ISPConfig 3.2 --> Common Name (e.g. server FQDN or YOUR name) []: <-- Enter the server hostname, in my case: server1.example.com
I reconnected the server and repeated the steps
root@ns1:~# cd /tmproot@ns1:/tmp# cd ispconfig3*/install/root@ns1:/tmp/ispconfig3-nightly/install# php -q install.php
Now i get the error like this :
ERROR: Stopped: Database already contains some tables.
How To Solve it ?
I have installed the virtual machine from this tutorial.
I could login as administrator.
When i started http(s)://server1.example.com:8080/ to reach ispconfig nothig happens.
Depending on your local network, you might have to adjust the network configuration so that the IP matches the subnet. And until you configured your own server hostname, better use just the IP address to access the VM.
After using this tutorial, I get daily rkhunter emails with the following warnings:
Warning: The command '/usr/bin/lwp-request' has been replaced by a script: /usr/bin/lwp-request: Perl script text executable Warning: The following suspicious (large) shared memory segments have been found: Process: /usr/sbin/apache2 PID: 1436448 Owner: root Size: 1.2MB (configured size allowed: 1.0MB)
I guess we need to configure an exception rule for apache and lwp-request. How do I do this?
Thanks for great tutorial! I am wondering where is the right my.cnf file for mysql tuning? Seems like when i try update any of file in etc/mysql nothing happen and phpmyadmin showing all time same values for variables. Thanks!
roundcube 1.4.3+dfsg.1-1In /etc/roundcube/config.inc.php I have to set: $config['smtp_server'] = 'tls://%n'; otherwise I cannot send from roundcube. corresponding error message in /var/log/roundcube/errors.log:[01-Feb-2021 19:14:22 +0000]: <6mbeqtlv> PHP Error: SMTP server does not support authentication (POST /webmail/?_task=mail&_unlock=loading1612206862537&_framed=1&_action=send)[01-Feb-2021 19:14:22 +0000]: <6mbeqtlv> SMTP Error: Authentication failure: SMTP server does not support authentication (Code: ) in /usr/share/roundcube/program/lib/Roundcube/rcube.php on line 1702 (POST /webmail/?_task=mail&_unlock=loading1612206862537&_framed=1&_action=send)
Just a small tip for mariaDB instalation:
Editing file /etc/mysql/debian.cnf with a password gives me the following error when i start or restart the database server:
xxxxx: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
xxxxx: Version check failed. Got the following error when calling the 'mysql' command line client
xxxxx: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
xxxxx: FATAL ERROR: Upgrade failed
Seems that my password has special characters. I ecnlosed my password in /etc/mysql/debian.cnf with single quotes like:
password = 'howtoforge'Now version check does not fail.
any ETA on the perfect server tutorial v2 you wanted to write?
Thanz for this tutorial. Great Work!
i can not accesss login panel i went throgh installation. my server ip is 82.223.203.84.
any help?
Please post your issue in the ISPConfig support forum: https://www.howtoforge.com/community/#ispconfig-3.23
I noticed unanswered question about Rspamd (By: Spaetzle at: 2020-12-28 18:25:44)So I want to ask the same and hope to get answer: Could you please provide the Tutorial with Rspamd ? I see you posotion Rspamd positively (https://www.howtoforge.com/replacing-amavisd-with-rspamd-in-ispconfig/) and would like to install it on Ubuntu 20.04 initially if possibly. Hope to get reply soon...Thanks a lot for your efforts ! ISPConfig is definitely very effective Panel !
Thanks for a really good and easy to follow guide, everything was installed and is running except in my case for the Mailman web interface. When accessing the link https://<server>/cgi-bin/mailman/listinfo/<mailing_list_name> I get a 404 error. How should I go about troubleshooting that issue?
Why is it, we have to call example server1.mydomain.com in the server name and in the ssl setup, and not only mydomain.com. ??I get ssl certificate error after installing ispconfig, and no errors on the way. But when i enter the ispconfig admin site, i get the not trusted certificate, and in chrome i sometimes can not enter the site at all.
Because the server hostname is never your main domain name, as you would not be able to host a website on that domain and not receive any emails if you would use mydomain.tld instead of server1.mydomain.tld for the server hostname. Please post in the forum if you need further help with your DNS setup and SSL.
Thank you for answer.I was just wondering :) I wll post if i get error again, trying a new clean setup now.
Hi again.Its the same, i am locked out of the site, unless i go incognito mode, and accept that the certificate is unsafe, i tryed many times now, this one last time, i used the full automated ispconfig setup, just for try that :(Any have any idea how i can make my site secure ?
Please post in the forum https://www.howtoforge.com/community/forums/installation-configuration.27/ if you need further help.
Thank you so much. I followed this tutorial and it worked brilliantly :-)
Hey I followed this and I have been running it for 6 months amazingly! Do you have plans on making it a docker image or is there a way to convert mine to a docker image? I want this containerized and then PiHole containerized and a Plex server all containerized on the same box.
Is there a reason you don't use php-fpm? It offers much faster page-loads/rendering than the apache mod.
ISPConfig uses PHP-FPM and PHP-FPM is the default mode. You can choose the PHP mode in ISPConfig.
Not sure about your configuration but my ESXI host uses DHCP for VM IP Assignment.
If you find the static IP does not match your configurations you have a couple of options. Either set it to dhcp, or change the ip address. I chose dhcp and this is whats needed to make it work.
Find your the name of your NIC ensXXX:ip -c link
sudo nano /etc/netplan/00-installer-config.yaml
change ens33 to match your NIC
change dhcp4 and dhcp6 to true
remove all lines after.Once you have saved the file (ctrl + x or ctrl + o) Reboot your VM, you should now get a DHCP assigned IP Address, login to your router and perform the steps required to make the ip address static. I won't go into that side of things, I use a cisco router so it may not be of use here.
After upgrading to 20.04 from 16.04 via 18.04, roundcube required php-net-idna2 to be installed with apt install. Then more 'fun' configuring roundcube but that's a different story!
After installing the ISP config, Login page displayed, But after login, blank page displayed in the system, Only ISP config logo, Search and Admin button displayed Ubuntu version 20.04, Php 7.4
Please don't recommend updating mysql.user. It isn't possible in MariaDB-10.4 or later as that is a SQL view. It also has no effect without FLUSH TABLES. ALTER USER is that standard way to change a user's authentication so use that over any direct manipulation of MariaDB system tables.mysql_secure_installation has already set the password. So this actually isn't needed.
First of all, MariaDB-10.4 and above isn't even installed with apt install mariadb-* by default on Ubuntu 20.04. MariaDB-10.3 is. You'd have to manually add the MariaDB repository to get above 10.3 right now. And that's not in the tutorial. So guess what's still needed and relevant? Maybe don't go above and beyond what a tutorial says (like activating 3rd-party repos), then complain the tutorial is wrong. Because it's not. People like you are why virtual environments exist in the development world. How many times have you said stuff doesn't work on your machine, while everyone else says it does? FOLLOW DIRECTIONS.
Nice and work 2 install and kick ass it worked each time ( come from qmail )
I have seen on other installations that ISPConfig manages XMPP but I can't see an XMPP server installaed in this tutorial or did I miss something.
XMPP support in ISPConfig has been removed as recent metronome versions are not compatible with the XMPP implementation in ISPConfig anymore and XMPP in ISPConfig was so rarely used, that a complete re-implementation is not planned at the moment.
Excellent and thorough instructions. Suggestion: to add a point #20 to have reverse proxy to port 8080 using nginx so the url would be clean (without :port to admin and clients).
Some linux kerrnels do no support quota. This is due to a bug. Adding then to the virtual packages solves this.
To do so install virrtial pagages
apt-get install linux-image-extra-virtualthen register the quota modules
vim /etc/modules # add these quota_v1quota_v2Cheers
I have follwed this tuorial and have an up and workign system, however I'm having SSL issues. I have installed let's encrypt acme.sh and I'm able to create new let's encrypt certifcates for websites, but my coresponding email, ftp, and other services are not using the Let's Encrypt SSL cert. The email and ftp services are using the SSL Cert asigned to the ISPConfig control pannel, which is a self signed cert.
The mail service shall use the system-wide SSL cert for the hostname, so that's fine. But that#s normally a let's encrypt cert as well unless your hostname was unreachable at install time. Take care that your server hostname is correctly configured in DNS. Then run:
ispconfig_update.sh --force
and let the updater create a new SSL cert for ISPConfig and the other services. Also, take care that you use the right server name in your email client, the right one is the hostname of the server and not one of your hosted domains.
Hi folks
unfortunatelly this installs no perfect server. Till Ubuntu 16.04 LTS it worked fine. After the installing ESM for Ubuntu 16.04 LTS the System was destroyed. Other tries with Ubuntu 18.04 LTS and Debian 11 and with Ubuntu 20.04 LTS failed to install the "perfect server"
The above guide works perfectly fine on Ubuntu 20.04, simply copy & paste the commands result in a working system, I'll test it regularly, no changes or updates are needed. You might want to make a post in the ISPConfig forum with the error messages you got so we can help you to find out where you did not follow the guide or where your base system has deficits that cause the overall system to fail later. Following this guide requires that you follow it to the letter, leaving things out or modifying commands will break it. Another possibility is that you use a unclean base system or there are other issues with your base system like unsuitable virtualization or not enough resources. At least you can rule out now that there are any issues with the guide.
Don't know when this was posted, but today, 25th of May 2022, this guide after following it 3 times, it doesn't work completely. I need only emails, no website hosting or any other services. I can create accounts, mailboxes, and log in into the accounts but can't send or receive.
Hi Folks.
To save a bit of time whilst experimenting, I cheated and downloaded the VM. I set it up to my IP Range and all seemed to work great so I decided to update the system. Whilst updating it it gets as far as unpacking the 00-maria DB - and just hangs there at 26%.
I restarted the VM and went through the upgrade again. Had to manually run sudo dpkg --configure -a to correct a dpkg issue. It seems to have upgraded okay now but my query is in relation to why the mariadb upgrade failed. its currently at 10.3.34.
I'm going to go down through the actual tutorial but was just curious as to why the mariadb upgrade appears to fail.
Regards
Declan
why it doesn't work on email. i have completed everything without any issue but the mail is not sending or receiving! the error is connection to 127.0.0.1:10026 refused. i have also tried with or without AMAVIS which can cause this error. tried every solution that is posted on how to forge but nothing works! tried different providers like Hetzner and Vultr, nothing works!!
The above guide works perfectly fine at Hetzner and other providers, I've installed a system at Hetzner a few days ago successfully. The most likely reason for your issue is that the hostname was not configured correctly before installing the system, amavis requires it that the command: "hostname -f" returns the fully qualified hostname while the command "hostname" returns the short hostname. Post in the ISPConfig support forum if you need further help https://forum.howtoforge.com/#ispconfig-3.23
Or you replace Amavis with Rspamd: https://www.howtoforge.com/replacing-amavisd-with-rspamd-in-ispconfig/
Or you use the latest and recommended setup for Ubuntu and install from scratch which uses Rspamd too: https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/
Hi,everything is done, but no mails are going out or in with roundcube.
The mail.log shows the following:
Jul 23 21:38:52 vps amavis[188478]: (188478-02) (!)connect to 127.0.0.1:* failed, attempt #1: Can't connect to socket 127.0.0.1:* using module IO::Socket::IP: Connection refused
vps amavis[188477]: (188477-03) (!)Nl3eWAaM5MpA FWD from <t -> <>, 451 4.5.0 From MTA() during fwd-connect (All attempts (1) failed connecting to smtp:127.0.0.1:*): id=188477-03
The most common reason for Amavis failing to start is a misconfiguration of the hostname. Please post your issue in the ISPConfig forum if you need further help: https://forum.howtoforge.com/#ispconfig-3.23
Or you replace Amavis with Rspamd: https://www.howtoforge.com/replacing-amavisd-with-rspamd-in-ispconfig/
Or you use the latest and recommended setup for Ubuntu and install from scratch which uses Rspamd too: https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/
Dear Till Brehm, my nane is Ben van Brakel, 79 years young and still active with computers, I'm fighting with them since 1963 (NASA IBM systens) with a lot of pleasure and fun. I want give you my deepest respect for what you did with your tutorial, it is splendid and o so complete, Thanks for that.
I use it already a long time from on my first UBUNTU release 10.04 I believe, but now I'm running in a big problem with ubuntu 20.04, I cannot get email working, I installed for my on security your tutorial at the last pont 3 times and I got 3 times the same failure wen I try to receive mails, the problem is "amavis" I tried all I know but cannot get it goin. Hereby 3 lines dfrom my maillog: Maybe you can give me a hint, or tell me where I could find a solution. Thank in advance.
Aug 1 11:19:43 vbserver1 amavis[533827]: (533827-14) (!)connect to 127.0.0.1:* failed, attempt #1: Can't connect to socket 127.0.0.1:* using module IO::Socket::IP: Connection refused Aug 1 11:19:43 vbserver1 amavis[533827]: (533827-14) (!)Pnkul5auYlt6 FWD from <[email protected]> -> <[email protected]>, 451 4.5.0 From MTA() during fwd-connect (All attempts (1) failed connecting to smtp:127.0.0.1:*): id=533827-14 Aug 1 11:19:43 vbserver1 amavis[533827]: (533827-14) Blocked MTA-BLOCKED {TempFailedOpenRelay}, [127.0.0.1] [46.129.12.134] <[email protected]> ->port: 10024 and 10026 are active iin IP4 and IP6.
Hello Ben, please make a new thread for your issue in our support forum so we can help you to find out why amavis is not working on your server. You can find the support forum here: https://forum.howtoforge.com/forums/installation-configuration.27/
I am planning to use this setup with Ubuntu 22.04 and additional with dotnet core on a Virtual Server.
What would you recommend for cpu and ram for such a system?
Thank you guys a lot for this tutorials, they`re lifesavers. An update is in order since certbot is not available anymore as described here and have to be installed diferently.
Thanks again for your work!
The emails are received but not appeared not in roundcube not in app clients
postfix/smtps/smtpd[210685]: warning: connect to Milter service inet:localhost:11332: Connection refused
postfix/trivial-rewrite[210698]: warning: do not list domain server1.mydomain.com in BOTH mydestination and virtual_mailbox_domains
not all new files appears in /var/mail for every new mailbox i create with IspConfig
You set up a wrong hostname before installing ISPConfig. You must use a subdomain as hostname (as the tutorial above advises) like server1.example.com and not a domain that you ant to use for email (like example.com). To fix that, set a correct hostname in the files /etc/hosts, /etc/hostanme and /etc/postfix/main.cf by changing the domain (like example.com) to a subdomain (like server1.example.com) and reboot your server.
I must apologize. Everything works with this tutorial. I could reach email SPAMless rate 10/101. Very important to use a subdomain as it was explained here. If you want to use yourdomain.com as an email domain create some.yourdomain.com for installing ISPconfig. some.yourdomain.com will not work from emails!!!!2. Change System -> Server Config -> Mail -> Content Filtrer to Rspamd also remove Amavishttps://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-disable-spamfilter-and-antivirus-functions-in-ispconfig-3/
That's all Everything works
I have successfully installed Roundcube and ISPConfig in AWS EC2, i have one domain in godaddy, i cannot able to send the mail from, how to add DNS Records in Godaddy
Hi. I followed this guide to the letter and everything works, except roundcube.
I get ERR_SSL_PROTOCOL_ERROR when I try to access server1.example.com/roundcube from a browser.
I get the same error for server1.example.com/webmail
Any ideas where should I start looking to solve this ?
Please post in the support forum to get help with your setup: https://forum.howtoforge.com/#ispconfig-3.23
Hello Till,Thank you so much for the tutorial! I followed all the steps, and my server is running now. But, with no email going out. I investigated the issue, and it turned out that my ISP was blocking port 25. Would email work if I followed the steps again, using port 587 instead of 25?
You can not run a mail server when port 25 is blocked, so altering the mail port to 587 does not help in this case. You have basically two options, either get a server or VPS/Cloud server in a data center where port 25 is not blocked if you want to run a mails server, or you must use an external mail server (this can be a mail relay service or maybe the mail system of your ISP (if they provide one) to relay outgoing mail trough. Mail relay settings in ISPConfig can be found under System > server config > mail. There you can set something like "external.mailserver.tld:587" in the mail relay server field and also enter a username and password if needed. This will configure Postfix to send all outgoing emails through this server and connect to it on port 587.
Thanks, Till! My ISP is Hetzner, and while I was searching for a solution, I found this tutorial on their website: https://community.hetzner.com/tutorials/postfix-as-SMTP-relay-server
Do you think I reconfigure the current settings? Based on the provided instructions from Hetzner?I really appreciate your help
Hetzner will unblock port 25 after you have paid your first invoice. You might want to contact their support and tell them you want to run your own mail server and ask them to unblock that port.
As I mentioned in my first answer, you can configure relaying in ISPConfig, do not apply that Hetzner tutorial, it will break your system and it won't help you anyway as it is about running a relay server (which requires port 25 to be open) and not about relaying email for a mail server.
I followed this tutorial almost a year ago and got a server up and running on Digital Ocean. Websites, email, the whole thing. I could not have done it without this tutoiral.
I'm really struggling with a problem however that, on the surface, should be crazy simple to do. AFter workign on it for 2 weeks on and off I am at a loss on how to proceed. Hopefully somebody here will know how to fix my issue. My goal is to redirect the email for one inbox to another server entirely. So the mail comes in, is not stored but is redirected to the other server. In the Custom Rules area of that mailbox, I have this code. require ["fileinto", "redirect"];# Redirect all messages for "[email protected]" to "[email protected]"if address :is :localpart "to" "tom" { redirect "[email protected]"; stop; # Stop processing other Sieve rules for this message}
As the email is being processed by the server, it makes the claim that it can not use the redirect command. There appears to be an error with the Sieve script. The error indicates that the redirect action is not recognized as a Sieve capability. This means that the Dovecot Sieve plugin might not be configured properly to handle the redirect action. This is where I'm lost. I've learned a lot through this process, but I'm also getting to the point that I just need to get this working again. Below is my dovecot.config file contents in case it helps. Thanks, and soorry this ended up being so long. # Do not change this file, as changes will be overwritten by any ISPConfig update. # Put your custom settings in /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master. # To start using those changes, do a force upgrade and let it reconfigure your services. (ispconfig_update.sh --force) listen = *,[::] protocols = imap pop3 auth_mechanisms = plain login disable_plaintext_auth = no log_timestamp = "%Y-%m-%d %H:%M:%S " mail_privileged_group = vmail postmaster_address = [email protected] ssl_cert = </etc/postfix/smtpd.cert ssl_key = </etc/postfix/smtpd.key ssl_dh = </etc/dovecot/dh.pem ssl_min_protocol = TLSv1.2 ssl_prefer_server_ciphers = no mail_max_userip_connections = 100 # previous mail plugin line mail_plugins = quota # new mail plugin line # mail_plugins = $mail_plugins quota sieve passdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } userdb { driver = prefetch } userdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } plugin { quota = dict:user::file:/var/vmail/%d/%n/.quotausage # no longer needed, as 'sieve' is in userdb extra fields: sieve=/var/vmail/%d/%n/.sieve sieve_before=/var/vmail/%d/%n/.ispconfig-before.sieve sieve_after=/var/vmail/%d/%n/.ispconfig.sieve sieve_max_script_size = 2M sieve_max_actions = 100 sieve_max_redirects = 25 } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { group = vmail
This tutorial seems to be outdated now. I'm using a brand new Ubuntu 20.04 host from Linode/Akamai, and its behaviour is not matching the tutorial.
Example #1:
# dpkg-reconfigure dash #There is no question "Use dash as the default system shell (/bin/sh)?"
Example #2:
# apt-get -y install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo patch Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package getmail4 #
"getmail4" doesn't exist any more?
Example #3:
# nano /etc/postfix/master.cfThis file has no "smtps section" similar to the one shown in the tutorial.
It's hard to proceed confidently with these differences.
Are there any suggestions about what I should do?
Thanks.
The tutorial is for Ubuntu 20.04 only and not for later versions. What you describe about dash, getmail4 and master.cf indicates that you are not using Ubuntu 20.04 but instead Ubuntu 22.04 or 24.04. The tutorial is still fine for the OS version it was written for, Ubuntu 20.04; you just use it for the wrong OS version. It is important always to check which exact version of an OS you use as the instructions differ for each version.
For your Ubuntu version, you must use the auto-installer instead. It supports Ubuntu 22.04 and 24.04.
https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/