downing and upping

*updated*

A couple of nights ago I migrated another – very light traffic – website on to the NAS.

The only reason I did this was to document, in bullet-points, the process.

I’ll post the process on to the Synology Forums, because the step-by-step documentation for the Diskstation is pretty scant (and next to meaningless).

I’ve just updated phpMyAdmin (being a firm believer in keeping products up to date).

But I think that I’m just about done with hosting on the NAS.

I think it’s time to up my game.

My next step is to get the racked servers installed, configured, and get CentOS and some RAID products spread across the hard-disks.

Yep.

Time to up my game.

I’m going to down the NAS tonight.

Just a simple down.

But I have an eye on that phpMyAdmin upgrade I implemented earlier, and I’d like to bed it in properly with a cold start.

I’m just an oldschool Unix nerd, huh?

*update*

So, downing the NAS in an orderly fashion and bringing it back up delivered no discernible difference.

All services successfully restarted themselves, the four websites, php instances, MySQL databases and mailserver profiles all mounted correctly.

CPU is at 2%, RAM is at 30%

It’s all a bit anticlimactic really.

But also…

Very good.

practising hosting/email; aiming for a hosting metric

This evening I migrated my primary (top level domain) website and the associated blog from the established hosting servers in Arizona to my NAS.

This was slightly more complex than anything I’ve attempted before; each set of content (TLD and subdomain) runs against their own MySQL databases. I debated amalgamating both in to one database, but eventually decided to keep the products apart.

I also set up an associated email account for that self-hosted domain.

The aim of this migration is to act as a crude stress testing/load measuring exercise. I want to know what kind of volumes of internet traffic the NAS can comfortably handle.

The only snag I hit along the way was a temporary memory lapse where my brain melted, when I  couldn’t get the DNS to resolve to the content.

I took my mind offline for an hour and then it came to me, that I hadn’t configured the virtual hosts file.

Three minutes of VH config and hey presto, both the website and the subdomain were up and running.

Then I configured the associated email account for the domain in my phone and yep, that worked first time.

Maybe I should document all these things in bullet points?

But I’m turning out the light now, feeling a little bit smug.

configuring email on a self-hosted domain

 Working environment:

Physical Server:
Synology Diskstation

MailServer:
Synology MailServer (PostFix)

  1. Reverse DNS implemented
  2. Account created as a NAS user
    1. Temporarily assigned read/write permissions to the account
    2. User home enabled
  3. MailServer installed
    1. imap enabled (actually, all protocols enabled, just in case)
    2. Domain enabled
    3. Port assigned
    4. Security enabled
    5. SpamAssassin enabled
  4. MX record created in DNS server (not an intuitive process!)
  5. Email account configured on my phone
    1. username
    2. password
    3. imap server (as per phone mail client default)
    4. message: Unable to connect to email server to verify this account. No response from server
  6. Create outgoing email
  7. Send outgoing email
  8. Sending outgoing email failed

It seems to me that either there’s a visibility problem (not an authentication issue), and the email app on my phone can’t see the mail server.

Or the MX record isn’t doing its stuff, but that could be the problem (if the MX record isn’t routing effectively). Do MX records need time to propagate?

[later]

I revisited the server settings in the phone’s email client, and noticed the phone had put smtp.ahorseforonebin.co.uk and imap.ahorseforonebin.co.uk in, as default.

Although I have enabled those protocols in the MailServer, are they enabled to those addresses?

I edited out the smtp and imap prefixes. When I accept  the settings I still get the same “unable to connect to email server (etc)” error message *but* the error messages are not instantly received, any more. There is some kind of authentication process taking place that is eventually returning an error.

I shall leave the smtp and imap prefixes off the address ranges for now, and carry on with looking for another error.

Memo to self: Go back and reinstate the smtp and imap prefixes, when mail transfer has been effected

[later]

I set aside my phone and created the email account in Outlook Express – being more familiar with that email client, than the one on my phone.

I (re) created the email account in OE and tried to send a test outgoing email. It failed.

Then I did what I should have done an hour ago, I ran a port validation against my static IP.

The port validation reported that port 25 – the default email port – was closed.

I flipped over in to the router and opened port 25 on the internal firewall and tried to send the test message from OE again.

Success! (ever felt like a donkey? Because that’s how I felt – fancy forgetting a basic thing like checking the port was open on the router firewall! I knew the port was open in the NAS firewall, but not checking the router is a schoolboy error)

So I can now send email from the test account in OE. Can I send email from the same test account on my phone?

Yes!

Right then, I need another cup of tea and then I’ll try to find out why the test account doesn’t receive email.

[later]

Learning from earlier, I have just checked the inbound email port settings in OE and found that port 110 is specified. Assuming that port 110 is standard (because why would OE be different to everyone else?) I checked the router firewall and yes, port 110 was closed.

Opened port 110 on the router, checked that port 110 is open on the NAS (it wasn’t, but it is now).

I activated ‘Send & Receive’ in OE and it processed without any authentication errors! Yay!

But no new email is received. Boo!

So where is the incoming email going to, if it isn’t being delivered to the mailbox?

Is this an addressing issue with regard to the MX?

The reverse DNS seems to be working fine, because outbound email hits my Gmail account.

But why isn’t inbound email working?

[after a good night’s sleep]

I sat here for a while looking at the components:

  • Physical server
  • DNS Server
  • MailServer
  • Outlook Express client

I flowcharted the interfaces between the components, to make sure I hadn’t missed anything. I hadn’t.

And yet outbound email worked, but inbound email doesn’t.

I realised that there was another component I had ignored so far, the domain registrar details over at 123-reg.co.uk.

Everything in the control panel looked right.

I knew the nameserver, A, and C records worked, because this domain is viewable.

That left the MX record in the registrar control panel.

Pause for thought:
Yes, it really can be complicating having two of everything, one of everything in the domain registrar control panel, and one of everything on your physical server, but that’s the way it is.

Anyway, I decided to bite the bullet, so I deleted the MX record in the registrar control panel, made myself a cup of tea, and then recreated the MX record.

I opened Outlook Express, composed an outgoing email and sent it to my Gmail account.

I went to Gmail, retrieved the email I’d just sent from OE and replied to it.

And blow me down, the reply appeared in Outlook Express almost instantly.

So we have inbound and outbound email in Outlook Express.

Following the same logic I deleted the email account I had configured in my phone last night and manually (rather than using the phone’s config wizard) configured the email account *as a POP3 account* (see point 5c above) and…

it worked straight away!

Awesome.

Now for the big test.

I took my phone offline from the LAN/WiFi, so it would be an external, remotely attached (via the internet) device, and sent a test email to my Gmail account.

That worked.

Then I replied from Gmail to my phone and that worked too.

So I have successfully configured internet email for a self-hosted domain.

I have no interest in mucking about with webmail, so I will not get involved with RoundCube, SquirrelMail or any of the others.

It has been a fun 12 hours. I’ve learned a huge amount, which will help me when I migrate from the NAS to the HP server.

And if this helps anyone else, that’s even better.

hosting email – the reverse DNS thing

The more I read about hosting email for a self-hosted domain, the more it looks like a massive pile of complexity.

The websites that I’ve been reading are split, 50:50, on whether it is good to self-host email, or not. There seems to be no middle ground, it’s real Marmite territory.

I’m going to push ahead, but I’ll do it against this domain, not a busier one.

But one of the strongly-recommended pre-reqs to self-hosting email is to implement reverse DNS.

The battle for the ground of hosting email starts here, with reverse DNS.

moving house, forwarding ports and ISP garbage

So…

I moved house from down there to up here. My ISP (Plusnet) said I’d have the same FTTC broadband service up here that I had down there. Except they were sooo not right about that. And the fallout/issues that ran out of me having to step down in my broadband to ADSL from the FTTC service I used to have in my former house, were… pretty massive.

However, we live and learn (or we’ve stopped living)…

Because of the degraded broadband service (and yes, stepping down from 80Mb/s download and 20Mb/s upload FTTC, to 5.3Mb/s download and 0.3Mb/s upload is a huge degrade in service!) I had to change modems.

And that meant having to learn how to configure port forwarding on a Technicolor TG582n.

It wasn’t, frankly, without its issues. And those issues came with a steep learning curve – and, together with Plusnet’s less-than-shiny internet provision, kept this little website offline for almost three weeks.

I’ve only just figured out (because what documentation?) that the port forwarding config file needed a from and a to port range – even if you only want to open just one port (which is what I have been trying to figure out how to do). That’s a bit bonkers, in a very twisted kind of logicish sort of way.

Anyway, I worked it out and now we’re back online.

The port forwarding issues, the router swap issues, the steep learning curve issues and the two week broadband outage courtesy of my ISP (while Plusnet unknotted their knickers and eventually delivered some kind of a – degraded – service), all combined to keep me away from the next project that was on my list…

Domain-related email!

That’ll come soon.

Oh yes.

The other thing to note is that I went on eBay and bought an HP server for £19.99p.

It has 4x hard-disks fitted, none are a decent size by today’s standards, but it does have a significant amount of RAM (ten times that of my NAS). And for less than £20 I think it will do as the first real base server for my experimenting/learning, when I need to migrate the self-hosting environment off my NAS on to something more scopey.

And that means getting something like CentOS and learning how to install and configure that.

I seem to be in geek heaven right now.

emailage

In a couple of days I’m going to begin tackling how to install and configure domain-related email (ie: http://example.co.uk might have several related email accounts: support@example.co.uk, fred.bloggs@example.co.uk, etc).

My NAS (which currently hosts this website) requires each email address to have an account on the NAS itself.

That brings with it questions about security that need to be dealt with.

And sooner or later I need to get a firm grasp on FTP/SFTP, within the context of self-hosted websites, not as a server admin (that’s a piece of cake, obv).

But before I do anything else, I need to move house.

I’ve been promised fast broadband when I get there, so I’ll see you in about five or six days.

post the first

This is my (test) geek blog.

I am a geek (as I said in a job interview today), but not a professional geek.

And I have a spread of tech skills, but not to any significant, developery kind of depth.

But I have ambitions to learn many things, and I am delivery-focussed, in a combination of OCD/highly self-competitive kind of way.

So I need a place to document stuff (where stuff = the successes, the failures, and the not-decided-which-of-those-this-is) from the geek side of my life, and this is going to be that place, for now.