Security Notes
This guide only covers the basic functionality of a mail server.
For production use, it is CRITICAL to implement additional security measures that are intentionally NOT included in this basic tutorial.
These additional components should be considered essential in a real-world...
Installing Roundcube
Roundcube is a popular web interface for accessing mail over IMAP.
7.1. Downloading and Extracting Roundcube
Download the latest stable version and place it in the root directory of your mail site (e.g., mail.example.com).
cd /tmp
Get the latest version number from GitHub...
Using Let's Encrypt for SSL Certificates
We’ll use Let's Encrypt to obtain free SSL/TLS certificates. Certbot will verify domain ownership via Nginx.
6.1. Configuring Nginx Server Blocks
Create configuration files for your domains in /etc/nginx/sites-available/.
6.1.1. www.example.com (Simple...
OpenDKIM Configuration
OpenDKIM is used to sign outgoing emails using a DKIM key, improving deliverability and sender reputation.
5.0. Obtaining a DKIM Key (Choose ONE method)
Method A: Generate a New Key
If you don't have a DKIM key yet, generate one:
mkdir -p /etc/postfix/dkim
cd...
Postfix Configuration for Virtual Domains
Postfix is our Mail Transfer Agent (MTA). We'll configure it to work with virtual domains and users stored in a database, as well as integrate it with Dovecot and OpenDKIM.
3.1. Main Configuration File: /etc/postfix/main.cf
Replace the contents of the...
Creating Databases and Users
We'll create a database to store virtual domains, users, and aliases, as well as a separate one for Roundcube.
2.1. Creating Databases and Service Users
Log in to MariaDB as root:
mysql -u root -p
Then run the following SQL commands:
Warning: Replace...
System Preparation
This guide describes the basic setup.
1.1. System Update
Keep your system up to date.
apt update && apt upgrade -y
1.2. Hostname and DNS Configuration
Set the server’s full domain name (FQDN).
# Replace mail.example.com with your actual FQDN
hostnamectl set-hostname...
Balanced PMTA configuration
In this example, we will configure PowerMTA with IP rotation, set up mail sending to achieve inbox delivery during the initial stages of the campaign, and configure logging for progress monitoring.
PowerMTA configuration file setup
IP rotation configuration
To set up...
Underground Forum submitted a new resource:
PMTA 5.0r7 installer + Fast Panel | Bash script | 2024 - PowerMTA 5.0r7 & FastPanel Auto Installer — Full Mail Server Setup in 5 Minutes
Read more about this resource...
MailWizz, manual install on VPS server
Download MailWizz (nulled version):
*** Hidden text: You do not have sufficient rights to view the hidden text. Visit the forum thread! ***
VESTA panel installation
Enter the following command to download the installer for the VESTA panel:
curl -O...
Configuring dual DKIM in PowerMTA
By default, PowerMTA supports the ability to add a second DKIM-Signature header.
To configure double DKIM, open virtualhost.txt
<virtual-mta TEST-vmta>
domain-key dkim1,DOMAIN-1.com,/etc/pmta/dkim1.DOMAIN-1.com.pem # First key, dkim1 - key selector...
RPM package install
A clean install for those who don't want to install extra packages. A server running CentOS 7 is suitable.
Download the RPM package
PMTA 4.5r1:
https://drive.google.com/file/d/1mhYSl9kvpyZGSAXEQ233nNL-6VVyCI4_/view?usp=share_link
PMTA 5.0b1:
*** Hidden text: You do not...
Make own proxy
You will need a server with bandwidth 200 Mbps and pre-installed Ubuntu or Debian.
Connect to your server via terminal.
First, install sudo on the server with the command:
apt install sudo
Install 3proxy
Next, install 3proxy itself:
wget --no-check-certificate...
Disable root authorization
We are looking for a file - /etc/phpMyAdmin/config.inc.php,
Change the line
$cfg['Servers'][$i]['AllowRoot'] =TRUE;
to
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
Set up authorization by ip
Apache
/etc/httpd/conf.d/ phpmyadmin.conf
<Directory "/usr/share/phpmyadmin">...
Htaccess settings
Depending on the location of .htaccess, these settings can be applied to the entire site or a specific folder.
Basic settings
Restrict access to .htaccess
<Files.htaccess>
order allow,deny
deny from all
</Files>
Close access to a specific file:
<Files file.php>
Order...
Redirects in htaccess
301 redirect to another site:
Redirect 301 / http://domain.com/
301 redirect from domain to domain:
RewriteCond %{HTTP_HOST} ^domain1\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]
301 redirect to another page or site:
Redirect 301 /page1.html...
What is htaccess
.htaccess - is an auxiliary configuration file of the Apache web server. All changes what made in .htaccess do not affect the global server's settings.
With .htaccess, you can control access to site files and directories, create links and redirects, remove duplicate pages from...
Installing LAMP
In this tutorial, we will install the LAMP on a server running Ubuntu, and at the same time we will configure the server.
Installing LAMP packages via the tasksel utility
This utility will allow you to install the entire LAMP stack in one command, tasksel can also be used on a...
Apache2, adding new domain
In order to bind a domain(s) or subdomains to your httpd server, you will need to edit the configuration file.
But keep in mind that you will also need to set up DNS on the side of the domain registrar, otherwise no one will see your site.
Where to find VirtualHost...
What is wordpress?
WordPress is the most popular CMS (Content Management System) in the world.
WordPress installation
Server preparation
# Install LAMP (Apache, MySQL, PHP)
sudo yum install httpd mariadb-server php php-mysql
# Install php-gd
sudo yum install php-gd
# Start Apache
sudo...