Install EasyESP

Prerequisites

To follow this tutorial, you must first perform these requirements:

Then follow this five simple steps:


1. Install EasyESP

Note:The video tutorials are of the version of EasyESP that is installed in Debian 8 and can also be useful for this new version, but you must follow the updated textual tutorial.

 

 

Copy the following script ( click on the small image that appears at the top right of script ) and paste it in the ‘area to be used once only’ below.
Between the quotation marks change  The_URL_of_the_EasyESP_script  with the ‘EasyESP script‘ URL received via email.
Then select, copy, ‘Right Click‘ on PuTTY window and hit  ⤶ Enter  to install EasyESP on your server.
When request copy your License Key received via email, ‘Right Click‘ to paste ( here you can’t see anything ) and hit  ⤶ Enter .
Then hit  y  to continue and hit  ⤶ Enter .
When the script has finished the installation, the last line looks like this:  EasyESP was successfully installed. 

cd && wget -q --restrict-file-names=unix "The_URL_of_the_EasyESP_script" -O easyesp && chmod +x easyesp && ./easyesp

  area to be used once only:


                                                                                            * in this area the text will be deleted if you refresh this page !

 
Create a password for MySQL database
Generate a new password to be used for the administrative access to MySQL database with the pwgen utility. It helps you create secure passwords.
Run the following script, then select and save the password on a text file.

pwgen -s 20 1

 
Enter some data in the configuration file
Copy this script and paste it on the ‘area to be used once only’ below to change  your_db_password  and  alter  (choose a word as user for an initial email address) with yours, select all, copy and run.

echo db_passwd=your_db_password >> /my.cfg
echo admin_adds=alter >> /my.cfg

  area to be used once only:


                                                                                            * in this area the text will be deleted if you refresh this page !

 
Configure your server running:

./conf


2. Setup DNS records in Digital Ocean

 

 

then enter your domain name and click ‘Add Domain’. ( ex: withyourdomain.com )

Resume using PuTTy and run the following script:

cat /dns.cfg

The result looks like this:

Select all output result and paste in the ‘area to be used once only’ below.
Now select the long string after the  p=  copy and paste to the line of  mail._domainkey  in place of:
your-string-in-a-single-line in the ‘area to be used once only’ below.

  area to be used once only:


                                                                                            * in this area the text will be deleted if you refresh this page !

You can copy all records now and save them to the text file.
Thus, it also checks that the value of  p=  is a single line. ( no ‘Word Wrap’ selected in ‘Format’ on your ‘Notepad’ )

At this point go back to Digital Ocean, click on your domain name and setup DNS records.

 

 


3. Create SSL certificates with Let’s Encrypt on your server  

 

 

Run this to get the certificates for your domain:

/etc/cron.weekly/certbot-renewal

Certbot can be configured to renew your SSL certificates automatically before they expire after every 90 days.

Open the crontab file running this:

sudo crontab -e

This will create a new cron job that will execute the letsencrypt-auto renew command every Monday at 2:30 am.
Go to the bottom of the opened file using ‘down arrow’  ▼ .
Copy this line, then ‘Right Click‘ to paste it.
Save and exit: press  Ctrl  +  X  to save, then press  y  to confirm and hit  ⤶ Enter  to exit.

30 2 * * 1 certbot renew >> /var/log/le-renew.log

Configure by running:

./letsconf


4. Create the first email account with Postfix Admin

Generate a new setup password with the pwgen utility. ( ex: Gb54ejK87r332svbqa7 )
Run the following script, then select and save the password on a text file.

pwgen -s 20 1

Open up a web browser and visit your mail server at:
 https://alter.withyourdomain.com/postfixadmin/setup.php
Enter the setup password you just created and generate a hash of that password.



Copy this script and paste it on the ‘area to be used once only’ below to change  ...the long hash string here...  with the generated hash, select all, copy and run.

cat <<END >> /srv/postfixadmin/config.local.php
\$CONF['setup_password'] = '...the long hash string here...';
END

  area to be used once only:


                                                                                            * in this area the text will be deleted if you refresh this page !



Then return to the setup page. You can now use the setup password you selected ( ex: Gb54ejK87r332svbqa7 ) in order to create an superadmin account. After that, you will never need this setup password again.

As email address use the ‘user for an initial email address’ chosen at the beginning. ( ex: alter@withyourdomain.com )
As password create a login password ( ex: 4y77d3f453re3502613e ) and save it to the text file.



You should close off access to https://alter.withyourdomain.com/postfixadmin/setup.php after having used it.
Then run this:

echo "<Files \"setup.php\">
deny from all
</Files>" > /srv/postfixadmin/public/.htaccess



Navigate to the main Postfix Admin login page:
 https://alter.withyourdomain.com/postfixadmin/
Log in as the newly created administrator account. ( ex: alter@withyourdomain.com , 4y77d3f453re3502613e )
Choose the Domain List -> New Domain option in order to create the withyourdomain.com domain, and check Add default mail aliases.

Next navigate to Domain List -> Domain List and click on the name of your domain to view it. From that page you can then add mail users (Add mailbox) and aliases (Add alias).
Create a new mailbox for your domain ( ex: alter@withyourdomain.com , 4y77d3f453re3502613e, Alter )
Create another ( ex: bounce@withyourdomain.com )

 


5. Phpmyadmin

Only if you need of Phpmyadmin run this to install it:

./phpmyadmin.sh


 
Finally you have your own SMTP Mail Server provider for sending unlimited emails via these SMTP settings:

SMTP settings
Host: alter.withyourdomain.com
Port:   25           587           465
SSL/TLS:   TLS          TLS           SSL
Username: alter@withyourdomain.com
Password: your password created in step 4

 


 

Access web interfaces via a web browser

 

 

►    Access the Postfix Admin for adding mail users  https://alter.withyourdomain.com/postfixadmin/
( ex: alter@withyourdomain.com , 4y77d3f453re3502613e )

►    Access the Roundcube webmail user interface via  https://alter.withyourdomain.com/roundcube/
Login with the credentials you created in step 4.
( ex: Username: alter@withyourdomain.com and Password: 4y77d3f453re3502613e )

►    Now you can access the Phpmyadmin web interface via  https://alter.withyourdomain.com/phpmyadmin/
Then enter mailadmin as user and the password you chose in in step 1.
( mailadmin, your_db_password )

 


What’s next?

Based on what you need to do, you can choose every one of these tutorials: