MyBook World NAS is a wonderful product. Very cheap, comparing with ReadyNAS or Synology. Although the maximum speed is around 4M/sec in a gigabyte network. But, after enabling the ssh function (follow Martin’s firmware update method), the door to a low power consumption linux server is open.
I enabled the ipkg packages by installing optware. I also tried to follow the instruction here to help hard drive keeping cool and silent, although the light control is not working well with the 2.00.15 firmware. It was working with the old firmware. I enabled the rsync server by inserting /etc/services with
rsync 873/tcp
and /etc/inetd.conf with
rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon
.
I tried mldonky, a very powerful donkey network client. It consumes too much power and drags the system extremely slow. I tried to set up a CUPS server, however did not work. Since the new firmware does not include the gcc anymore, I cannot build the any packages now. I had compare the files between 01.01.18 and 02.00.15 as other people did, and copied the 01.01.18 gcc related files back to the new enviroment. Somehow, it just did not work. Also, some program I compiled before can not install now, such as the transmission. So, I had to use ipkg and followed both mybook-linux.co.nr and Synology‘s instructions to install transmission+clutch. Before going to the details, I just want to point out that mybook-linux.co.nr’s instruction is very good for 01.01.18 firmware, not practical for 02.00.15 firmware, due to the lack of gcc make environment. On the other side, Synology’s wiki page has the basic software install steps, but not very detailed configuration part. I also tried very hard to let transmission work just with the built in cgi interface by installing thttpd as illustrated in ReadMe. No luck for me though.
The solution is installing transmission using ipkg/optware, and configure clutch as transmission’s web interface.
1. Install libxml2, php, php-fcgi, etc by
ipkg install transmission php php-fcgi
.
I did ipkg libxml2 openssl pkgconfig before I found out the synology’s page. So if ipkg gets errors, trying to install the libraries first.
2. Configure the built in lighttpd server configure by
nano /etc/lighttpd/lighttpd.conf
(I have ipkged the system with nano and screen for convience), and uncomment the “mod_fastcgi” by removing the # at the beginning of the line (I cannot remember whether the original configure file disabled it or not). and add somthing to end of a part has
fastcgi.server = ( ".pl" =>
and
"nasMaster.pl" => (( "socket" => "/tmp/lighttpd.fcgi.socket",
.
I added , to )), and
".php" => ((
"socket" => "/tmp/php-fcgi.sock",
"bin-path" => "/opt/bin/php-fcgi",
"bin-environment" => ("PHP_FCGI_MAX_REQUESTS" => "4000"
)
))
before the )) and the final ).
I also expaned the index-file part to
index-file.names = ( "nasMaster.pl", "index.html", "index.htm", "index.php", "default.html", "default.htm")
.
3. Restart the server by
# /etc/init.d/lighttpd.sh restart
.
Everything should be good. If not, please check the error message and google/fix it.
4. Test the server by
nano /usr/www/lib/test/index.php
with
<?php phpinfo(); ?>
You may need
mkdir -p /usr/www/lib/test
and point the browser to http://mybookworld/test to confirm the php is running
5. Create a folder in /usr/www/lib with the name of clutch, and contents from
wget http://clutchbt.com/Files/Clutch-0.4.tar.gz
.
I also
chmod -R 777 clutch/
(which may not be necessary). Configure clutch by
nano /usr/www/lib/clutch/remote/data/socket.txt
with
/tmp/transmission.socket
.
6. Configure the transmission by
nano /opt/etc/transmission.conf
.
I only edited the port. The transmission.conf file is very well self-explained. You could also consider the Synology’s setting.
PIDFILE=/opt/var/run/transmission.pid
ACTIVE=/root/active-torrents.txt
HOME=/root/.transmission
7. Start transmission daemon by
transmission-daemon -s /tmp/transmission.socket
.
Check it by
ps aux | grep transmission-daemon
(three processes are expected)
8. Create a symlink for transmission-remote to set the download path.
cd /root/.transmission/daemon
ln -s /tmp/transmission.socket socket
Now set the download path and the listening port of the remote daemon. (The port has been set in transmission.conf file. I just want to be sure, because my box is behind a firewall.)
transmission-remote -f /shares/internal/PUBLIC/ <strong>-p 8888</strong>
9. Things should be rocking at http://mybookworld/clutch/.
To autostart the service,
nano /etc/init.d/transmission.sh
and
chmod +x /etc/init.d/transmission.sh
#!/bin/sh
#
# Copyright (C) 2007 JRM
#
# Starts or stops the transmission daemons.
# Writes directory permissions and changes owner for
# the transmission.socket.
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin
NAME="Transmission"
DESC="torrent daemon"
case "$1" in
start)
echo -n "Starting $DESC: "
transmission-daemon -s /tmp/transmission.socket
echo "$NAME."
sleep 2
chmod -R 777 /tmp/transmission.socket
chown -R www-data:www-data /tmp/transmission.socket
sleep 2
transmission-remote -f /shares/internal/PUBLIC/ -p 8888
;;
stop)
echo -n "Stopping $DESC: "
killall transmission-daemon
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop}" >&2
exit 1
;;
esac
exit 0
With the help of a modified /etc/init.d/post_network_start.sh file,
start() {
if [ ! -e "$POST_NETWORK_STARTED_FILE" ]
then
$SCRIPTS_PATH/crond.sh start
# $SCRIPTS_PATH/mionet.sh start
$SCRIPTS_PATH/transmission.sh start
touch $POST_NETWORK_STARTED_FILE
fi
}
stop() {
if [ -e "$POST_NETWORK_STARTED_FILE" ]
then
$SCRIPTS_PATH/transmission.sh stop
# $SCRIPTS_PATH/mionet.sh stop
$SCRIPTS_PATH/crond.sh stop
rm $POST_NETWORK_STARTED_FILE
fi
}
We are in business now! Good luck.
7 Responses to “Install transmission using ipkg built packages in the MyBook World NAS”
Leave a Reply
blog by cail
- » Buy Chinese Painting
- » a page for 99life, fdu
- » 2shRNA - design oligos for RNAi
- » Feed collection of leading biology journals
- » How to use ImageJ to analyze images?
- » Play background music
- » About CaiLog
New in 'How-To'
- http://pubmeder.appspot.com/ open to public
- PubMed-er : ease your paper reading in browser
- Use vUSBbus to backup and emulate Sentinel and HASP dongles (HASP3/HASP4/Hasp HL USB keys) #getkey
- Install Snow Leopard on EeePC 1000HA (for Google Contact Sync with photo)
- How to setup Exchange ActiveSync account on #htc #evo 4G (should work for other #android phone with HTC Sense)
- Sprint HTC #evo running on Verizon network … and speed comparison
- HTC #evo: #root from @toastcfh, RUU stocks, OTA update and @unrevoked
Hot in 'How-To'
- analog – analog/digital – digital, VGA – DVI – HDMI - 26,386 views
- Ez-12 windsurfer antenna - 14,546 views
- How to add new ringtones to iPhone - 12,326 views
- Air Video, video stream and live convert your favorites to iPod Touch, iPhone and iPad (How to setup the server for Ubuntu and OpenSolaris) - 9,504 views
- mac osx 10.5.1 kalway on Lenovo Thinkpad T43 2668AJU - 8,399 views


Hi there, came across your really useful guide.
However I am facing an error… when I try to restart the lighttpd daemon, it gave me an error :
—–
opt/bin/php-fcgi: can’t load library ‘libpcre.so.0′
2008-03-23 16:48:10: (mod_fastcgi.c.920) child exited: 16
2008-03-23 16:48:10: (mod_fastcgi.c.923) if you try do run PHP as FastCGI backend make sure you use the FastCGI enabled version.
You can find out if it is the right one by executing ‘php -v’ and it should display ‘(cgi-fcgi)’ in the output, NOT (cgi) NOR (cli)
For more information check http://www.lighttpd.net/documentation/fastcgi.html#preparing-php-as-a-fastcgi-program
2008-03-23 16:48:10: (mod_fastcgi.c.1200) [ERROR]: spawning fcgi failed.
2008-03-23 16:48:10: (server.c.673) Configuration of plugins failed. Going down.
—–
Seems that the libpcre.so.0 library is not available. I’ve tried finding it in optware, to no avail.
Please help me! Thanks!
Hi Klevin, I think you need to install a package called pcre. I had it installed when I installed the nano package.
Below is my ipkg list_installed result
bzip2 – 1.0.4-3 – Very high-quality data compression program
cyrus-sasl-libs – 2.1.22-2 – Provides client or server side authentication (see RFC 2222).
expat – 2.0.1-1 – XML Parser library
fontconfig – 2.5.0-0 – Font configuration library
freetype – 2.1.10-4 – Free truetype library
gconv-modules – 2.2.5-7 – Provides gconv modules missing from the firmware. These are used by glibc’s iconv() implementation.
gdbm – 1.8.3-2 – GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines.
gnuplot – 4.2.2-2 – Command-line driven interactive data and function plotting utility
hdparm – 8.5-1 – Linux hard drive parameter utility
libdb – 4.2.52-3 – Berkeley DB Libraries
libgd – 2.0.35-2 – An ANSI C library for the dynamic creation of images
libiconv – 1.11-2 – Converts between character encodings.
libjpeg – 6b-2 – collection of jpeg tools
libpng – 1.2.25-1 – Portable Network Graphics Libraries
libstdc++ – 6.0.3-6 – Standard C++ library, needed for dynamically linked C++ programs
libxml2 – 2.6.31-1 – Libxml2 is the XML C parser and toolkit developed for the Gnome project.
libxslt – 1.1.22-1 – An XML Stylesheet processor based on libxml2
logrotate – 3.7.5-1 – Rotates, compresses, removes and mails system log files.
nano – 2.0.7-1 – A pico like editor
ncurses – 5.6-3 – NCurses libraries
openldap-libs – 2.3.38-1 – Open Lightweight Directory Access Protocol
openssl – 0.9.7m-3 – Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari
pcre – 7.6-2 – Perl-compatible regular expression library
php – 5.2.5-1 – The php scripting language
php-fcgi – 5.2.5-1 – The php scripting language, built as an fcgi module
pkgconfig – 0.15.0-1 – Package configuration tool
popt – 1.7-2 – A C library for parsing command line parameters.
procps – 3.2.7-6 – PROCPS System Utilities
readline – 5.2-2 – The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are
screen – 4.0.3-2 – A screen manager that supports multiple logins on single terminal
termcap – 1.3.1-2 – Terminal emulation library
thttpd – 2.25b-5 – thttpd is a lightweight http server
transmission – 1.06+r5187-2 – lightweight BitTorrent client and daemon with WWW interface
unzip – 5.52-3 – A (de)compression library for the ZIP format
zlib – 1.2.3-2 – zlib is a library implementing the ‘deflate’ compression system.
Successfully terminated.
Hi – thanks for documenting your steps – unfortunately I came across the same problem as Klevin:
can’t load library ‘libpcre.so.0′
I already have pcre installed, also installed nano and the other libraries you mentioned originally:
ibxml2 openssl pkgconfig
But still no progress – have you any other ideas? I’m running 2.00.15 firmware (already on the box when I got it)
I currently have installed:
bzip2 – 1.0.5-1 – Very high-quality data compression program
cyrus-sasl-libs – 2.1.22-2 – Provides client or server side authentication (see RFC 2222).
gdbm – 1.8.3-2 – GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines.
gettext – 0.14.5-2 – Set of tools for producing multi-lingual messages
libdb – 4.2.52-3 – Berkeley DB Libraries
libstdc++ – 6.0.3-6 – Standard C++ library, needed for dynamically linked C++ programs
libxml2 – 2.6.31-1 – Libxml2 is the XML C parser and toolkit developed for the Gnome project.
libxslt – 1.1.22-1 – An XML Stylesheet processor based on libxml2
nano – 2.1.1-1 – A pico like editor
ncurses – 5.6-3 – NCurses libraries
openldap-libs – 2.3.38-1 – Open Lightweight Directory Access Protocol
openssl – 0.9.7m-4 – Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari
pcre – 7.6-2 – Perl-compatible regular expression library
php – 5.2.5-1 – The php scripting language
php-fcgi – 5.2.5-2 – The php scripting language, built as an fcgi module
pkgconfig – 0.15.0-1 – Package configuration tool
transmission – 1.10-1 – lightweight BitTorrent client and daemon with WWW interface
zlib – 1.2.3-2 – zlib is a library implementing the ‘deflate’ compression system.
Try the following?
#nano /etc/ld.so.confThe content is /opt/lib
Then
#ldconfigcail – That worked! (or it might be that I rebooted for the first time since turning the device on).
Either way, I now have a ‘test’ directory displaying results in my browser – thanks again, will move on to the rest of the steps when I get more time….
OK. I forgot my password to the web interface. Here is the reset process:
Pressing the recovery button while powering up the device resets the admin user name and password to default without erasing shared folders or volumes. The recovery button also resets network configuration to DHCP (obtain an IP address automatically). Follow the instructions below to reset the device using the recovery button.
1. Turn off the device and disconnect all cables from the unit.
2. Insert a paperclip or narrow tipped pen into the recovery slot on the back of the unit. Press and hold down the recovery button.
3. While continuing to hold down the recovery button, connect the power cable to the back of the unit.
4. Hold the recovery button down until 10 seconds after the power/activity LED lights on the front of the device, then release the button. The unit may take up to three minutes to boot up completely.
I want to access the web interface is because a new firmware 02.00.18 has been released – although there are reports saying the new firmware is not good, I trust WD only upgrade the firmware if they think it is necessary ……
For php in My Book World to be able to run, install the following three libraries first:
cyrus-sasl-libs – 2.1.22-2 – Provides client or server side authentication (see RFC 2222).
libxml2 – 2.6.31-1 – Libxml2 is the XML C parser and toolkit developed for the Gnome project.
pcre – 7.6-2 – Perl-compatible regular expression library
Then install the following two:
php – 5.2.5-1 – The php scripting language
php-fcgi – 5.2.5-2 – The php scripting language, built as an fcgi module
Run a ldconfig, and try php -v for some successful output in the command line, if not,
try the following trick
ipkg install -force-reinstall php php-fcgiYES, RE-INSTALL THE PACKAGES!