background preloader

How to run your own e-mail server with your own domain, part 1

How to run your own e-mail server with your own domain, part 1
E-mail is old and complex. It's the oldest still-recognizable component of the Internet, with its modern incarnation having coalesced out of several different decades-old messaging technologies including ARPANET node-to-node messaging in the early 1970s. And though it remains a cornerstone of the Internet—the original killer app, really—it's also extraordinarily hard to do right. We most often interact with e-mail servers through friendly Web-based front-ends or applications, but a tremendous amount of work goes into hiding the complexity that allows the whole system to work. E-mail functions in a poisoned and hostile environment, flooded by viruses and spam. From a normal person's perspective, e-mail seems like a solved problem: sign up for Internet access and your ISP gives you an e-mail address. I'll tell you why: because if it's in the cloud, it's not yours. Because you must rely on others for your security. Well, to hell with that. This is hard and even a bit scary...

Install WordPress 3.9 using Apache in Debian, Ubuntu and Linux Mint Writing an Apache or WordPress introduction will do no good due to the fact that both of them, combined together, are one of the most used Open Source platforms in Internet today, in fact Apache runs on 52 % world web servers and WordPress on one of every 6 websites – Apache with MYSQL and PHP providing the dynamic server gateway interface for WordPress Publishing Content Management. This topic explains the steps needed to be processed in order to install WordPress 3.9 on top of LAMP, which stands for Linux-Apache-MySQL-Php-Perl-Python-PhpMyAdmin on Debian, Ubuntu and Linux Mint, with basic Apache Virtual Host configurations and MySQL database access through CLI or PhpMyAdmin Web Interface, but be aware that does not cover other important network service configurations, like an IP name mapping provided by DNS server and simply uses the rudimentary system hosts file for IP name transactions (DNS query). Step 1: Server Basic Configurations 1. 2. 3. 4. $ sudo apt-get install phpmyadmin 5. 6.

Ars walkthrough: Using the ZFS next-gen filesystem on Linux In my last article on next-gen filesystems, we did something in between a generic high altitude overview of next-gen filesystems and a walkthrough of some of btrfs' features and usage. This time, we're going to specifically look at what ZFS brings to the table, walking through getting it installed and using it on one of the more popular Linux distributions: Precise Pangolin. That's the most current Long Term Support (LTS) Ubuntu release. With that said... if Ubuntu's not your cup of tea, don't worry! There are lots of options for running ZFS, and very little of this walkthrough will really depend on your use of Ubuntu in particular or even Linux in general. In the interest of brevity, I'm going to assume you're already familiar with most of the generic terms and features associated with next-gen filesystems: atomic snapshots, asynchronous incremental replication, self-healing arrays, per-block checksumming, etc. Prerequisites and installation Initial tuning Learning ZFS lingo vdev zpool

VirtualHost Examples This document attempts to answer the commonly-asked questions about setting up virtual hosts. These scenarios are those involving multiple web sites running on a single server, via name-based or IP-based virtual hosts. Running several name-based web sites on a single IP address. Your server has multiple hostnames that resolve to a single address, and you want to respond differently for www.example.com and www.example.org. Note Creating virtual host configurations on your Apache server does not magically cause DNS entries to be created for those host names. # Ensure that Apache listens on port 80Listen 80<VirtualHost *:80> DocumentRoot "/www/example1" ServerName www.example.com # Other directives here</VirtualHost><VirtualHost *:80> DocumentRoot "/www/example2" ServerName www.example.org # Other directives here</VirtualHost> The asterisks match all addresses, so the main server serves no requests. You may replace * with a specific IP address on the system. The server has two IP addresses.

Taking e-mail back, part 2: Arming your server with Postfix and Dovecot In our last episode... Welcome back to our series on taking your e-mail back! In part 1, we looked at exactly why we're spending so much time discussing how to host your own e-mail server—something that is by all rights a solved problem in the modern Internet age. We touched briefly on concepts of ownership and security before talking about the responsibility that comes with that ownership and security. E-mail is like a puppy, and once you step up and own your own puppy, you've got to take care of it, clean up after it, and make sure evil people don't infect it with horrible viruses and transform it into a zombie. (Whoa. By the end of part 1, we had purchased a domain name, set up a basic server, and done a bare-bones installation of Postfix and Dovecot. Here in part 2, we've got three primary tasks: Let's get started. One last thing... Before we do anything else, it's time to update stuff. To update your server, log in via ssh and run the following two commands: Certifiable

How To Set Up Apache Virtual Hosts on Debian 7 What the Red Means The lines that the user needs to enter or customize will be in red in this tutorial! The rest should mostly be copy-and-pastable. Virtual Hosts Virtual Hosts are used to run more than one domain off of a single IP address. Set Up The steps in this tutorial require the user to have root privileges. Additionally, you need to have apache already installed and running on your virtual server. sudo apt-get install apache2 Step One— Create a New Directory First, it is necessary to create a directory where we will keep the new website’s information. You will need to designate an actual DNS approved domain (or an IP address) to test that a virtual host is working. sudo mkdir -p /var/www/example.com/public_html *If you want to use an unapproved domain name to test the process, you will find information on how to make it work on your local computer in Step Seven. Step Two—Grant Permissions sudo chown -R $USER:$USER /var/www/example.com/public_html sudo chmod -R 755 /var/www Save & Exit.

Taking e-mail back, part 3: Fortifying your box against spammers It's time for part 3 of getting your e-mail server up and running! We have six main tasks with this segment, each of which has its own chunk of subtasks. We'll go through them in roughly this order: Install OpenDKIM so that we can use DomainKeys Identified Mail to help recipient domains validate that the e-mail we send actually comes from usInstall SpamAssassin for spam filteringInstall ClamAV for virus scanning (though this is somewhat optional, as we'll discuss when we get there)Configure SpamAssassin and ClamAV and talk a bit about spam filteringConfigure our external DNS and talk a bit about how to handle internal DNS as well (as part of this, we'll set up DKIM and SPF records and also talk about reverse-lookups)Set up some server-side mail filters with Sieve to toss spam and do some other neat tricks After completing part 2, our e-mail server has an almost fully configured Postfix and Dovecot stack. The first thing we need to get operational is DKIM: DomainKeys Identified Mail.

Using Docker to host this WordPress blog | Intercity Blog We use a tool called Docker to host this blog on a DigitalOcean server. Docker allows you to run processes on your server that are included in a pre-built image. It runs these programs in a contained environment, with no danger of harming other processes and files. We used a pre-built WordPress image for Docker to install this blog. Here is how that works: Installing Docker on a Digital Ocean server First, I created a machine at Digital Ocean and installed it with the standard Ubuntu 12.04.3 LTS x64 image. Then, I installed Docker by following the instructions in the Docker documentation at : # install the backported kernel $ sudo apt-get update $ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring # reboot $ sudo reboot $ curl -s | sudo sh This installs the Docker software. Installing and running WordPress from a Docker image

Taking e-mail back, part 4: The finale, with webmail & everything after You all have persevered through quite a bit to get to this point: we have a functional and secure e-mail server that does a good job at ignoring or dumping off spam before it hits your inbox. We've got all the right pieces in place to ensure that the mail we send gets delivered; we've got OpenDKIM operational, and we've got DNS properly configured (including reverse lookups!). We could stop here and declare success. After all, you can plug your mail account name and password into your mail app or your smartphone and send and receive e-mail. But are there any extra steps we can take to increase security? We're going to answer all of these questions in this final installment. Postscreen and additional filtering The Postfix configuration we set up in parts 1-3 is pretty aggressive. Postscreen actually does a whole bunch of other stuff, too, all with the intent of separating legitimate mail senders from spammers. Restart Postfix with sudo service postfix restart to make your changes live.

Apache redirect to another port

Related: