Apache für Node.js Einrichten

Wenn Apache und Node.js zusammen laufen sollen, müssen wir den Apache Server so konfigurieren, dass Nodes.js bestimmte Abfragen erreicht.

Apache ProxyPass aktivieren

cd /etc/apache2/mods-enabled sudo ln -s ../mods-available//proxy.load . sudo ln -s ../mods-available//proxy.conf . sudo ln -s ../mods-available//proxy_http.load .  cd /etc/sites-available sudo vi phyrum.tea.ch 

Folgende Zeile direkt über oder auf gleichem Level wie ScriptAlias hinzufügen, danach speichern und neu starten. Der Port 8880 kann beliebig sein, muss aber noch frei sein.

ProxyPass /node http://localhost:8880/ 

Erste Schritte mit MongoDB und Node.js

Eigentlich gehe ich die Anleitungen Node.js MongoDB Driver und MongoDB 2.0.0 Driver durch.

Folgende zwei Befehle installieren Node.js Treiber für MongoDB und das Mongoose ODM (Englisch: Object Data Mapping)

npm install mongodb npm install mongoose 
mkdir project1 cd project1 npm init  vi package.json 

Abhängigkeit zu MongoDB angeben:

  "dependencies": {     "mongodb": "~2.0"   }, 

Angepasste package.json sichern und nun die Abhängigkeit installieren:

npm install 

Nun eine Test-Verbindung zu MongoDB aufbauen:

vim app.js 
var MongoClient = require('mongodb').MongoClient var assert = require('assert');  var url = 'mongodb://localhost:27017/test';  MongoClient.connect(url, function(err, db) { 	assert.equal(null, err); 	console.log("Mit dem Server verbunden."); 	db.close(); });

MySQL Einrichten

sudo apt-get install mysql-server php5-mysql -y

Benutzer erstellen:

create user 'ptea'@'localhost' identified by 'password-here’;

Admin-Rechte vergeben:

grant all privileges on * . * to 'ptea'@'localhost'; flush privileges;
create database wisecards;

Server neu starten:

sudo servcie mysql restart

MongoDB Einrichten

Zuerst sicherstellen, dass das System aktuell ist, vor allem wenn der letzte Aufruf lange her ist.

sudo apt-get update sudo apt-get upgrade

MongoDB gibts es aktuell für den Rasberry PI noch keine offizielle Version. Diese müssen wir aus den Quellen bauen.

Bei meinem Raspberry PI konnte ich nicht einmal die Quellen aus Github herunterladen weil git einen ‘Out-Of-Memory’-Fehler verursachte. Der Speicher ist war klein. Deshalb überprüft zuerst ob der Swap genug gross ist.

Swap (Auslagerungsdatei) auflisten:

cat /proc/swaps

Continue reading “MongoDB Einrichten”

Node.js Einrichten

Bei http://nodejs.org/dist/ die linux-arm-pi Version herunterladen. Nicht alle Versionen haben einen Build für den Raspberry PI. Die momentan aktuellste Version, welche für meine Maschine funktioniert ist http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz, alle neueren haben einen Illegal Operation beim node Aufruf ausgelöst.

sudo su - cd /opt wget http://nodejs.org/dist/v0.11.12/node-v0.11.12-linux-arm-pi.tar.gz tar xvzf node-v0.11.12-linux-arm-pi.tar.gz ln -s node-v0.11.12-linux-arm-pi node chmod a+rw /opt/node/lib/node_modules chmod a+rw /opt/node/bin echo 'PATH=$PATH:/opt/node/bin' > /etc/profile.d/node.sh

Raspberry PI Einrichten

Nach dem ersten Boot vom Raspberry PI

Aktuelle Software holen:

sudo apt-get update sudo apt-get upgrade sudo reboot  sudo shutdown -h now

vim installieren:

sudo apt-get install vim

Ich bevorzuge die Syntax-Hervorhebung, dazu muss vim-Konfiguration angepasst werden:

vim ~/.vimrc

und folgende Zeile einfügen

syntax on

zusätzlich Tab als 2 Leerzeichen

set expandtab set tabstop=2

Continue reading “Raspberry PI Einrichten”