Centos free mail server
Here's a step-by-step guide to setting up a free mail server on CentOS:
Software Requirements:
- CentOS 7 or later
- Postfix (mail transfer agent)
- Dovecot (IMAP/POP3 server)
- MySQL (database server)
- Roundcube (webmail client)
Step 1: Install Required Packages
Update the package list and install the required packages:
sudo yum update
sudo yum install postfix dovecot-pigeonhole dovecot-imapd dovecot-pop3d mysql-server roundcube
Step 2: Configure Postfix
Edit the Postfix configuration file:
sudo nano /etc/postfix/main.cf
Add the following lines to the end of the file:
mydestination = example.com
myhostname = mail.example.com
myorigin = $myhostname
Replace example.com
with your domain name.
Step 3: Configure Dovecot
Edit the Dovecot configuration file:
sudo nano /etc/dovecot/dovecot.conf
Add the following lines to the end of the file:
mail_location = maildir:~/Maildir
first_valid_uid = 500
first_valid_gid = 500
Step 4: Configure MySQL
Create a new database and user for the mail server:
sudo mysql -u root -p
CREATE DATABASE mail;
CREATE USER 'mailuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mail.* TO 'mailuser'@'localhost';
FLUSH PRIVILEGES;
Replace password
with a strong password.
Step 5: Configure Roundcube
Edit the Roundcube configuration file:
sudo nano /etc/roundcubemail/config.inc.php
Add the following lines to the end of the file:
$rcmail_config['default_host'] = 'localhost';
$rcmail_config['default_port'] = 143;
$rcmail_config['smtp_server'] = 'localhost';
$rcmail_config['smtp_port'] = 25;
$rcmail_config['imap_server'] = 'localhost';
$rcmail_config['imap_port'] = 143;
Step 6: Start Services
Start the Postfix, Dovecot, and MySQL services:
sudo systemctl start postfix
sudo systemctl start dovecot
sudo systemctl start mysqld
Step 7: Configure Firewall
Allow incoming connections to the mail server:
sudo firewall-cmd --zone=public --add-port=25/tcp --permanent
sudo firewall-cmd --zone=public --add-port=143/tcp --permanent
sudo firewall-cmd --zone=public --add-port=993/tcp --permanent
sudo firewall-cmd --reload
Step 8: Test the Mail Server
Use a mail client like Thunderbird or Outlook to test the mail server. You can also use the telnet
command to test the mail server:
telnet mail.example.com 25
Replace mail.example.com
with your mail server's hostname.
That's it! You now have a free mail server up and running on CentOS.