Howto setup servers for the Zaurus. (Apache, OpenSSH, Telnet, Samba, Boa)
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 or openssh version 3.6.1
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 -t rsa -N newphraseword
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
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
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
You probably can skip this step in WinXP. Just use your computer name as the hostname (i.e. windowsbox1)
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.
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.
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).
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:
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:
Boa is a small single threaded webserver.
1) Download the ipk: [boa_0.94.12_arm.ipk | http://www.icefox.net/programs/Zaurus/Server%20Manager/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.
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)
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/.