Cubox

Debian wheezy 7

https://www.debian.org/releases/wheezy/

Debian 7.4 was released February 8th, 2014. Debian 7.0 was initially released on May 4th, 2013.

# cat /etc/debian_version 
7.4
# uname -a
Linux debian-armhf-cubox 3.6.9-Debian+ #1 PREEMPT Thu Jan 3 19:38:21 CET 2013 armv7l GNU/Linux
# df -H
Filesystem      Size  Used Avail Use% Mounted on
rootfs          4.0G  480M  3.3G  13% /
/dev/root       4.0G  480M  3.3G  13% /
devtmpfs        1.1G     0  1.1G   0% /dev
tmpfs           212M  164k  212M   1% /run
tmpfs           5.3M     0  5.3M   0% /run/lock
tmpfs           424M     0  424M   0% /run/shm
tmpfs           424M     0  424M   0% /tmp
# cat /proc/cpuinfo 
Processor	: ARMv7 Processor rev 5 (v7l)
BogoMIPS	: 789.70
Features	: swp half thumb fastmult vfp edsp iwmmxt thumbee vfpv3 vfpv3d16 tls 
CPU implementer	: 0x56
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0x581
CPU revision	: 5

Hardware	: SolidRun CuBox

Ghost

Node.js

# apt-get install git-core curl build-essential openssl libssl-dev python

http://www.armhf.com/index.php/node-js-for-the-beaglebone-black/

Version stable au 23 mars 2014 http://nodejs.org/dist/v0.10.26/ (http://ghost.centminmod.com/ghostinfo/)

# wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
# tar xzvf node-v0.10.26.tar.gz
# mkdir /opt/node
# cp -r node-v0.10.26/* /opt/node
# cd /opt/node-v0.10.26
# ./configure --without-snapshot

Résultat de la commande :

{ 'target_defaults': { 'cflags': [],
                       'default_configuration': 'Release',
                       'defines': [],
                       'include_dirs': [],
                       'libraries': []},
  'variables': { 'arm_fpu': 'vfpv3',
                 'arm_neon': 0,
                 'armv7': 1,
                 'clang': 0,
                 'gcc_version': 46,
                 'host_arch': 'arm',
                 'node_install_npm': 'true',
                 'node_prefix': '',
                 'node_shared_cares': 'false',
                 'node_shared_http_parser': 'false',
                 'node_shared_libuv': 'false',
                 'node_shared_openssl': 'false',
                 'node_shared_v8': 'false',
                 'node_shared_zlib': 'false',
                 'node_tag': '',
                 'node_unsafe_optimizations': 0,
                 'node_use_dtrace': 'false',
                 'node_use_etw': 'false',
                 'node_use_openssl': 'true',
                 'node_use_perfctr': 'false',
                 'node_use_systemtap': 'false',
                 'python': '/usr/bin/python',
                 'target_arch': 'arm',
                 'v8_enable_gdbjit': 0,
                 'v8_no_strict_aliasing': 1,
                 'v8_use_arm_eabi_hardfloat': 'true',
                 'v8_use_snapshot': 'false'}}
creating  ./config.gypi
creating  ./config.mk
# make

Cela va prendre du temps..

# make install

Vérifions :

# node -v
v0.10.26
# npm -v
1.4.3

http://www.rosehosting.com/blog/how-to-install-the-ghost-blogging-platform-on-debian-wheezy-with-nginx/

http://ghost.centminmod.com/how-to-install-ghost-blogging-platform/

http://www.makeuseof.com/tag/wordpress-killer-welcome-to-ghost-and-how-to-install-it-on-a-raspberry-pi/

http://c-mobberley.com/wordpress/2014/01/30/raspberry-pi-ghost-blog-slow-login-sign-up-fix/

sqlite

# apt-get install sqlite3 

Ghost

http://docs.ghost.org/installation/linux/

# curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
# unzip -uo ghost.zip -d ghost
# mkdir /opt/ghost
# cp -r ghost/* /opt/ghost
# cd /opt/ghost
# npm install --production

Pour démarrer :

# npm start
> ghost@0.4.1 start /opt/ghost
> node index

Avec un navigateur, se rendre à l'adresse 127.0.0.1:2368 C'est bien, mais avec une Cubox sans interface graphique, on va modifier le fichier de conf pour pouvoir consulter notre blog et acceder à l'administration.

# vi config.js

modifier la config 127.0.0.1 en 0.0.0.0

Forever

http://docs.ghost.org/installation/deploy/

# npm install forever -g

Pour démarrer Ghost en tant que service est ainsi libérer le terminal, dans le répertoire où est installé Ghost :

# cd /opt/ghost
NODE_ENV=production forever start index.js

Pour arrêter Ghost

forever stop index.js

Pour vérifier si Ghost tourne :

forever list
# free
             total       used       free     shared    buffers     cached
Mem:       2066756     969480    1097276          0      69456     769540
-/+ buffers/cache:     130484    1936272
Swap:            0          0          0
# df -H
Sys. fich.     Taille Util. Dispo Uti% Monté sur
rootfs           4,0G  1,1G  2,7G  28% /
/dev/root        4,0G  1,1G  2,7G  28% /
devtmpfs         1,1G     0  1,1G   0% /dev
tmpfs            212M  164k  212M   1% /run
tmpfs            5,3M     0  5,3M   0% /run/lock
tmpfs            424M     0  424M   0% /run/shm
tmpfs            424M     0  424M   0% /tmp

Sécurisation

Une bonne ressource pour un serveur web à la maison : http://www.isalo.org/wiki.debian-fr/Serveur_web_%C3%A0_la_maison_%3A_raspberry_pi

SSH

Bonne pratique :

  • modifier le port ssh
  • ne pas autoriser root
  • le cas échéant filtrer les IP autorisés
  • accès par clé partagé
  • où encore uniquement un user en particulier
$ ssh user@192.168.0.x -p 1234

fail2ban

aptitude -R install fail2ban

Debian armhf server

Terminal

root@debian-armhf-cubox:~# uname -a
Linux debian-armhf-cubox 3.5.7-00735-g8dd8e33-dirty #4 PREEMPT Thu Dec 27 21:36:06 CET 2012 armv7l GNU/Linux

Utilisation du disque SD :

 
# df -H
Sys. fich.     Taille Util. Dispo Uti% Monté sur
rootfs           4,0G  660M  3,1G  18% /
/dev/root        4,0G  660M  3,1G  18% /
devtmpfs         1,1G     0  1,1G   0% /dev
tmpfs            213M  197k  213M   1% /run
tmpfs            5,3M     0  5,3M   0% /run/lock
tmpfs            425M     0  425M   0% /run/shm
tmpfs            1,1G     0  1,1G   0% /tmp
tmpfs            525k     0  525k   0% /var/tmp

Serveur web

Tutoriel pour Wordpress sur un Raspberry-pi : http://pi.iluvltd.co.uk/2012/11/raspberry-pi-wordpress-nginx/

# apt-get install nginx php5-fpm

# nano /etc/nginx/sites-enabled/default

server {
     listen 80;
     root /var/www;
     index index.html index.php;
     server_name localhost;
     location / {
          try_files $uri $uri/ /index.php?$args;
     }
     location ~ \.php$ {
          try_files $uri =404;
          fastcgi_pass unix:/var/run/php5-fpm.sock;
          fastcgi_index index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi_params;
     }
}

# apt-get install mysql-server php5-mysql

# mysql -u root -p

CREATE DATABASE `wordpress`;
GRANT ALL PRIVILEGES ON `wordpress`.* TO 'wordpress'@'localhost' IDENTIFIED BY 'BLAHblahPutYourChoosenPassHERE';
FLUSH PRIVILEGES;
EXIT

# apt-get install php-apc varnish

# apt-get install memcached php5-memcache

# service php5-fpm restart

Reminder :

# service nginx start
# service nginx stop
# service php5-fpm status
[ ok ] php5-fpm is running

Transmission

# apt-get install transmission transmission-daemon transmission-remote-cli

sudo service transmission-daemon start|stop

http://www.computeristas.com/wp/?p=98

http://localhost:9091/transmission/web/

$ sudo apt-get install transmission-daemon

$ mkdir -p /home/utilisateur/incomplete # incomplete downloads
$ mkdir /home/utilisateur/complete # completed downloads/seeding torrents
$ mkdir /home/utilisateur/watch

$ sudo usermod -a -G debian-transmission utilisateur

$ chgrp debian-transmission /home/utilisateur/incomplete
$ chgrp debian-transmission /home/utilisateur/complete
$ chgrp debian-transmission /home/utilisateur/watch

$ chmod 770 /home/utilisateur/incomplete
$ chmod 770 /home/utilisateur/complete
$ chmod 770 /home/utilisateur/watch

$ sudo service transmission-daemon reload

$ sudo nano /etc/transmission-daemon/settings.json

$ sudo service transmission-daemon restart

Utilisateur

Ajouter un utilisateur et son répertoire personnel :

# useradd -m utilisateur

Définir un mot de passe :

# passwd utilisateur

Voir aussi : http://wiki.debian-facile.org/logiciel:sudo

Selfoss

https://github.com/SSilence/selfoss/wiki/Installing-selfoss-on-the-Raspberry-Pi-running-Raspbian

sudo mkdir /var/www/selfoss
sudo chown $USER /var/www/selfoss
cd /var/www/selfoss
unzip ~/Download/selfoss-2.2.zip
sudo chgrp www data/cache data/favicons data/logs data/thumbnails data/sqlite public
chmod g+w data/cache data/favicons data/logs data/thumbnails data/sqlite public

Problème : configurer Apache.

Solution ? http://selfoss.aditu.de/forum/index.php?mode=thread&id=148

Voir aussi : http://conoroneill.net/replacing-google-reader-with-a-25-raspberry-pi-in-the-immortal-words-of-jesse-pinkman/