White Box Enterprise Linux 3.0

 

Installation of a LAMP server with FrontPage Server Extensions

This project came about due to a need for a server at our school (the Culver Academies) to house student projects. We are a laptop school, and all the students have FrontPage. Previously we had used ClarkConnect 1.X and the rpms from Joshie to achieve something similar, but ClarkConnect now charges for educational use, and they are Fedora based. I was interested in something that would have a long support life, and wanted to use Apache 2.0.X. White Box seemed like the perfect solution. While I can create and give away installation CD's, I can also follow the same procedure with an educational license of RHEL 3.0.

The installation is somewhat compulsive about turning off services. This is for security as well as to conserve memory and cpu cycles. YMMV.

The project provides a network user folder via samba and a directory in that user folder to house a web page. FrontPage Server Extensions are installed for the root web and for each user web. Download and unzip the zip file with all the binaries and conf files.  

The Mondo archive will create an iso about 450 meg, and this can be used for backup or transferring the OS to a new hard drive. 

Server Size Installation Basic Configuration Install FPSE Configure UserDir
Create a User Enable FPSE for the User Odds and Ends  Mondo GNU Free Documentation License

 

Please contact Tom at haynest@culver.org if there are corrections or suggestions. I want to script the UserDir FPSE installation when a user is created. 

I relied very heavily on John Spencer's howto in my initial installation. He deserves a lot of credit for sweating details on this procedure.

Copyright (c) 2003 Thomas E. Haynes - The Culver Academies. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Section, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".


Server Size

The server described is a minimal installation intended to be run headless and administered remotely. A PII 300 and 128 megs of ram is a good starting place for an installation machine. If you plan to use server extensions or web utilities in PHP with more than about 10 or 12 users at the same time, you will probably want 256 megs of ram. Try it and see. The hard drive size will depend on the number of users, but my test machine at school was an AMD 300 with 128 megs of ram and a 3 gig HD. It worked OK with a class of 15. It would hang if the same class used Moodle. With 256 megs of ram, it was slow with Moodle, but it would not hang. You can always try it and see. Ram is cheap these days. When it comes to servers, beefier is always better, but the howto is written for a classroom/lab/department server, and the assumption is that you will have a castoff workstation pressed into service as a server.

Installation

The described installation will require all three installation CD's.

Boot with the CD and assign a static IP/gateway/DNS. Set the hostname and activate the network device on boot. Disable the firewall since the machine is intended to be used on a machine in the intranet. If you want to put the machine on the internet, it should be firewalled, and that is another howto.

Select a custom installation so you can pick and choose packages.

  1. Uncheck everything in Package Group Selection.
  2. Check the Webserver option and in that group check "httpd-devel." Uncheck "squid" and "redhat-config-httpd."
  3. Check "Windows File Server."
  4. Check "Development Tools" and in that group uncheck all the options.
  5. Check "MySQL Server." In that group check "php-mysql."
  6. Check "System Tools."  

This should give you a base installation of about 900 meg and not too much junk and clutter. If you wanted to, this could be pared down a lot. If you don't trim out a few things, the backup will be too big to fit on a single CD when it is compressed. Once you reboot, log in as root and run "yum -y update" from the command line. Once this process finishes, you will be current, patched, etc. Reboot to use the new kernel (it will be the default).

Basic Configuration

  1. Login with WinSCP. Use the IP address and port 22. On the left, navigate to wherever you unzipped the files. On the right navigate to /etc
  2. Transfer the file "redhat-release" to /etc. It will ask if you want to replace the current file, and the answer is "yes." This will (incorrectly) identify the release as RHEL 3.0 for the purposes of making webmin work. Before long, webmin will be configured to work with WhiteBox without this dodge, but for the time being, this step is necessary. 
  3. Move the "skel" file to /etc and move "smb.conf,"  to /etc/samba, and "srm.conf," and "access.conf" to /etc/httpd/conf
  4. Move "httpd.conf" to /etc/httpd/conf.
  5. Move HTTP_UN... to /var/www/error
  6. Delete /var/www/manual
  7. Move "index.htm," "webalizer" and "phpsysinfo" to /var/www/html 
  8. Transfer the webmin rpm to /root, and click on the terminal window. Run "rpm -Uvh *.rpm" When webmin is installed, delete the rpm and open a browser. Enter http://yourIP:10000 and login.
  9. Go to "System" and then "Bootup and Shutdown."
  10. Set the httpd, mysqld, and smb to start at boot.
  11. Set apmd, cups, gpm, ip6tables, iptables, isdn, mdmonitor, nfslock, pcmcia, and portmap NOT to start at boot. 
  12. Reboot.

Install FPSE

  1. Login to WinSCP again and transfer fp_install.sh and fp50.linux.tar.gz to /usr/local. From the command line run "chmod 755 /var/log/httpd" and "tar xvfz *.gz" Change the permissions on fp_install.sh to 744 in WinSCP.
  2. Login via PuTTY. Enter the following commands. It is possible to copy and paste into PuTTY with a right click.

    "cd /usr/local"

    "./fp_install.sh"

    Follow the prompts. Consider printing out the prompts/responses so you get the paths correct.

    "cd /usr/local/frontpage/version5.0/bin/"

    "./owsadm.exe -o setadminport -s /etc/httpd/conf/httpd.conf -port 5561 -username admin -pw <yourPW>"

  3. Try logging into http://<hostname>:5561 Resist the temptation to do much because we aren't done yet. While we are here click on "Set Installation Defaults" enter "localhost" for the SMTP mail server. For the from and reply-to, you are on your own. 

Configure UserDir

  1. Log into webmin. Go to "Servers" and then "Samba...   "
  2. With both of the "Configure Automatic...   " options, open and check all the check boxes.

Create a User

  1. In webmin, go to "Systems" and "Users and Groups."
  2. Click on the "Module Config" tab. Change the "Permissions on new home directories" to 711
  3. Change "Default shell for new users" to /bin/nologin
  4. Save and click on "Create a new user." 
  5. For the purposes of this howto, we will create the user "test" with password "password"
  6. Type "test" in the user name and the password in the "Normal password" space. You can fill in  more user info, but resist the temptation to mess with too many things here.
  7. At this point, the user can log in at \\<hostname>\home\test There is network storage in the "private" folder. The contents of the "public_html" folder are the user webpage.
  8. At this point http://<hostname>/~test will be the user web page.

Enable FPSE for the User

  1. At a WinSCP or PuTTY command prompt, paste in 

    "cd /usr/local/frontpage/version5.0/bin/"

    "./owsadm.exe -o install -p 80 -s /usr/local/apache/conf/httpd.conf -web \~test -xu test -xg test -u admin -pw <yourPW>"

  2. This creates an admin user for the frontpage web, and it enables the server extensions for this web. You will have to log in via frontpage as admin to create a user account.

Odds and Ends

  1. Go to http://<hostname>/phpsysinfo to see server info.
  2. In webmin go to "Servers" and "Webalizer...   " Click on "/etc/httpd/logs/access_log" and in the "Write report to directory" type in "/var/www/html/webalizer" Enable "Scheduled report generation" and click on some appropriate intervals for the cron job. The "Run on selected schedule...   Hourly" works. Go back to the "/etc/httpd/logs/access_log" and click on the "Generate Report."
  3. To view the generated report, you can go to http://<hostname>/webalizer

Mondo

  1. Transfer the folder "Mondo" to /root with WinSCP.
  2. Open the folder and at a command prompt type "rpm -Uvh *.rpm"
  3. Delete the Mondo folder.
  4. From a command prompt in PuTTY, type "mondoarchive -iO -d /root -F" This will create an iso in /root and not prompt to create a boot floppy. Burn a CD from the iso, and if you boot from it and type "nuke" it will transfer your image to a new hard drive. There are lots of options, see the howto.