OpenVPN mini-guides: Mikrotik RouterOS VPN Server

In the first mini-guide of this series, I showed how to generate SSL Certificates for use with an OpenVPN setup.

This next mini-guide will show how to configure a Mikrotik RouterOS router for use as an OpenVPN Server. This is where your various devices will “dial-in” to.

Obviously, everyone’s network is different. So I’ll try and make this as generic as possible, but without straying from my policy of being as straight forward as I need to be.
So, hopefully, you already have a configured RouterOS router, thats already part of your network.

Continue reading OpenVPN mini-guides: Mikrotik RouterOS VPN Server

OpenVPN mini-guides: Certificates

In this mini-howto, I’m going to show how to generate Certificates for use with OpenVPN.

Its part of a series of posts that will hopefully include:
Configuring a Mikrotik RouterOS router as a Server
Configuring a Mikrotik RouterOS router as a Client
Configuring a Linux machine as a Client
Configuring a DD-WRT router as a Client

And Tomtom will be working with me to produce instructions on connecting to the server from an iPod Touch, iPhone and Nokia N900.

So, lets begin… Continue reading OpenVPN mini-guides: Certificates

This is not a Hack

I’ve noticed an annoying trend lately, and its starting to get on my nerves.

Every 2nd person who figures something out on their own, is writing up a HOWTO.
This isn’t a problem. Its the fact that they’re calling it a “Hack” thats getting on my nerves.

A Hack is where you take something, and make it do something it was never designed to do. Not using something that was designed to do something, to do something slightly similar. Thats not a hack, thats an adaptation.

Well, thats my rant for the day. If anyone wants to sponsor some real gadget hacking, let me know and I’m sure we can work something out 🙂

Getting the Rip DVD part of MythVideo to work

One of the nicest features of MythVideo, is being able to store your collection of DVD’s on your hardrive.
From there, its a simple task of selecting the Video from the Video Gallery, and hitting play.

You can fetch all the Movie’s details from IMDB, including poster art and movie ratings.
This makes it much more convenient, and more useful than having to fetch the DVD from your collection to watch it.

The only downside that I can see, is that you’ll start to run out of disk space very quickly, as each movie will take up between 4GB and 8GB.

I faced a few challenges in getting this working, and I’m going to try shed as much light on this as possible. Continue reading Getting the Rip DVD part of MythVideo to work

MythTV on NTL Analogue in Ireland

I’m about to submit my MythTV for its WAF rating, before being put into full use in the house.
So to make things nice and easy to use, and to also assist in finding all the favourite episodes for recording, I’ve put every NTL Analogue channel into the channel database, with mythfilldatabase working 100% fetching all the scheduling information.

So for everyone that has been trying to get this working, I’ll dump all the necessary configs here, so you can get yours going too. Continue reading MythTV on NTL Analogue in Ireland

How to automatically login to MythTV on boot

In my last 2 MythTV posts, I explained how to get mythbackend running on boot, and how to get mythfrontend started automatically when you start X.

Now I’m going to explain how to get X to startup and login on boot.
This essentially makes your MythTV setup completely operational from powerup, without user intervention.
Definate WAF in that…

This is how I did it on my Debian machine.

I’m running my MythTV as the user ‘mythtv’ on my machine.

First, you’ll need rungetty installed

apt-get install rungetty

Then open your inittab config in your favourite editor

vi /etc/inittab

Look for the line that starts all your getty’s. It looks something like this

1:2345:respawn:/sbin/getty 38400 tty1

You’ll have to change it to this

1:2345:respawn:/sbin/rungetty tty1 --autologin mythtv

That’ll make it automatically log in to the mythtv user on tty1

Now, you’ll want to automatically start X whenever the mythtv user logs in to tty1
Its nice to constrain it to run, when the user logs in on tty1 only. That way, you can change tty’s and login without having X trying to start up automatically.

Edit your .profile for your mythtv user

vi /home/mythtv/.profile

Put the following in it

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
while [ 1 == 1 ]
        do
                startx
                sleep 10
        done
fi

That’ll start up X as soon as the mythtv user logs in, and if X dies, it’ll wait 10 seconds and then restart it.

How to make mythbackend start automatically

In part of my quest to automate the startup of my MythTV, and in my quest for WAF (Wife approval factor), I’ve identified a few small issues that don’t seem terribly well documented anywhere.

I’m going to document them here, as clearly as I can.

This Howto contains a very simple startup script for automatically starting mythbackend on boot.

I’m using Debian lenny/testing, but this will apply to most Debian versions, and perhaps Ubuntu too.

You’ll need to create a file, lets call it /etc/init.d/mythbackend, with the following in it.

#!/bin/sh
# Start/stop/restart mythbackend
#
# Modification done by Benoit Beauchamp, based on rc.mysqld by
#
# Copyright 2003 Patrick J. Volkerding, Concord, CA
# Copyright 2003 Slackware Linux, Inc., Concord, CA
#
# This program comes with NO WARRANTY, to the extent permitted by law.
# You may redistribute copies of this program under the terms of the
# GNU General Public License.
#

# Start mythbackend:
myth_start() {
  if [ -x /usr/local/bin/mythbackend ]; then
    # If there is an old PID file (no mythbackend running), clean it up:
    if [ -r /var/run/mythbackend.pid ]; then
      if ! ps axc | grep mythbackend 1> /dev/null 2> /dev/null ; then
        echo "Cleaning up old /var/run/mythbackend.pid."
        rm -f /var/run/mythbackend.pid
      fi
    fi
    /usr/local/bin/mythbackend -l /var/log/mythbackend.log -v important,general -p /var/run/mythbackend.pid -d
  fi
}

# Stop mythbackend:
myth_stop() {
  # If there is no PID file, ignore this request...
  if [ -r /var/run/mythbackend.pid ]; then
    killall mythbackend
  fi
}

# Restart mythbackend:
myth_restart() {
  myth_stop
  myth_start
}

case "$1" in
'start')
  myth_start
  ;;
'stop')
  myth_stop
  ;;
'restart')
  myth_restart
  ;;
*)
  echo "usage $0 start|stop|restart"
esac

Then you’ll have to set that file as executable

chmod +x /etc/init.d/mythbackend

Now, test it and make sure it does what its supposed to.
Make sure mythbackend isn’t running, and then try:

/etc/init.d/mythbackend start

Check to see if its running. If not, check all the paths in the script, if it is, hurray!

Now we need to add it to run on boot, and as a bonus, shutdown mythbackend properly on shutdown
We’ll do this the Debian Way ™

update-rc.d mythbackend defaults 90

And that should do it! Give your machine a reboot and see it mythbackend started on its own.