install Pyload on NAS Synology – DSM 5.1

Two months ago I bought a new Network Attached Storage.
For my purposes, I choose a NAS Synology DS213J with two hd Western Digital RED of 3TB for each, to have 3TB of free space with a best RAID1 “bit-to-bit” backup.

So this special NAS, has a custom Linux OS with a wonderful web GUI to manage every part and to use various applications created for it, like a Download Manager, a Video Streamer, a Cloud Station and so on. Using Linux and having so many applications (made by the producer or by the community of users) I hoped to find a version of Pyload made for it. But I was wrong, because there is a Pyload made for Synology, but it is for older version of Synology OS: on my OS, DSM version 5.1, it doesn’t work.

So, in this forum I found a working solution.

 

Following, the steps:

 

1- For first you need to install the official app of “Synology Pyload” developed by the pyload Team.
This app is a 3rd party community package, that means that is developed by the community and not directly from Synology. So, to have this app into the installation list on your DSM 5.1 operating system you need to open the DSM Package Center, click on the Settings tab, then on the item Package Sources, Add button and insert the url http://spk.unzureichende.info/. Now, you can find the Pyload app into the Community item, into the Package Center, and then try to install it on the DSM 5.1. On the DSM 5.1 the installation process fails, but it necessary to do this before the next steps.

 

2- The second step is to do the standard setup by command-line of Pyload, as on a normal linux machine.
So, for this you must connect on remote terminal to your NAS through ssh, using the root user (pay attention!), that has the same password of the admin user (is the same user, but for the terminal is needed the username root to have correct administration priviledges). After the ssh connection, you should have a particular terminal like this:

DiskStation>

To have a normal sh terminal, type the command su and then you’ll get the root terminal on your Synology NAS.
Then, the linux command to correct install Pyload on your DSM 5.1 is:

# /volume1/@appstore/pyload/bin/python /volume1/@appstore/pyload/pyload/pyLoadCore.py -s

ATTENTION: to run Pyload and its setup process you need to have PYTHON installed. I installed both the app “Python3″ and the “Python Module” found into the producer’s app list

After that command, you must have to insert all the Pyload configurations, like the Port of the NAS on which start the Pyload daemon (to connect to Pyload via browser), the SSL security connection settings and so on.

Then, you can try to start Pyload using

# /volume1/@appstore/pyload/bin/python /volume1/@appstore/pyload/pyload/pyLoadCore.py

and verify it connecting via browser to the IP of the NAS at the daemon port specified. Mine is at:

http://192.168.1.3:8080

 

3- Configuration of the Pyload user.
Pyload needs a special configuration command to add a Pyload user (even if is the first or the only user), done with the command:

# /volume1/@appstore/pyload/bin/python /volume1/@appstore/pyload/pyload/pyLoadCore.py -u

 

4- Automate the startup of Pyload
To automate the startup of Pyload at the startup of the machine, you need to create the new script file:

# touch /usr/syno/etc/rc.d/S99pyload.sh

and write into that file this script:

#!/bin/sh
COMMAND="/volume1/@appstore/pyload/bin/python /volume1/@appstore/pyload/pyload/pyLoadCore.py"

start() {
        echo "Starting PyLoad"
        $COMMAND --daemon
}

status() {
        echo -n "Status of PyLoad: "
        STATUS=$($COMMAND --status)
        if [[ $STATUS = "False" ]]; then
                echo "Not running"
        else
                echo "Running as PID $STATUS"
        fi
}

stop() {
        echo "Stopping PyLoad"
        $COMMAND --quit
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                sleep 4
                start
                ;;
        status)
                status
                ;;
        *)
                echo "Usage: $0 (start|stop|restart|status)"
                exit 1
                ;;
esac
exit 0

Then this file need the execution priviledges

# chmod +x /usr/syno/etc/rc.d/S99pyload.sh

and on the next system startup Pyload will be launched automatically!
To start now pyload, the command is:

# /usr/syno/etc/rc.d/S99pyload.sh start

 

VERY INTERESTING: after this setup, Pyload can be used also by the Synology app, that opens a window with the same web GUI in execution at the port specified!!

 

Enjoy! ;-)

set-up proxy on linux

Hi everyone!

Here a simple guide to set up a connection via proxy.
If you need to use a proxy to connect to any remote host, you can configure your linux system to use it automatically.
In case of an http proxy, you must write the line below into /etc/environment:

export http_proxy="http://<user>:<pwd>@<host>:<port>"

where “user” is your proxy user, “pwd” is your proxy password, “host” and “port” are the proxy IP and PORT defined to use that proxy connection.

If you need to set other proxy types, you can use the following options:
https_proxy=…,
ftp_proxy=..,
socks_proxy=..
or all_proxy=.. if you use the same proxy options on all proxy servers.

Enjoy! ;-)

remote Xfce4 desktop on ArchLinux

Hi everybody!

Few weeks ago I installed Arch linux on my RaspberryPI, to try this particular distro. ArchLinux is a “nerd” distro of Linux, where you must setup every single part that you need to use.
(You can find instructions to setup ArchLinux on Raspberry here)

In this post I don’t want to explain the setup of every single parts into ArchLinux, because there are already many guides for that (best guide is https://wiki.archlinux.org/), but I want to talk about a particular situation like mine, where there is a Raspberry PI without monitor and keyboard, with only the ethernet cable to talk with any user, and the need to use the GUI of the Raspberry.
So the question is how get remote Xfce4 desktop on ArchLinux through SSH terminal?.

For first, you need to connect to your remote SSH terminal and install Xorg and Xfce4 on the machine. You also need to install vncserver provided by the package tigervnc.

After that, you only need to create the file ~/.vnc/xstartup (if already exists, delete it and create a new file), and into that file you must write:

#!/bin/sh
exec /bin/sh /etc/xdg/xfce4/xinitrc

that starts an Xfce4 session at every VNC connection of the user owner of that home sub-folder.

The last operation to do is to start on the remote machine a vnc remote desktop, using the command

$ vncserver

that print the number ID of the new remote desktop created.
Then, you can connect to that remote desktop using a simple VNC program, like xvnc4viewer or the graphical remote desktop client remmina of Ubuntu, using as remote IP the format <remoteIP>:<dekstopID> like this:

192.168.1.3:2

or, otherwise if you need to setup the connection PORT, you only have to sum the standard VNC port 5900 to the ID of the desktop (if the new desktop created is the number 2 the remote port will be 5902).

Enjoy! ;-)

 

PS: to delete the created remote dekstop (for example the desktop 2), the command is

$ vncserver -kill :2

APT proxy connection

In some cases I needed to connect to internet through a proxy.
There are many ways to set the proxy data into browsers or other applications, and sometimes the APT needs an own proxy configuration.

If your APT does not connects to internet and you must use a proxy, you need to execute this command:

# echo "Acquire::http::proxy \"http://username:pwd@proxyIP:port\";" >> /etc/apt/apt.conf

where username and pwd are your username and password used to login into proxy server, proxyIP and port are the IP address and port of your proxy server.

If the file /etc/apt/apt.conf is not already present into system, this command creates the file and writes into it.
If the file is already present, it can have a standard line for proxy settings, that you have to modify with your settings or to delete after the execution of the command.

After that, you can test the connection of APT with:

# apt-get update

and you should have a normal update of the repositories.

Enjoy! ;)

setup SquirrelMail (HTTP email client)

Hi everyone!!

Today I want to describe how to install SquirrelMail on your personal server. This software is an HTTP MTA (Mail Transfert Agent) like Thunderbird, Evolution and others, but it must be used by an HTTP web page instead a gui interface.
For this, is like a webmail MTA like the web GUI of mail.com, yahoo or anyone other email manager, but it is personalized and it can be used where you don’t have a web GUI of your email, or if you want a simple interface, without annoying advertisements or useful parts.

I used that to manage a personal email on my always-on RasperryPI at home, because at work all the MTA application are blocked by proxy and I don’t like the web interface of @mail.com, then now I use this.  :D

The installation in really simple, by the command:

$ sudo apt-get install squirrelmail

and after, you need to configure the MTA


$ sudo /usr/sbin/squirrelmail-configure

that opens a configuration menu

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> 

with many options to configure your software.

So, under “Server Settings” (“2″ and Enter) you can insert the server parameters (i used Yahoo for the example)

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Server Settings

General
-------
1.  Domain                 : yahoo.it
2.  Invert Time            : false
3.  Sendmail or SMTP       : SMTP

A.  Update IMAP Settings   : imap.mail.yahoo.com:993 (other)
B.  Update SMTP Settings   : smtp.mail.yahoo.it:465

R   Return to Main Menu
C   Turn color on
S   Save data
Q   Quit

Command >>

and using the command “A” and “B” you can configure the specific IMAP and SMTP parameters

(command A)

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Server Settings

General
-------
1.  Domain                 : yahoo.it
2.  Invert Time            : false
3.  Sendmail or SMTP       : SMTP

IMAP Settings
--------------
4.  IMAP Server            : imap.mail.yahoo.com
5.  IMAP Port              : 993
6.  Authentication type    : plain
7.  Secure IMAP (TLS)      : true
8.  Server software        : other
9.  Delimiter              : detect

B.  Update SMTP Settings   : smtp.mail.yahoo.it:465
H.  Hide IMAP Server Settings

R   Return to Main Menu
C   Turn color on
S   Save data
Q   Quit

Command >>

(command B)

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Server Settings

General
-------
1.  Domain                 : yahoo.it
2.  Invert Time            : false
3.  Sendmail or SMTP       : SMTP

SMTP Settings
-------------
4.   SMTP Server           : smtp.mail.yahoo.it
5.   SMTP Port             : 465
6.   POP before SMTP       : false
7.   SMTP Authentication   : plain (with custom username and password)
8.   Secure SMTP (TLS)     : true
9.   Header encryption key : 

A.  Update IMAP Settings   : imap.mail.yahoo.com:993 (other)
H.  Hide SMTP Settings

R   Return to Main Menu
C   Turn color on
S   Save data
Q   Quit

Command >> 

After that configuation, setup SquirrelMail into your Apache Web Server

$ sudo echo "Include /etc/squirrelmail/apache.conf" >> /etc/apache2/apache2.conf
$ sudo /etc/init.d/apache2 restart

Now, your SquirrelMail MTA should be online!! Try it at: http://my-server-ip/squirrelmail where you only need to usw your username and password related to the smtp and imap servers configurated.

This is an example on how is the login page
squirrel1

and how the mail looks like
squirrel2

Enjoy! ;)

Setting up SSH public/private keys

SSH can be set up with public/private key pairs to have a personal security control onto your ssh connection.

To obtain your public and private keys, on your client machine you only need to type:

$ ssh-keygen -t rsa -C "John Doe "

where instead “John Doe” you must insert your name and surname.
The output is:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/fra/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

where you have to insert the filename for your key (for example “fcastagnotto_key”) and the passphrase to protect the use of your private key (lika a password).

After that, the command shows the key fingerprint and the key’s randomart image of your public key and then, your keys are created!!

You can find your private key (for me is the file fcastagnottoLINUX_key) and your public key (for me is the file fcastagnottoLINUX_key.pub) under the directory where you have been done this procedure.

Then, if your keys aren’t under your ~/.ssh/ folder, you have to move them there. For my keys, this is the command:

$ sudo mv fcastagnottoLINUX_key* .ssh/ -v

To complete the setup for the key recognition, you must copy your public key into your remote server whit the command

$ ssh-copy-id user@192.168.1.2

where the you have to replace user with your remote user and 192.168.1.2 whit the IP address of your remote machine. This command place your public key into the remote machine’s authorized_keys file. (This command ask you to insert the remote user’s password for the copy of the key)

At this point, you can test your remote recognition with

$ ssh user@192.168.1.2

and you should have to insert your passphrase, to correct login into your remote machine!!

Enjoy! ;)

Reinstall GRUB with a GNU\Linux LiveCD or LiveUSB

Sometimes, I had to install Windows in addition to GNU\Linux on the same machine. Sad days.

Best way to do this, is to start with the Linux installation -that opens the partition program- to have a right division of your disk. After this installation, I install Windows in its own partition, but this OS doesn’t like the linux bootloader and it rewrite the disk MBR with the reference to start the Microsoft Bootloader.

So in this condition, to reinstall the GRUB bootloader (the best used bootloader with new GNU\Linux distros) you can use the live distro on the CD or pendrive.
When the live-system starts, you need to know the system name of the linux partition. To know that, use the command

$ sudo fdisk -l

that shows the various partitions of the machine. Then you can identify your linux partition and know the system name that is “/dev/sdaX” or “/dev/hdaX” where X is a number.

Then, you only need to write these commands:

$ su
# mkdir /disk
# mount /dev/sdaX disk
# mount --bind /dev disk/dev
# mount -t proc none disk/proc
# chroot disk /bin/bash
# grub-install /dev/sda
# update-grub

In case you have the /boot folder into a different partition, you need to write also

# mount /dev/sdaX disk/boot

before the chroot command.

After that, you can do a normal restart of your system from HD and the bootloader is restored!

Follow

Get every new post delivered to your Inbox.

Join 51 other followers