Abstract
Recently, I saw a lifetime deal for a DirectAdmin panel from Silicom Network for only $10.00 USD (Thanks LowEndBox). It sounded interesting and it provided some benefits that I thought might be worth $10.00 (namely getting email setup, and the potential for cheap and easy web hosting). After purchasing it, I ran into some issues as I had never used or really seen any domain management panel like it before purchasing; thankfully it those panels are designed to be relatively straightforward and easy to understand.
Recently I got my own email and calendar service running on it, complete with web access to both services, and remote access via a client like Thunderbird. This blog post documents the process and some of the growing pains that I didn’t understand about DirectAdmin and Silicom’s offer beforehand.
Prerequisites
The major thing I didn’t understand about Silicom’s offer was that the claimed that you would receive one domain. I initially took that as the offer comes with a domain name, however, that is incorrect. Really the offer is for the ability to manage one domain. That was fine with me as I already had a domain at that point that I could just change the information for DirectAdmin to make applicable for my domain. For this guide, the following things will be required (at least if the services will need to interact with the Internet rather than just the LAN).
- Need a domain name
- Access to second email address to test sending/receiving messages (Google/Outlook/Yahoo are best, if they are received on those email services, they will likely be received everywhere)
Creating email accounts with a DirectAdmin panel is very straightforward, click on ‘E-mail Accounts’, then the ‘CREATE ACCOUNT’ button, and type in the information for the email account to be created. Once the account is made, it will show the server information to put into an email client to start sending and receiving emails. However, that does not mean that emails sent from this account will be receivable from other email providers; to do that, the records must be setup appropriately with the registrar that handles the domain name.
Email Authentication (SPF, DKIM, and DMARC)
Email is much more complex than it used to be, and there is a lot more security and authentication that has to be setup before an email will actually be delivered through the various email gateways and spam filters that are so commonly used these days. Beyond publishing the standard MX records for mail, it is also important to publish records for DomainKeys Identified Mail (DKIM), Domain-based Message Authentication Reporting and Conformance (DMARC), and Sender Policy Framework (SPF). These are three text records that should be published with the registrar of choice to help determine that the emails coming from your domain are authenticate emails and not spam or impersonation. Without these three methods of email authentication, it is very likely that mail coming from your domain will be blocked, especially by major email providers (Google, Yahoo, and Exchange). As stated above, DirectAdmin makes this process easy enough to setup as you can just create new TXT records and copy the information from the DNS section in the DirectAdmin panel. After putting the information into the registrar records and giving an appropriate amount of time for the records to update (mine updated in ~10 minutes, however, they can take much longer so patience is key), we are ready to setup an email client and test sending an email.
Setting up mail clients (Roundcube Webmail and Thunderbird)
Setting up email clients is not a task that is particularly difficult, especially in the case of Thunderbird. All I had to do to add my account to Thunderbird was type in the email address and password and it automatically found the correct settings.
As for the webmail, it isn’t strictly required, but I thought it
might be nice to have. I went with Roundcube for this because I liked
the interface the best. I also set the webmail address on a
mail
subdomain of my domain. Doing this was easy enough
with the Softaculous software center, just make sure to set the IMAP and
SMTP settings correctly (specifically the port numbers, I did it
incorrectly and could not get the webmail to work until I fixed the
problem). Once there, you can sign into the webmail client by going to
the domain (i.e. mail.example.domain) and logging in with the email
account credentials.
Calendar
Setting up a calendar was slightly more tricky for me; I wanted a calendar that I could sync to multiple devices, while keeping the ability of having a web based client. The options on the Softaculous software center for calendars are slightly limited with the following 4 being available:
- WebCalendar
- Booked
- LuxCal
- SuperCali
I couldn’t get the demo to load for SuperCali and it was rated rather poorly, so I did not try that one; Booked seemed like it was a good solution for a reservation scheduler, which is not quite what I wanted. I initially tried LuxCal, and liked the interface, but could not figure out how to get syncing setup with either iCal or CalDav, so, I went with WebCalendar. While the interface on WeebCalendar isn’t wonderful, it is serviceable to get started with and do quick checks on scheduling, it also has iCal syncing to be able to sync to clients that support iCal. Setting it up was as easy as entering the proper information into the Softaculous software center, then logging in with the admin credentials. Though, I would recommend creating another user and disabling the default admin account, as the name couldn’t be changed upon install.
Calendar client in Thunderbird
Again, I went with Thunderbird as it is one of the most popular open source email clients, as well as it is fairly feature rich. Adding the calendar was as simple as clicking the ‘New Calendar’ button in Thunderbird, then ‘On the Network’ and entering the username for the user as well as the iCal syncing URL (located at Settings->Preferences->Subscribe/Publish and enabling ‘Allow remote publishing’, then copying the URL that follows). From there, the WebCalendar events will sync with Thunderbird’s calendar.
Things to improve on
While I do really like this setup, and it made setting up an email service much easier, there are some paper cuts that I would like to improve on:
- Enable SSO for Calendar and Email
- Find a good iCal client for Android that does syncing, not just subscribing
- Find TUI iCal client with vim keybindings
- Update the
CKEditor
in WebCalendar as apparently v4 is outdated, this shouldn’t be super difficult, but all documentation is command-line based, and I didn’t pay for SSH access to this service
These are things that can be improved on later, and will likely just take more time to research and figure out.