I would want to make a little step by step documentation about setting up a Linux based server. This configuration is running successfully in some Digital Ocean Ubuntu Server 12.04 based server. But this, with a few modifications will be valid in another Linux based systems.
The goal is to have a fully functional LAMP (Linux + Apache + MySQL + PHP), mail server, ftp and some basic tools to manage the remote server as comfortable as possible.
Note 2017-01-01: I’m starting a new guide with examples, alternatives, trying to make it as detailed as possible to get a full-featured LAMP + Mail + Apps + Security server under GNU/Linux. I’m trying to make it practical and make it a big starting point to make your Linux personal server. Sorry, I’ll publish this guide in Spanish first, you can follow this link: Monta tu VPS desde cero.
This guide is divided in several steps:
- SSH Configuration (Updated 05-01-2013)
- Little things to do before installing anything (Updated 02-18-2015)
- SWAP disk setup (Updated 06-01-2013)
- Installing and configuring web server (Updated 06-07-2013)
- Optimizations: Configure log in pipes instead of files (Updated 03-01-2014)
- Option: Configure PHP as CGI (Updated 03-21-2014)
- Option: Configure PHP-FPM FastCGI (Updated 12-10-2015)
- Option: Use hhvm to speed up! (Update 03-23-2014)
- MySQL Troubleshoot: “host is blocked because of many connection errors.” (Updated 04-01-2014)
- Installing FTP server (vsftpd) (Updated 25-06-2016)
- Setting up mail server (Updated 06-19-2013)
- Managing mail users (Updated 06-19-2013)
- Configure ingoing mail server: Cyrus (Updated 06-20-2013)
- Configure outgoing mail server: Postfix (Updated 06-20-2013)
- Postfix error: mail for domain.com loops back to myself (Updated 31-03-2014)
- Postfix error: connect to HOST[/var/run/cyrus/socket/lmtp]: Permission denied (Updated 09-10-2014)
- Configure IMAP folders
- AntiSPAM with SpamAssassin (Updated 06-22-2013)
- Configure Roundcube Webmail
- Tools for maintenance
- Installing a firewall (UFW) (Updated 03-27-2014)
- Create SSL certificates (Updated 08-22-2014)
- Installing SSL certificates in Apache (Updated 10-25-2014)
- Install SSL certificates in our mail server (Postfix + Cyrus) (Updated 08-23-2014)
- Monitoring: Logwatch to be aware of what is happening (Updated: 02-18-2015)
- Configure a replicated filesystem between two servers with GlusterFS (Updated 05-10-2015)
- Webography (Updated 06-23-2013)
This guide isn’t something closed, your comments, suggestions and alternatives are welcome, and some of them may be merged into this guide to help everyone interested on it.