Ich benutze auf meinem Server FreeBSD und als Bogging-Software Ghost. Hier ein paar Infos wie man das ans laufen bekommt. Mittlerweile geht das recht schmerzfrei :-)

Installieren von Node.js und NPM

$ sudo portmaster www/node010 www/npm
$ node -v
v0.10.40
$ npm -v
2.14.7

Erstellen des Users

$ sudo adduser 
Username: ghost
Full name: Ghost Blog User
Uid (Leave empty for default): 
Login group [ghost]: www
Login group is www. Invite ghost into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh bash rbash zsh rzsh git-shell nologin) [sh]: 
Home directory [/home/ghost]: /usr/local/www/ghost
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: no
Lock out the account after creation? [no]: no
Username   : ghost
Password   : <disabled>
Full Name  : Ghost Blog User
Uid        : 1002
Class      : 
Groups     : www 
Home       : /usr/local/www/ghost
Home Mode  : 
Shell      : /bin/sh
Locked     : no
OK? (yes/no): y
adduser: INFO: Successfully added (ghost) to the user database.
Add another user? (yes/no): no
Goodbye!

Erstellen des Unterverzeichnisses und entpacken

$ su - ghost
$ pwd
/usr/local/www/ghost
$ mkdir blog
$ cd blog
$ unzip /tmp/ghost-0.6.2.zip 

Installieren

$ CXX=c++ npm install sqlite3 --sqlite=/usr/local
$ npm install --production --sqlite=/usr/local

Anpassen der config.js Datei

Ich habe den URL und die Maileinstellungen angepasst

        url: 'http://pixelchrome.org/blog',
        mail: {
                transport: 'SMTP',
                options: {
                        host: '127.0.0.1',
                        service: '23mail'
                }
        },

Ghost manuell starten

$ npm start --production

Image Description

NGINX Konfiguration

Ghost läuft bei mir in einem Unterverzeichnis und nicht in einer eigenen Domain oder Sub Domain. Auch hier gibt es eine schöne Anleitung von allaboutghost.com

location ^~ /blog {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:2368;
        proxy_redirect off;
   }

Startup Service

Um Ghost als Service unter FreeBSD laufen zu lassen, habe ich mich an die Anleitung von Jakob Gillich gehalten.