A Server (Almost) of Your Own

 in
Set up a virtual host for e-mail on your virtual private server.
Listing 3. The .fetchmailrc Configuration File
set postmaster "usera"
set no bouncemail
set no spambounce

poll localhost with protocol POP3 and port 2110
and options no dns:
   user "maila" there is usera here and wants
   mda "/usr/bin/procmail -d %T" options fetchall
         password "MAILA'S VPS PASSWORD"
Listing 4. The ssmtp.conf Configuration File
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster

# The place where the mail goes. The actual machine
# name is required; no MX records are consulted.
mailhub=localhost:2525

# The full hostname
hostname=localhost

# The "From" line sender address will override any
# settings here.
FromLineOverride=YES

Finally, note that you need to set up the SSH tunnel again every time you reboot your workstation. There are many ways to automate the process, but it is beyond the scope of this article to discuss them.

How to Read and Send Mail over the Web

The Fedora Linux distribution provides a Web-based e-mail interface that requires very little work to configure. It is based on SquirrelMail and Apache. Web mail is an easy way to support Windows clients. It also does not require shell access on the VPS.

First, install SquirrelMail:

[root@myvps ~]# up2date --install squirrelmail

This process also installs several other packages that SquirrelMail requires. Next, enable secure https access by installing mod_ssl:

[root@myvps ~]# up2date --install mod_ssl

You must disable unsecure http access to SquirrelMail. Edit the file /etc/httpd/conf.d/squirrelmail.conf, and append the following lines:

<LocationMatch "/webmail">
SSLRequireSSL
</LocationMatch>

Now, start the Apache Web server:

[root@myvps ~]# /etc/init.d/httpd start

Connect to https://MY.VPS.IP.ADDRESS/webmail. Your browser will warn you about the SSL certificate—just accept it permanently, and you will not be warned again. The only way to avoid this error altogether is to use a certificate signed by a recognized Certificate Authority (CA). The CA will need to verify your identity and also will charge an annual fee for signing the certificate.

After accepting the certificate, you should be able to log in as any of the mail users that you have created earlier. If a particular mail user—for example mailb—does not need shell access, disable it with the following command:

[root@myvps ~]# usermod -s /sbin/nologin mailb

Do not forget to add the Apache Web server to your startup environment:

[root@myvps ~]# chkconfig --level 345 httpd on

Your Web mail users should click on the Options link in the SquirrelMail interface and configure their account information. Otherwise, SquirrelMail will format their messages with something like mailb@localhost.localdomain in the From field. This certainly will confuse anyone who receives such a message.

Conclusion

This article has covered one of the most difficult aspects of switching to a VPS account—setting up your e-mail. As you have seen, e-mail service is provided by a collection of several different programs working together. There are many other ways to configure this service. Unfortunately, it would require a lengthy book to describe and compare them all. This article tries to provide a simple solution with good security that a new VPS user can implement quickly.

Welcome to the world of VPS hosting—the server that is (almost) your own.

Acknowledgements

The author wishes to acknowledge Sean Reifschneider and Evelyn Mitchell of tummy.com, LTD., for generously providing a VPS account used to test the examples presented here, as well as their valuable comments on this article.

Resources for this article: /article/9380.

George Belotsky is a software architect who has done extensive work on high-performance Internet servers, as well as hard real-time and embedded systems. His technology interests include C++, Python and Linux. He is also the author of the Flightdeck-UI Open Source Project, which uses the ideas from aircraft instrumentation to implement computer user interfaces. You can reach George at questions@openlight.com.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The articles is good,

elf's picture

The articles is good, however when it comes about email I think qmail offers more flexibility. From my experience I found Debian to be more apropriate for VPS than Fedora.

great article :)

statistik-tutorial's picture

Since I prefer postfix, too and use it together with dovecot I found this article very helpful. I think postfix together with dovecot is easy to configure and flexible enough for most tasks. Though it's a matter of personal taste as always.

the article is very good :P

Pedro Simões's picture

I desagree with that i prefer postfix than qmail much easier to personalize and resolving problems and qmail u allways to have a patch to fix something or add something.....

Helpful

Tattoo Design's picture

The article is very informative.....thanks for providing such an in depth knowledge

White Paper
Fabric-Based Computing Enables Optimized Hyperscale Data Centers

Today’s modular x86 servers are compute-centric, designed as a least common denominator to support a wide range of IT workloads. Those generic, virtualized IT workloads have much different resource optimization requirements than hyperscale and cloud applications. They have resulted in a “one size fits all” enterprise IT architecture that is not optimized for a specific set of IT workloads, and especially not emerging hyperscale workloads, such as web applications, big data, and object storage. In this report, you will learn how shifting the focus from traditional compute-centric IT architectures to an innovative disaggregated fabric-based architecture can optimize and scale your data center.

Learn More

Sponsored by AMD

White Paper
Red Hat White Paper: Using an Open Source Framework to Catch the Bad Guy

Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6

Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.

Learn more about catching the bad guy in this free white paper.

Learn More

Sponsored by DLT Solutions