In this video, Chaim Krause discusses the complexity of the setup and configuration of an SQL database in use with an email server. Don't forget to include all stake holders when integrating systems.
- [Instructor] The part that we're going to attempt next is to get all this stuff working together in a central location, and that's going to be a database. Now there's a lot of work that needs to be done to get this all configured. It's not a simple process. Let's take a look at some the reasons why it's that way. It's hard to find a primary source most of the time. Official sites are going to point to third-party documents quite often, and those are going to be stale. So even though you're going to the primary source, they don't have much in terms of their own documentation.
They're relying on third parties. We'll also see that with third-party wikis or blog entries. Another place you'll find this type of information are on self-help sites, maybe tutorials, how-tos, or even knowledge bases for something like Red Hat. They're all going to be providing a piece of the information that you need. So what I'm saying here is that don't expect to be able to go to the source and get the information that you need.
Quite often, we're going to have to go to multiple places. When you do that, you're quite often going to find conflicts. Two pieces of software may disagree on how even they should integrate together. You may go to software A, and it talks about integrating with software B, and it provides a method for doing such and specific configuration parameters, and then you go to Software B, and you look at its documentation for how its supposed to integrate with software A, and things are slightly different.
I've found that quite often going through this process. Then you've got the inevitable mismatches. What I mean by that, each tutorial, blog entry, knowledge base article, they all work with specific versions of software. Quite often, you don't have exactly the same versions, so things are slightly different. When it says to go to line 34 and change this parameter, what used to be at line 34 is no longer at line 34. In a .1 change in a version number. They'll have differences quite often in the operating system distribution that's being used.
So the only information you may be able to find on a particular piece of software is in a tutorial where they're talking about integrating with a completely different Linux distribution. You'll have to try and make the transition between that. Then you come into the issue of supported and unsupported. For example, one of the questions I had to deal with when putting this video series together was whether I should use Postfix version two, or Postfix version three. The reason I chose to go with two is because it's what supported by vendors like Red Hat.
So quite often in a big business, you want to choose the software that's not the latest and greatest, but one that's going to be supported. Before you do any of this, you need to get a consensus. Before you begin working on a big project such as putting together an e-mail server and all the services that go around it, make sure that you involve the administrators, the people who are going to handle the domain registration, and all the paperwork that goes with that. Make sure you talk with the supported teams.
Who are your users? Who's going to be using the system? What are their needs? Do you have different users in different regions that are going to need different requirements? The last thing you should always do is work with your infrastructure teams. You've got security people who are going to be worried about properly setting the security on all of these servers. They're going to be facing the public internet. You're going to need hardware requirements in order to fulfill the needs of your users. So make sure as you're working through your project, you don't forget that it's part of a larger project.
As you can see, there's a lot of stakeholders and data points that need to be taken into consideration when you do your database setup.
- Reviewing the components of email delivery
- Sending mail with Postfix internally and externally
- Configuring TLS, SASL, and an email client
- Installing database tools
- Creating virtual domains, users, and aliases
- Exploring greylisting with Postgrey
- Installing and configuring spam tools
- Reviewing DNS-based protection against spammers