Since Godaddy is still only offering Debian 8 for their GEN4 Servers and LTS is over in two months of this posting, I had quite the ride updating and installing my system. Only snag I ran into was an intermittent issue sending emails. I could reply, but not compose. Then the very next day, I could compose but not reply. Truly a headscratcher. Godaddy support pages or their tech support will offer ZERO info on their SMTP Relay config requirements outside of a URL. So with a little patience and a lot of time, I figured out the optimal listener file to use. I am using the USA Relay, but I am sure this will work for other regions.
I am providing my installation steps from a fresh provisioned server with Debian 8 all the way to a completed system running Debian 9 with most plugins offered by the i-MSCP team installed and working as expected.
Anyway, I have a great running system and here is what I did ...
Upgrade Debian 8 to Debian 9
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Edit Sources for upgrade to 9
sudo nano /etc/apt/sources.list
Change all instances of jessie to stretch, save, exit and continue with upgrade to 9
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
I took all maintaners versions and when completed, I did a manual reboot.
Once rebooted, you can run cat /etc/os-release to verify successful upgrade to Debian 9
Then I ran sudo apt-get autoremove to clean up some files
Setup i-MSCP:
Super Easy
Run the following commands:
cd /usr/local/src
sudo apt-get update
sudo apt-get --assume-yes --auto-remove --no-install-recommends dist-upgrade
sudo apt-get -y --auto-remove --no-install-recommends install ca-certificates perl \
whiptail wget
sudo wget https://github.com/i-MSCP/imsc…e/1.5.3-2018120800.tar.gz
sudo tar -xzf 1.5.3-2018120800.tar.gz
cd imscp-1.5.3-2018120800
sudo perl imscp-autoinstall -d
I chose not to install Bind for my install, since I am running on my domain registrars network, but chose the options you want and let the install script complete.
After successful installation, open a web browser and go to http://panel.yourdomain.com:8080
The first thing I always do is install LetsEncrypt Plugin which is as simple as uploading plugin and activating it.
Create SSL Certs for your Control Panel and Services located under the "System Tools - Let's Encrypt" tab in your control panel.
Log out and go to https://panel.yourdomain.com:4443 for your new secure connection and install the rest of your plugins and configure i-MSCP for your needs.
List of Plugins I use and the packages required prior to activation of plugins.
ClamAV Install
sudo apt-get install clamav clamav-base clamav-daemon clamav-freshclam clamav-milter
sudo service clamav-freshclam stop
sudo freshclam
sudo service clamav-freshclam start
sudo service clamav-daemon restart
Cron Jobs Install
sudo apt-get install msmtp
Instant SSH Install
sudo apt-get install flex libpam-chroot python-magic strace
Mailgraph Install
sudo apt-get --no-install-recommends install mailgraph
Mailman Install
sudo apt-get install mailman
newlist mailman
service mailman restart
Monitorix Install
apt-get install mailgraph librrds-perl
cd /usr/local/src
wget https://www.monitorix.org/monitorix_3.12.0-izzy1_all.deb
apt-get install rrdtool libmime-lite-perl libhttp-server-simple-perl libhttp-server-simple-perl libconfig-general-perl librrds-perl
dpkg -i monitorix_3.12.0-izzy1_all.deb
OpenDKIM Install
sudo apt-get install opendkim opendkim-tools
PhpSwitcher
Easy as uploading and activating plugin
Policy SPF Install
sudo apt-get install postfix-policyd-spf-perl
PolicyD Weight Install
sudo apt-get install policyd-weight
Postgrey Install
sudo apt-get install postgrey
Spamassassin Install
sudo apt-get install spamassassin spamass-milter libmail-dkim-perl libnet-ident-perl libencode-detect-perl pyzor razor
If you were lucky, you should have a working system at this point.
After setting up basics (reseller, customers, etc) use listener file 10_postfix_tuning.pl shown below with slight modifications to be able to send email through Godaddy's SMTP Relay. Some entries seem redundant, but didn't work reliably until I added everything shown in Example below.
Save 10_postfix_tuning.pl in /etc/imscp/listeners.d ..
Disable CronJobs plugin in Admin Control Panel ...
Run the following command:
sudo perl /var/www/imscp/engine/setup/imscp-reconfigure -danv
Let the script do its thing and you should be good to go. (Remember to enable CronJobs Plugin)
Example of what I used. Just change 'smtp_bind_address' to your servers public ip and/or the relayhost URL if located outside the United States.
- # i-MSCP Listener::Postfix::Tuning listener file
- # Copyright (C) 2010-2019 Laurent Declercq <l.declercq@nuxwin.com>
- #
- # This library is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
- # License as published by the Free Software Foundation; either
- # version 2.1 of the License, or (at your option) any later version.
- #
- # This library is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- # Lesser General Public License for more details.
- #
- # You should have received a copy of the GNU Lesser General Public
- # License along with this library; if not, write to the Free Software
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- #
- ## Tune up Postfix configuration files (main.cf and master.cf).
- #
- package Listener::Postfix::Tuning;
- use strict;
- use warnings;
- use iMSCP::Debug;
- use iMSCP::EventManager;
- use Servers::mta;
- #
- ## Configuration variables
- #
- ## Postfix main.cf (see http://www.postfix.org/postconf.5.html)
- # Hash where each pair of key/value correspond to a postfix parameter
- # Please replace the entries below by your own entries
- my %mainCfParameters = (
- 'inet_protocols' => 'all',
- 'inet_interfaces' => 'all',
- 'smtp_bind_address' => 'your_public_ip',
- 'smtp_tls_security_level' => 'may',
- 'smtpd_tls_security_level' => 'may',
- 'relayhost' => 'a2nlvphout-v01.shr.prod.iad2.secureserver.net'
- );
- ## Postfix master.cf (see http://www.postfix.org/master.5.html)
- # Array where each entry correspond to a postfix service. Entries are added at bottom.
- # Please replace the entries below by your own entries
- my @masterCfParameters = (
- );
- #
- ## Please, don't edit anything below this line unless you known what you're doing
- #
- iMSCP::EventManager->getInstance()->register(
- 'afterMtaBuildConf',
- sub {
- my %params = ();
- while(my ($param, $value) = each( %mainCfParameters )) {
- $params{$param} = {
- 'action' => 'replace',
- 'values' => [ split /,\s+/, $value ]
- };
- }
- if (%params) {
- my $rs = Servers::mta->factory()->postconf( %params );
- return $rs if $rs;
- }
- 0;
- },
- -99
- );
- iMSCP::EventManager->getInstance()->register(
- 'afterMtaBuildMasterCfFile',
- sub {
- my $cfgTpl = shift;
- return 0 unless @masterCfParameters;
- $$cfgTpl .= join( "\n", @masterCfParameters )."\n";
- 0;
- }
- );
- 1;
- __END__
I have been sending, replying and every other way email can fly that I can think of with no issues.
I hope this helps anyone who is stuck with Godaddy and having to update their outdated systems to run modern software.
As always, I want to thank the developers for a wonderful control panel and look forward to the future.
Have a great day!
System Details
Debian GNU/Linux 9 (Stretch)
PHP Ver: 7.1.33 (Default)
MYSQL Ver: 5.7.29
FPM/FastCGI
ProFTPD Version 1.3.5b
i-MSCP 1.5.3 | Build: 2018120800 | Codename: Ennio Morricone
Plugins Installed and Active
ClamAV - Ver. 1.3.0
CronJobs - Ver. 1.4.1
InstantSSH - Ver. 5.0.1
LetsEncrypt - Ver. 3.5.0
Mailgraph - Ver. 1.1.1
Mailman - Ver. 2.0.4
Monitorix - Ver. 1.2.2
OpenDKIM - Ver. 2.0.0
PhpSwitcher - Ver. 5.0.5 (Compiled versions installed: php7.2, php7.3, php7.4)
PolicydSPF - Ver. 1.2.0
PolicydWeight - Ver. 1.3.0
Postgrey - Ver. 1.3.0
Postscreen - Ver. 1.2.0
RoundcubePlugins - Ver. 2.0.2
SpamAssassin - Ver. 2.0.1