Intro: Harddiskless Web Server.
In an earlier instructable, a "No hard drive network" ( https://www.instructables.com/id/No-hard-drive-network/) was discussed. Now is time to carry that theme with a no hard disk web server. Why you ask? In emergencies or in disaster situation, it may be imperative to get information out quickly. You will be able to set up a web server without disturbing an existing machine or where the hard drive has failed. For example: you web server hard drive(s) have failed and you do not want to have an empty site facing the public. You can use the no hard disk web server to keep your site up and let users know what is going on till repairs can be made.
Note: Read the whole instructable through first. This instructable was mean for at least intermediate to advanced users. Please get a professional to help if you at all feel uncomfortable with doing any of this instructable. I will not be responcible for any issues. Also some thumb drives may not work with this set up. Try at your own risk.
Step 1: What Is Needed.
1 - Working computer running ubuntu to download software and create the image on the usb drive.
1 - Host computer with a usb port that can boot from the usb port..
1 - Usb drive large enough to hold all the files.
Step 2: Get the Software.
Step 3: Put Your Web Documents Into an Archive.
Go to the directory where the web pages you have created are and create and archive. This file will be copied to your usb image later. (I took mine from an existing server.)
sudo tar czf htdocs.tar.gz *
(your web server's document root
- Pack all your documents into the tarball htdocs.tar.gz, i.e.:
# tar czf htdocs.tar.gz *)
Step 4: Create the Usb Image.
1. Put empty usb drive into computer (it will get erased!!!!)
2. Choose Disk image. Press the ... button and go to the directory where you downloaded the iso and choose it. Make sure you are pointing to a valid usb drive. (BE CAREFUL DO NOT POINT IT AT YOU HARD DRIVE!!!!!)
3. Press ok. It may take awhile depending on your system.
4. When it is done I usually exit in case I need to close some programs first. Besides we still need to copy the web server documents to the drive.
Step 5: Copy the Web Documents to the Drive.
Now you want to copy the tar web document archive you created earier over to the www directory on the usb drive. (Actually I had already copied mine).
Step 6: Time to Test.
You need to go to the system that you want to use as a web server and go into the bios to set the system to boot from the usb drive. Consult your owners manual. (older systems may not allow you to do this.) If you are not sure please get a professional to help. There are so many bios setups, there is no way I can describe them here.
Boot the destination machine and you should be in business! On another machine start the web browser and point it ti the ip address of the web server.
Step 7: Backup Plan:
If the Unetbootin plan does not work, you might try the Start up disk creator under System> Administration.
Do not think that lamppix is supported anymore. Ccan just as wel use a regular linixinstalled to a usb stick and do just as well he live cd is not so crucial. I did include to alternative though.
Step 8: Alternative 1.
SLAMPP is a generic Linux distribution that can boot directly off a CD/DVD-ROM drive, or optionally can be installed on a local hard disk. It is designed to be used as an "instant home server". SLAMPP comes with preconfigured tools and applications that allow a personal computer to function as a server. Unlike other Linux Live CD/DVD distributions, SLAMPP is targeting to two main user groups, namely: (1) average users, new to Linux, by giving them the chance to experiment with a non-Windows operating system, without the risk of changing or re-configuring the user's existing system, and (2) experienced users, by providing them server applications and utilities within reach. Can you imagine how handy it is to have and carry a linux live CD/DVD that provides all things you need to setup such kind of server? Moreover, SLAMPP strives for a good balance and combination between desktop and server applications.
Latest stable release
SLAMPP Live CD/DVD 2.0.2 (Kalinda) - October 30, 2009
Download the latest SLAMPP here.
What powers up SLAMPP 2.0.x?
- Turns a personal computer into an instant home server which provides support for common protocols, such as: HTTP/HTTPS, FTP, POP, IMAP, SMTP, SSH, DHCP, Squid, etc.
- Modularity. The ability to add additional tools and applications easily in the form of modules. Each new module will be integrated seamlessly during the booting process. Aside from all the modules provided in the Live CD/DVD, custom modules can be created. The tools to do this can be found on the Live CD.
- Webmasters and web developers can use SLAMPP to show their work to others. Just put your web projects on the CD/DVD and SLAMPP will show them instantly.
- Uses linux kernel 2.6 which provides better support for hardware.
- All setting and configuration changes made during use can be stored on the harddisk.
- Can be installed onto the harddisk to access the server permanently.
- Equipped with Integrated Development Environments, full libraries for web and linux development, various programming languages and databases, complete Open Office suite, multimedia and graphics applications, distributed revision control systems, firewalls, antivirus and content scanner.
- Uses slapt-get/netpkg/Zendo for package management tools and Xfce as desktop environment.
- Kernel: 18.104.22.168
- Desktop: Xfce 4.6.1
- HTTP: Apache 2.2.13 with various mods
- FTP: PureFTPd 1.0.21, PureAdmin 0.4, vsftpd 2.1.2, gFTP 2.0.19
- SMTP: QmailRocks 2.2.1 package
- POP/IMAP: Courier-IMAP 3.08
- DHCP: server 3.1.2p1, client 3.2.3, gadmin-DHCPD 0.4.4
- DNS: BIND 9.4.3_P3, gadmin-BIND 0.2.3
- Proxy: Squid 3.0-Stable14, gadmin-SQUID 0.1.0, dansguardian 22.214.171.124, sarg 2.25
- SSH: OpenSSH 5.2p1
- Samba 3.2.13, gadmin-SAMBA 0.2.7
- CUPS 1.3.11
- Revision Control: CVS 1.11.23, Subversion 1.6.4, Git 1.6.4, Mercurial 1.2.1, tkcvs 8.0.3, RapidSVN 0.9.8
Programming, web and linux development tools
- Languages: PHP 5.2.10, Perl 5.10.0, Python 2.6.2, Ruby 1.8.7_p174, Lua 5.1.4
- HTML and text editor: Bluefish 1.0.7, Geany 0.17
- IDE: Netbeans 6.7, EasyEclipse for LAMP 126.96.36.199, Gambas 2.14, Lazarus 0.96.2, Glade 3.6.0
- GTK+1.2.10, GTK+188.8.131.52, Qt-Base 3.3.8, Qt-Base 4.5.0
- Frameworks: web.py 0.32, Django Python Framework 1.0.2, PRADO PHP Framework 3.1.5, Symfony Web PHP Framework 1.2.8, CodeIgniter 1.7.1, Ruby on Rails
- Compiler: gcc 4.3.3, glibc 2.9
- Java Developmet Kit (JDK) 6u14, Java Runtime Environment (JRE) 6u15, GlassFish Server, Apache Tomcat
- Database: MySQL 5.0.84, SQLite 184.108.40.206, PostgreSQL 8.3.7, FirebirdSQL 2.1.2
- Webmin 1.400 / Usermin 1.410
- Web applications: phpMyAdmin, Net2FTP, RoundCube, HTTrack
- Firewall: Firehol R5 v1.273 / ipkungfu 0.6.1 / Firestarter 1.0.3
- Network: Cacti, Nagios, Wireshark, nmap, Snort, gFTP, ntop, Nessus, chkrootkit, rkhunter, honeyd, oinkmaster, TightVNC, rdesktop, NX Client 220.127.116.11, TN5250 Emulator, rsync 3.0.6, LinNeigborhood, Tor, Privoxy
- Antivirus and content scanner: ClamAV 0.95.2, qmail-scanner 1.22
- Internet: Iceweasel 3.0.10, Opera 9.64, Sylpheed 2.6.0, Pidgin IM 2.5.8, Liferea 1.4.28, Links 2.2, Gwget Download Manager 1.0.1, XChat IRC 2.8.6, Transmission BitTorrent client 1.51
- Graphics and Publishing: Blender 2.49, The GIMP 2.6.6, Inkscape 0.46, Dia 0.96.1, Scribus 18.104.22.168
- Office: Open Office Suite 3.1.0, ePDFViewer 1.0.7, Planner 0.13, Gnucash 2.2.9, Homebank 4.0.4
- Multimedia: Exaile 0.2.14, Totem 2.26.1, goobox 2.0.0
- Utilities: Brasero 2.26.0, Dufie, Htop, emelFM2, GParted 0.4.6, sbackup 0.10.4, wicd 1.6.2, Ndiswrapper Network Drivers, Wine 1.1.20, Isomaster 1.3.5, Xsane 0.996, MidnightCommander, ImageMagick
- Emulator: QEMU 0.10.2, qemulauncher 1.7.4
- Package management: slapt-get/gslapt, pkgtool, netpkg/zenpkg, zpm/Zendo, slackpkg
- Read all packages that have been installed here, Full list of installed packages.
Have fun with SLAMPP!
Step 9: Alternative 2.
LAMP stack includes all the standard features in TurnKey Core, and on top of that:
- SSL support out of the box.
- PHP, Python and Perl support for Apache2 and MySQL.
- XCache - PHP opcode caching acceleration.
- PHPMyAdmin administration frontend for MySQL (listening on port 12322 - uses SSL).
- Postfix MTA (bound to localhost) to allow sending of email from web applications (e.g., password recovery)
- Webmin modules for configuring Apache2, PHP, MySQL and Postfix.
A separate LAPP stack appliance features PostgreSQL instead of MySQL.
- Webmin, SSH, MySQL, phpMyAdmin: username root