Index of /dns323/fun-plug/0.3/
FUN-PLUG 0.3
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
This fun-plug includes:
System packages:
busybox-1.6.1
dns323-utils-0.7.176
uclibc-utils-0.9.28
funplug-init-0.3
kernel-modules-0.3
strace-4.5.14
file-4.21
SSH+SFTP:
dropbear-0.49
openssh-sftp-4.6p1
NFS:
portmap-6.0
unfs3-0.9.17
RSYNC:
rsync-2.6.9
Web-Server:
zlib-1.2.3
pcre-7.1
lighttpd-1.4.15
Add-on packages:
php-5.2.3
libpng-1.2.18
libjpeg-6b
imagemagick-6.3.4_9
jhead-2.7
ruby-1.8.6
-- Installation --
Unpack funplug-0.3.tar.gz to the root of the first volume (contains
two files: fun_plug and fun_plug.tar). Reboot and wait a minute.
The telnet server will start automatically.
-- Upgrade --
Copy the new fun_plug and fun_plug.tar files into the first
volume. Before you reboot, rename/move the old fun_plug.d
directory:
telnet bob
cd /mnt/HD_a2
mv fun_plug.d fun_plug.d-old
reboot
After reboot, use telnet to copy old config files and restart
services, e.g.:
telnet bob
cd /mnt/HD_a2/fun_plug.d-old/etc
cp -a lighttpd.conf /mnt/HD_a2/fun_plug.d/etc/
cp -aR dropbear /mnt/HD_a2/fun_plug.d/etc/
...
cd /mnt/HD_a2/fun_plug.d/start
chmod a+x unfsd.sh
sh unfsd.sh
sh lighttpd.sh
sh dropbear.sh
-- start/ scripts --
The directory /mnt/HD_a2/fun_plug.d/start contains scripts to start,
stop, and restart services. After installation, only telnet is
enabled. To manually start a service, e.g. the Dropbear SSH server,
do:
telnet bob
cd /mnt/HD_a2/fun_plug.d/start
sh dropbear.sh start
To stop it, do:
sh dropbear.sh stop
Script that have their executable bit set, will be run automatically
by the fun_plug script after reboot. To set the executable bit of
dropbear.sh, do:
telnet bob
cd /mnt/HD_a2/fun_plug.d/start
chmod a+x dropbear.sh
To disable:
chmod a-x dropbear.sh
-- Setting passwords --
passwd and smbpasswd can be used to change passwords on the command
line. To make password changes permanent (i.e. survive reboots), the
changed password files must be written to flash memory. A script is
included for that purpose. After running passwd or smbpasswd, run:
store-passwd.sh
By default, root has no entry in /etc/shadow and passwd will store
the password in /etc/passwd instead. If you want your root password
in /etc/shadow, you can manually add an entry before running passwd:
echo "root::0:0:99999:7:::" >>/etc/shadow
IMPORTANT: Be sure you run the command exactly as shown. Screwing up
the shadow file can cause serious problems.
Another script is available to change a user's home directory:
change-homedir.sh user
If will change the home directory to /mnt/HD_a2/home/user (don't
forget to run store-passwd.sh to make the change permanent).
-- Telnet with password --
After installation, the telnet server does not ask for user-name and
password, but jumps directly into a root shell.
To make telnet use the login program, edit the telnetd.sh start
script, comment the LOPT variable referring to "sh", and uncomment
the LOPT variable using "login". Finally, reboot (or manually restart
telnet).
IMPORTANT: You cannot login as root unless you have set a password!
-- Time-zone/DST --
fun_plug.d/start/timezone.sh is an example script to fix time zone
configuration. It is run once after startup, and does three simple
steps:
1. write correct time zone string to /etc/TZ
2. query a time server
3. update hardware clock (RTC)
To customize the script for your time zone, edit the "timezone" and
"timeserv" variables.
For the related forum thread, see
http://forum.dsmg600.info/t572-Pulls-Wrong-Time.html
To find out about pool servers, start looking here:
http://www.pool.ntp.org/zone/@
-- Dropbear SSH server --
On the first run, the dropbear.sh start script will automatically
create host keys.
IMPORTANT: You cannot login as root unless you have set a password!
For public-key authentication, your home directory must exist and
have correct permissions. E.g. if your home directory (stored in
/etc/passwd) is /mnt/HD_a2/home/test, run:
cd /mnt/HD_a2/home
mkdir -p test
chmod 0755 test
chown test test
Then create the .ssh/ directory and copy your public key as usual.
If you want to create a key-pair on the DNS323, consult the dropbear
documentation as dropbear keys need to be converted for use with
openssh.
IMPORTANT: Public-key authentication will not work, if directory
permission of the user's .ssh directory have wrong permissions.
D-Link's firmware has a "protective measure" that sometimes changes
permissions of all files on a disk to 0777. Because of this, you
should not rely solely on public-key authentication for root access!
-- UNFS3 NFS server --
The unfsd.sh start script will create a default exports file in
/mnt/HD_a2/fun_plug.d/etc if it doesn't exist.
IMPORTANT: If you manually edit the export file, be aware that unfsd
silently fails if an exported directory does not exist.
-- Lighttpd web server --
fun_plug.d/etc/lighttpd.conf-sample is a sample configuration file
for the web server. To use it, rename/copy it to lighttpd.conf
(i.e. remove "-sample"). It will accept connections on port 8080,
look for web pages in /mnt/HD_a2/www/pages, and write logs to
/mnt/HD_a2/www/logs.
lighttpd.conf-with-php-sample is another example that enables PHP.
You need to install the extra php package!
-- Add-on packages --
You can use the funpkg.sh script to install one or more of the extra
packages. E.g. to install php, copy the php-...tgz package to your
DNS, open a telnet/ssh connection and run:
funpkg.sh /path/to/php-...tgz
For imagemagick, you also need libpng and libjpeg.
-- How the fun_plug works --
All fun-plug files are installed below /mnt/HD_a2/fun_plug.d. There
are several directories:
bin/ - all program binaries
lib/ - shared libraries
etc/ - all configuration files
log/ - log files
start/ - scripts to run at startup
The main fun_plug script will run all executable scripts (*.sh)
from the start/ directory. Script output is redirected to
log/fun_plug.log.
If the fun_plug script finds /mnt/HD_a2/fun_plug.tar, it will
unpack and remove it (this is how the installation works).
Have fun.
2007.07.21 tp@fonz.de