12.12
In hardware, IT, linux | Tags: AMD Geode NX 1500, audio, CUPS, Debian, en, file sharing, home server, HP t5720 Thin Client, installation, LAMP, linux, MPD, printer, SAMBA, sound, wakeOnLAN
Some time ago I bought the HP t5720 Thin Client terminal to run as server for my stuff. It has an AMD Geode NX 1500 (x86, 1000 MHz) / 512 MB RAM / 6 USB ports / audio IO / VGA on board, and most importantly, it is completely silent. 512MB of manufacturer ATA flash memory allows only to place Windows XP Embedded or truncated Debian. Therefore, I installed Linux distribution on a cheap 4GB pendrive.
Note: I’ve included only the basic configuration guidelines and I do not take responsibility for the consequences of improper configuration and security of your machine. You do everything at your own risk. Most commands here should be run as root.
Installation
Keywords for usable Debian with minimal storage usage:
- usb storage netinstall with all packages unchecked / debootstrap;
- after installation: localepurge, deborphan, using apt-get without recommended packages, dropgear ssh server;
- remove unnecessary packages:
apt-get --purge remove wamerican tasksel tasksel-data dictionaries-common laptop-detect man-db info manpages
I had been playing with different settings and services when after a few months first read errors appeared. I advise against the use of cheap USB storages. I decided to reinstall the system (Debian 7.2 “Wheezy” with Xfce environment) on external hard drive and share with you my experience.
Wake On LAN
WOL allow turning on server remotely using a laptop, phone or other device plugged into the network. To use enable it in BIOS and run:
apt-get install ethtool ethtool -s eth0 wol g
This can be automated by editing /etc/network/interfaces, my looks like:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet dhcp iface eth0 inet dhcpsud post-up /sbin/ethtool -s $IFACE wol g post-down /sbin/ethtool -s $IFACE wol g
SSH without password prompt
Most of time you (or your scripts) will set up and use server features via SSH. You can avoid having to type your password every time. Commands on server side:
mkdir ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
and on client:
ssh-keygen -t dsa #(hit enter to default filename and when password prompt) cat ~/.ssh/id_dsa.pub | ssh user@serveraddress.com "cat - >> ~/.ssh/authorized_keys" #(type password)
Printer and file sharing with CUPS and SAMBA
To support printers you need a cups and cups-client pakages. Own permission to setting printers:
usermod -aG lpadmin username
Now install drivers. You can manage printers on localhost:631 web page in your browser. If you want simply share all printers in local area from console run:
sudo cupsctl --share-printers
Install samba package. Edit /etc/samba/smb.conf, make sure line “security = user” is uncommented. To make printers discoverable in [printers] section set browseable parameter to yes. You can also add shared folder like this:
[ShareName] path = /path/to/shared/dir read only = no writeable = yes browseable = yes valid users = user create mask = 0640 directory mask = 0750
You can change your samba password in console:
pdbedit -a -u username
After all changes restart CUPS and SAMBA:
/etc/init.d/cups restart /etc/init.d/samba restart
Well done, you should be able to access your resources from Linux and Windows or even Android device (eg. Let’s Print Droid).
Audio and MPD
For base audio support I installed alsa-base & alsa-utils packages. I recommend madplay as console player (it’s VERY small). For background playback run:
nohup madplay -Q -v foobar.mp3 >/dev/null & #to stop simply kill madplay: killall madplay
And what if we want to have a remote controlled stereo? Music Player Daemon was made for this. Lets try it out!
- install mpd and mpc packages,
- it is problematic to play music for all users after boot, the easiest, but least safe way is to give the music folder permissions for everyone (I use special partition mounted with noexec option),
- edit /etc/mpd.conf and change music_directory to your music path, bind_to_address => “any”, uncomment auto_update, if you don’t have Avaci server set zeroconf_enabled to “no”,
- perform mpd restart sudo /etc/init.d/mpd restart,
- run:
mpc update mpc ls | mpc add mpc play #if you can't hear music try: sudo chsh -s /bin/true mpd
If still no playback try set sympfollow_outside_symlinks to “yes”.
LAMP
Linux-Apache-MySQL-PHP combination is all you need to set up your WWW server.
MySQL:
apt-get install mysql-server mysql-client
Enter password and repeat it when prompted.
Apache2:
apt-get install apache2
Test with localhost or server ip address on web browser. Should display “it works!” page.
PHP5:
apt-get install php5 libapache2-mod-php5 apt-get install php5-mysql
PhpMyAdmin:
apt-get install phpmyadmin
Choose apache2 and “yes” for “dbconfig-common” question, type passwords.
After that if localhost/phpmyadmin is Not Found add
Include /etc/phpmyadmin/apache.conf
to the end of /etc/apache2/apache2.conf file.
Warning: Use of undefined constant st_related_posts - assumed 'st_related_posts' (this will throw an Error in a future version of PHP) in /home/platne/serwer135737/public_html/tomszom.com/wp-content/themes/zdark/single.php on line 17
1 Responses.
This is a very good tip particularly to those new to the blogosphere.
Simple but very accurate information… Appreciate your sharing
this one. A must read article!