Howto setup servers for the Zaurus. (Apache, OpenSSH, Telnet, Samba, Boa)
Apache
1) Download the ipk apache-1.3.19-php-4.0.5_0.1_arm.ipk
2) Install the files onto the Zaurus via the usual routes. Note that
the destination must be ram.
Note that once installed the configuration files are in /home/www
3) Create a test php doc, I just put <?php phpinfo() ?> in an index.php
in /home/www/htdocs
4) If Boa is running you must stop it. (Via Server Manager or by calling /etc/rc.d/init.d/boa stop)
5) Start apache, /home/www/bin/httpd start
6) Open Opera and point at 127.0.0.1/index.php
You should see the servers phpinfo on your Zaurus. To stop the server simply call /home/www/bin/httpd stop.
To better improve the performance of Apache on the Zaurus tweak the httpd.conf file with the following settings:
MaxKeepAliveREquests 3
MinSpareServers 1
MaxSpareServers 2
StartServers 1
MaxClients 5
OpenSSH 1.3
1) Download the ipk openssh_1.2.3_arm.ipk
2) Install the files onto the Zaurus via the usual routes. Note that
the destination must be ram.
3) Fire up a terminal and type the following line to generate a key file:
ssh-keygen -b 1024 -f /usr/local/etc/ssh_host_key -N '' Note: '' are two
single quotes (')
4) When this generation of the key is done, you're ready to use ssh, sshd
and scp.
5) To reduce the memory footprint, you can start sshd from inetd by adding
the following line to /etc/inetd.conf:
ssh stream tcp nowait
root /usr/sbin/tcpd /usr/local/bin/sshd -i
Telnet
The Telnet Server is actually built into the Zaurus so you don't need to
install it.
Uncomment the line in /etc/inetd.conf that looks like:
#telnet stream tcp nowait root /usr/sbin/in.telnetd
by removing the # in the front.
Then restart the network services
#killall -HUP inetd
Finally add the following to be able to login remotely as root:
ttya0
ttya1
ttya2
ttya3
ttya4
ttya5
ttya6
ttya7
to /etc/securetty
Samba Client
If you don't already have 'smbmount' install the package here
1) Add the IP address of the machines
where your shares live to /etc/hosts on the Zaurus
192.168.0.100 windowsbox1
192.168.0.101 windowsbox2
Here here an example of how to access a share called 'music' on windowsbox1.
2) For each share point that you want to mount you need to create a mount point.
mkdir /mnt/music
3) Then issue the command: (replacing myname with the corect username)
smbmount //windowsbox1/music /mnt/music -o username=myname
You should get a return prompt back with "Password:".
Enter your password.
Note that if you don't place the ip addresses in /etc/host in step 1 you can still mount the drive, but use the ip address instead of the machine name. If this works right then "ls /mnt/music" will show the
contents of your music share on windowsbox1.
You can browse the files using the File Manager. In
the Tree tab just go to /mnt/music and then in the
List tab you will see the files/folders. When you get
to an MP3 file in the List view then tap it, tap File,
and tap Open in Media Player.
Samba Server
http://prdownloads.sourceforge.net/zaurus/sambaserver.zip
1. Read /usr/local/samba/lib/README.server and follow instructions.
2. Change the hostname (Windows doesn't like the Zaurus being called localhost):
# hostname somehostname
3. So that you can keep this hostname through reboots, edit /etc/rc.d/rc.local
to set the new hostname at startup
In addition to this you should tell the zaurus to execute /etc/rc.d/rc.local at startup, since it doesn't do so by default. To do so, execute the following commands:
# cd /etc/rc.d/rc5.d
# ln -s ../rc.local S49local
4. Finally add a line to /etc/hosts (probably the following):
192.168.1.201 somehostname.somedomain
somehostname
once done, smbd can start.
run /etc/init.d/samba start
After installed the samba-server package, you will find:
- the main directory of the application, in /usr/local/samba;
- the start/stop script "samba" in /etc/init.d.
First, you need to add a new user on your Z that matches an username on your
Windows box:
# adduser john
(you can then remove /home/john)
# /usr/local/samba/bin/smbpasswd -a john
Then, edit the /usr/local/samba/lib/smb.conf file, and set different
directories/attributes in the sections like these below:
[MyZaurus]
comment = Read only access to the root directory
path = /
read only = yes
guest ok = yes
[TempCondivision]
comment = Share a directory with read/write access
path = /tmp
read only = no
guest ok = yes
If you have a network card, you might want to automate this, editing the
/etc/pcmcia/network script (do a backup first).
Samba Client
It looks like the 1.1x ROM does support smbfs. (You can verify this by cat'ing
/proc/filesystems.) The ROM however is lacking the smbmount utility
needed to actually carry out the mount. I found that by installing the libpam
& smbfs packages from the Debian ARM port you can easily get it working.
The packages are located at:
http://ftp.debian.org/debian/dists/stable/main/binary-arm/base/libpam0g_0.72-9.deb
http://ftp.debian.org/debian/dists/stable/main/binary-arm/otherosfs/smbfs_2.0.7-3.4.deb
From the libpam0g_0.72-9.deb package, copy the file libpam.so.0.72 to /usr/lib.
You must also link the file /usr/lib/libpam.so.0.72 to /usr/lib/libpam.so.0.
From the package smbfs_2.0.7-3.4.deb, copy the file smbmnt to /usr/bin/smbmnt,
the file smbmount-2.2.x to /usr/bin/smbmount and the file smbumount-2.2.x
to /usr/bin/smbumount.
In order to mount a Windows drive, you issue a command such as:
smbmount //apollonia/d /home/d
Where 'apollonia' is the Windows machine's name, 'd' is the share on the
Windows machine and '/home/d' is the mount point on the Zaurus. When
performing the mount, I get a couple of warnings stating that the files /etc/samba/smb.conf
& /etc/samba/codepages/unicode_map.850 are missing. If you wish
to install these files as well, they can be found in the 'samba-common' package:
http://ftp.debian.org/debian/dists/stable/main/binary-arm/net/samba-common_2.0.7-3.4.deb
Boa
Boa is a small single threaded webserver.
1) Download the ipk: boa_0.94.12_arm.ipk
2) Start Boa by simply calling boa
3) You can change the boa configuration via /etc/boa/boa.conf or basic configuration using the server manager.
NFS
nfs.
Although a server package hasn't been made yet, The kernel of the Zaurus has a built in NFS client.
This can be used for very usefull things such as mounting a developers desktop's home directory on the Z while so binaries don't have to be transfered back and forth to be tested.
Here is an example line in a desktop's /etc/exports (500 is the normal user's UID and GID)
/home 192.168.1.0/255.255.255.0(rw,all_squash,anonuid=500,anongid=500)
Then on the Z, execute:
mount desktop_machine:/home /mnt/net
Read more in depth information from the link above about NFS and remote mounting or see the NFS howto http://www.tldp.org/HOWTO/NFS-HOWTO/.
|