Apache NameVirtualHost proxy and IIS 7 with pfSense

I am always hesitating to write an article because after I have found the solution I cannot beleive how hard was to find it. But it is over I must write it down.

I decided to implemet two IIS servers in my network but I have only one public IP address. I think everyone has figured out what was the trouble with this implementation. If do not I tell it.

The main issue with this that I could not reach both servers because of the only one public IP address therefore I have had to implement a router (and of  course a NAT device (actually it is only one device)). In this case I can do a port forwarding for port 80 but I can do this for one IP address.

Continue reading “Apache NameVirtualHost proxy and IIS 7 with pfSense”


Simple private cloud storage using WebDAV

WebDAV stand for the Web Distributed Authoring and Versioning.
For the end user it means file and diroctory manipulation in URL namespace. Operating systems with GUI are able to handle WebDAV resource as remote device.

Why this storage type is called cloud storage? Install this http server setup on 2 or more separate machine on different network and synchronize the data via network. I’ll use ZFS snapshots and the incremental send/receive capability of ZFS.

Continue reading “Simple private cloud storage using WebDAV”

How to install OpenERP on FreeBSD

OpenERP is an opensource AGPL licensed enterprise resource planning software for small and medium size businesses.

Structural parts of the OpenERP system

  • PostgreSQL as backend database
  • OpenERP server to form the business logic (python based)
  • OpenERP clioent. Web and desktop GUI are available (python based and GTK based)

As host operating system Windows, Linux or alternative Unix like systems like FreeBSD are appropriate .

Infrastructure background

One of my servers was upgraded to FreeBSD 9.0-RELEASE from RC a few weeks ago. Feature set in this configuration:

Provisioning of FreeBSD 9.0 jails based on ZFS clones

The FreeBSD jail is an operating system level virtualization technology. One common kernel is used by the host and the hosted containers. Hosted jails have restricted access to the resources of the system.

It’s not so complicated to create jails:

  • userland must be built at least once, later can be rebuilt, if the base system was upgraded
  • installed userland or parts of the userland for every jail
  • enabled and configured jails

ZFS will be used to deliver jails. A jail can be relative easy to clone from the snapshot of an example jail.
ZFS snapshots represent consistent filesystem states at the given moments. These snapshots are useful securing backups or creating filesystem clones.
Creating a snapshot takes a moment and cloning the snapshot takes an other one. ZFS clones are the writable instances of snapshots. The changes consume only space on disk, so the delta is stored. The common parts share the same data blocks and the modifications shall be written to new blocks. Create a snapshot before major modification and the rollback is relative simple.

2 ZFS dataset will be created on an existing ZFS pool – zroot in this case:

  • One dataset for the base userland of the template jail. This will be automatically mounted under /jail/template
  • A second one for skeleton of the jail specific data, config and additionally installed files. /jail/skeleton

Continue reading “Provisioning of FreeBSD 9.0 jails based on ZFS clones”