"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." (Robert A. Heinlein)

Sunday, 9 August 2015

A picture gallery server for the Raspberry Pi : Single File PHP Gallery

You could count only a handful of tasks where a home server can be really useful, almost all are about making digital media more available. After installing the DLNA server on the Raspberry PI I was still looking for a software tool to easily browse the pictures I keep on my network NAS. I so installed the LAMP server components and I've been trying several PHP based gallery web-applications like Gallery 3 or Piwigo. They are all valuable tools but unfortunately didn't fit with my requirements because couldn't hook to preexisting picture folders or didn't perform well on the not-so-powerful Raspberry PI . On the other hand these applications offers a wide set of features, like users management, I don't need since my gallery isn't going anywhere outside my home LAN.

SFPG: (zero configuration) Single File PHP Gallery

Single File PHP Gallery (SFPG) is a simple gallery web application all contained into a single PHP script. It might sound odd from a purely programming point of view but It greatly simplifies application deployment. In addition to its being single-file SFPG doesn't need MySQL or any other database, since it stores all information it needs on files. Last but not least, under the proper conditions, SFPG can work without any configuration by just placing it on the pictures root folder.

Some bare-bone configuration

Even if SFPG can be deployed without the need of configuration it offers a wide range of configuration by editing the “define” instructions listed at the beginning of the (unique) “index.php” file. I changed the gallery root path to point to my NAS pictures folder in order to separate actual pictures folder from SFPG data folder:
define('GALLERY_ROOT', '/media/public/Pictures/');
define('DATA_ROOT', './_sfpg_data/');
define('SECURITY_PHRASE', 'some phrase to be used as random seed');
I also set a security phrase that SFPG uses as seed in generating random paths. SFPG can also automatically set the security phrase if the PHP script has permission to modify itself.

Friday, 31 July 2015

Test Drive: Ubuntu Mate 15.04 on the EEEPC 900

Ubuntu Mate is a Ubuntu derivative distribution equipped with Mate desktop environment. Ubuntu Mate has been recently admitted among the official Ubuntu derivatives, I've been reading some very positive post about it so I decided for giving it a quick (live) look on the EEEPC even if I had already reinstalled my netbook computer with Xubuntu,

First impressions

After the usual process of preparing a USB disk an booting the netbook from it I've been welcomed from a very Gnome-2-looking interface.
The default interface provide the usual Applications, Places and System menus:

Thursday, 25 June 2015

More work on the Raspberry PI

I've been working a little more on my Raspberry PI based server. After installing Minidlna server my Raspberry PI server needed some easy way to transfer media files into the USB disk. Sharing the disk with Samba has been, to me, the obvious solution. Also I installed the basis of a LAMP server (Apache2, MySQL, PHP5) for future installation of server applications.

Sharing a disk with Samba

The first step has been so installing samba from command line apt-get

sudo apt-get update
sudo apt-get install samba samba-common-bin
then I edited samba configuration file
sudo vim.tiny /etc/samba/smb.conf
where I added the definition instructions for sharing the USB disk
comment = Raspberry PI USB disk
path = /media/usbdisk
browsable = yes
guest ok = yes
read only = no
create mask = 0777
directory mask=0777
public= yes
only guest = no
force user = pi
force group = users
To keep things on the easy-to-use side I set the share for a public “guest” use without asking for passwords. Since my Raspberry server is still in a experimental status I don't have, not yet at least, many security worries to think about.
I tested the configuration with the testparm command
testparm /etc/samba/smb.conf
and eventually restarted the samba service.
sudo service samba restart

Wednesday, 27 May 2015

Installed Xubuntu 15.04 Vivid Vervet on the EEEPC

After some testing of light-weight desktop environments I decided, at last, for installing Xubuntu (Xfce flavored Ubuntu) on my good old EEEPC 900. Xubuntu choice came because Xfce desktop environment behaved well, during my tests, working smoothly on the resource-poor EEEPC while being still able to render a modern enough user interface. Last but not least I've been using for years Xubuntu on my old desktop Sempron 2400 without problems.

Before installing

Before starting with installation procedure I had to do some preliminary operation. First has been, of course, backing-up my home folder into an external USB disk (hosting all my backup since I removed original Xandros installation). Then I executed Ubuntu's disk analysis tool in order to have a hint about how to partition the new installation disks. Until now, in fact, I kept the EEEPC900 4GB on-board disk for a minimal Windows XP installation (when I bought it the EEEPC was my fastest computer) but time has come to get rid of it. So a fair distribution of disk usage among the two netbook disks is going to be important.
The disk analysis showed how my disk usage was almost evenly split between the “home” and the “usr” folder (where most of application are installed) while the rest of system folder are well less of the 4GB limit.

Thursday, 7 May 2015

Setting up a DLNA media server on the Raspberry Pi

My first though about how to use the Raspberry Pi has been to set-up a always-on, low-power, home-server. There are not many services that could be really useful at home but, among them, a DLNA compatible server is the one that more interested me.

Mounting the USB drive

In order to be a useful server, especially a media server, the Raspberry first needed some bigger disk than the system 8 GB micro SD. I so selected as main storage for Raspberry a old 3.5” IDE USB drive. No problems from the electrical power side since the drive it's externally powered.
Mounting a USB drive on the Raspberry is just a basic exercise of CLI Linux: after getting the device name with the lsusb command the disk can be mounted with a simple command:
sudo mkdir /media/usbdisk
sudo mount /dev/sda /media/usbdisk
the mount command automatically recognized the XFS file system the disk was formatted with (I used it, before, attached to the NAS). In order to make the disk permanently mounted I added the following line to the /etc/fstab file
/dev/sda1 /media/usbdisk xfs rw,defaults 0 0