Tuesday, August 12, 2008

Setup LAMP + OCS Inventory

Apache

Install Apache
sudo apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
Testing HTTP Server by open a web browser and enter http://localhost

PHP

Install PHP5
sudo apt-get install libapache2-mod-php5 libapache2-mod-ruby php5
php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick
php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming
php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy

php5-xmlrpc php5-xsl
Stop/Restart Apache
sudo /etc/init.d/apache2 restart
Test the installation
sudo gedit /var/www/testphp.php
Insert this following line into testphp.php file.

Save this new file.
Open a web browser and enter http://localhost/testphp.php
Be sure to remove the file afterwards, as it may pose a security risk.
sudo rm /var/www/testphp.php

MySQL

Install MySQL Server
sudo apt-get install mysql-server mysql-client libmysqlclient15-dev
MySQL initially only allows connections from the localhost (127.0.0.1). We’ll need to remove that restriction if you wish to make it accessible to everyone on the internet. Open the file /etc/mysql/my.cnf
sudo vi /etc/mysql/my.cnf
Find the line bind-address = 127.0.0.1 and comment it out then save the file.
MySQL comes with no root password as default. This is a huge security risk. You’ll need to set one. So that the local computer gets root access as well, you’ll need to set a password for that too. The local-machine-name is the name of the computer you’re working on.
mysqladmin -u root password newpassword
mysqladmin -h root@local-machine-name -u root -p password newpassword
sudo /etc/init.d/mysql restart

MySQL for Apache HTTP Server
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
To get PHP to work with MySQL, open the php.ini file
sudo vi /etc/php5/apache2/php.ini
You’ll need to uncomment the “;extension=mysql.so” line so that it looks like this
extension=mysql.so
Restart Apache
sudo /etc/init.d/apache2 restart

Friday, August 08, 2008

Get Ride Patches XP

There is a lot of cracks or patches or fixes that aims to bypass or skip Windows Genuine Advantage (WGA) validation process, or trick the WGA validation results to be always genuine. However, these workarounds do not address the fundamental issue of the problem - that’s the product CD key or volume license key (VLK) registered in your copy of Windows XP, Windows XP Media Center Edition (MCE) and Windows Server 2003 is invalid or has been blocked or banned by Microsoft. The following ultimate WGA Patcher Permanent Kit with cracks and procedures all-in-one package will convert and transform the pirated Windows operating system into genuine and legitimate OS when validate by Microsoft’s WGA, by changing the serial number, product key or VLK of the Windows with a valid CD key, and when necessary, apply patch.

  1. Download WGA Patcher Permanent Kit (WPatcherP5575987.zip) (link removed due to complaint from Microsoft) or GenuineWindowsPatcher.zip (download removed due to complaint from Microsoft) which contains Magical Jelly Bean Keyfinder v1.51 (keyfinder.exe), Microsoft Genuine Advantage Diagnostics Tool 1.5.0717.0 (MGADiag.exe), wga-hosts-fix 0.1 (wga-fix.exe), and Windows XP, Windows Server 2003 VLK key generator (MSKey.exe or Windows XP Keygen.exe).
  2. Extract the zip file.
  3. Run the Windows XP/2003 key generator (MSKey.exe or Windows XP Keygen.exe).
  4. In the key generator, under the Product Family, select “Windows XP Pro. VLK”, and click the “Generate” button to generate a valid and genuine serial key for Windows XP (choose Windows Server 2003 VLK for Windows 2003). If key generator doesn’t work, try to find a product key on web.
  5. Note down the product key or serial that is generated (can leave the program opens). The idea is to get VLK key that yet to be blocked or unknown to Microsoft.
  6. Execute Magical Jelly Bean Keyfinder (keyfinder.exe). If you having problem with Keyfinder, you can use any other Windows key changer listed here, such as RockXP and KeyFinder Thing.
  7. Once launched, Magical Jelly Bean Keyfinder will display the existing Windows and Office product key in the system. Select “Microsoft Windows” tab (open by default), and click on Options menu, and then select “Change Windows Key”.
  8. In the Change Microsoft Windows XP Key window, key in the product key or serial number generated from the keygen program in the boxes.
  9. Click on Change button when done.
  10. Magical Jelly Bean Keyfinder will use Microsoft’s WMI script to change the product key of Windows XP. Follow on screen instruction to continue.
  11. Run wga-fix.exe program. Click on Yes button on the ‘wga-host-fix 0.1 window’ to redirect WGA authorization and validation request to loopback address (127.0.0.1). Alternatively, open Command Prompt, and navigate to \Windows\System32\drivers\etc\ directory, edit the Hosts file, and add in the following entry to the end of the file:127.0.0.1 mpa.one.microsoft.com
  12. Uninstall or delete any cracked or patched LegitControlCheck.dll, WgaTray.exe and WgaLogon.dll located in \Windows\System32 folder. You may also need to delete “Windows Genuine Advantage Validation Tool” located in C:\Windows\Downloaded Program Files\ folder.
  13. Go to Windows (Microsoft) Updates or Microsoft Download Center to download updates or applications in which require validation. Install WGA Validation Tool ActiveX when prompted. (Note: If you’re having problem to validate Windows with MGADiag.exe in later process, you still skip previous and this step first or apply the patched LegitCheckControl.dll again, which means leave the patch and crack intact, and only come back to delete any crack or patch, and install original WGA validation tool later. This especially true if you have LegitCheckControl.dll 1.5.723.1 with MGDIAG.exe 1.5.0717.0)
  14. Run the Microsoft Microsoft Genuine Validation Diagnostic Tool (MGADiag.exe), and click on Continue button to proceed.
  15. Click on OK when MGADiag finishes processing and displays your genuine status. The status should show GENUINE, and not NOT ACTIVATED.
Step 6 - 10 can also be done without using any hacker tool, by using Activation Wizard following official tutorial from Microsoft on how to change the Volume Licensing product key on a computer that is running Windows XP SP1 and later versions of Windows XP detailed as below.
  1. Click Start, and then click Run.
  2. In the Open box, type regedit, and then click OK.
  3. In the left pane, locate and then click the following registry key:HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Current Version\WPAEvents
  4. In the right pane, right-click OOBETimer, and then click Modify.
  5. Change at least one digit of this value to deactivate Windows.
  6. Click Start, and then click Run.
  7. In the Open box, type the following command, and then click OK.%systemroot%\system32\oobe\msoobe.exe /a
  8. Click Yes, I want to telephone a customer service representative to activate Windows, and then click Next.
  9. Click Change Product key.
  10. Type the new product key in the New key boxes, and then click Update. If you are returned to the previous window, click Remind me later, and then restart the computer.
  11. Repeat steps 6 to verify that Windows is activated. You receive the following message:Windows is already activated. Click OK to exit.
Shortcut to Genuine Windows without Any Crack
Unable to download the crack? Or afraid that the cracks of keygen and key changer contains virus or trojan? You can simply add in the entry in step 11 (i.e. 127.0.0.1 mpa.one.microsoft.com) into your Hosts file if VLK key of your Windows installation has PID within the range of -640 to -641 or any other volume license product key that is not blocked. You can try it anyway no matter what product key you used to see if it working with existing CD key without changing the key.
Note: This shortcut by using wga-fix.exe or manually editing the Hosts file should works out of the box immediately on Windows XP Media Center Edition (MCE) 2005 and Windows XP Tablet PC Edition, and by luck on Windows XP Home, XP Professional and Windows 2003.
  1. Simply remove and delete the crack or patch that has been applied in \Windows\System32 (LegitCheckControl.dll, WgaLogon.dll, WgaTray.exe) or \Documents and Settings\All users\Application Data (sub-folders “Windows Genuine Advantage” and “Office Genuine Advantage”)
  2. Go to Windows (Microsoft) Updates or Microsoft Download Center to access Windows updates or download applications that require validation. Install WGA Validation Tool ActiveX when prompted.
  3. Add in the “127.0.0.1 mpa.one.microsoft.com” to the Hosts file located in \Windows\System32\drivers\etc\ folder. Or alternatively, just execute wga-fix.exe (download link removed due to complaint from Microsoft) contained in the WGA crack archive package.
  4. Run MGADiag.exe to validate the Windows is genuine.
After applying this trick or hack, Microsoft WGA Validation Tool will treat the Windows as genuine, as in you legally purchase and buy the Windows OS. Users can access to Windows Updates or Microsoft Updates, download WGA validation required software products from Microsoft Download Center such as as Windows Defender, WMP11, IE7, DirectX and etc, and also to install these programs with proper validation without any cracks. This hack or trick should works on Windows XP, Windows XP Media Center Edition (MCE), and even Windows Server 2003, and users can pick any browsers they like, including IE6, IE7, Firefox, Netscape or web browser powerd by IE such as MSN Explorer or AOL Explorer.
If you still having problem with this method, try out other WGA bypass methods.
Disclaimer: This article is for educational and informational purpose only. If you’re having problem with your Windows validation, contact Microsoft.
Share and contribute or get technical support and help at My Digital Life Forums.

Thursday, July 31, 2008

Install dansguardian, tinyproxy, and firehol

Original post from http://ubuntuforums.org/showpost.php?p=1222237&postcount=21

Install dansguardian, tinyproxy, and firehol

Code:
sudo apt-get install dansguardian tinyproxy firehol
Edit /etc/dansguardian/dansguardian.conf...

Code:
sudo nano -w /etc/dansguardian/dansguardian.conf
and leave everything at default. You will just need to comment out the UNCONFIGURED line

Code:
# Comment this line out once you have modified this file to suit your needs
#UNCONFIGURED
Next, you will need to edit the tinyproxy.conf

Code:
sudo nano -w /etc/tinyproxy/tinyproxy.conf
and make the following changes

Code:
##
## tinyproxy.conf -- tinyproxy daemon configuration file
##

#
# Name of the user the tinyproxy daemon should switch to after the port
# has been bound.
#
User nobody
Group nogroup

#
# Port to listen on.
#
#Port 8888
Port 3128
Now the last file to be edited is /etc/firehol/firehol.conf

Code:
sudo nano -w /etc/firehol/firehol.conf
and here is my entire firehol.conf file

Code:
#
# $Id: client-all.conf,v 1.2 2002/12/31 15:44:34 ktsaou Exp $
#
# This configuration file will allow all requests originating from the
# local machine to be send through all network interfaces.
#
# No requests are allowed to come from the network. The host will be
# completely stealthed! It will not respond to anything, and it will
# not be pingable, although it will be able to originate anything
# (even pings to other hosts).
#

version 5
iptables -t filter -I OUTPUT -d 127.0.0.1 -p tcp --dport 3128 -m owner ! --uid-owner dansguardian -j DROP
transparent_squid 8080 "nobody root"

# Accept all client traffic on any interface
interface any world
 policy drop
 protection strong
 client all accept
Then restart the services

Code:
sudo /etc/init.d/dansguardian restart
sudo /etc/init.d/tinyproxy restart
sudo /etc/init.d/firehol restart
You should now have a working internet filter without any changes being made to the proxy settings.

How to uninstall and remove webmin

How to uninstall and remove webmin after you have installed it with rmp, you can do this:
How can I uninstall Webmin?

Just run the command

COMMAND:
/etc/webmin/uninstall.sh



If you have installed the RPM version of Webmin like i have, you can use

rpm -e webmin

Dansguardian Can't locate Compress/Zlib.pm from Webmin

If you get this error try to do this

Install this package

libdate-manip-perl,
libhtml-parser-perl,
libcompress-zlib-perl

Centos or Debian

sudo apt-get install libdate-manip-perl libhtml-parser-perl libcompress-zlib-perl

Monday, July 21, 2008

How to: Install Network Monitoring Tool (Nagios+Nagmin+Webmin+Mysql+Apache2+RRDTool+NMAP) on OpenSUSE 10.2

Originally Taken From

http://opensource-2u.blogspot.com/2007/08/how-to-install-network-monitoring-tool.html

Tuesday, August 28, 2007

How to: Install Network Monitoring Tool (Nagios+Nagmin+Webmin+Mysql+Apache2+RRDTool+NMAP) on OpenSUSE 10.2

These are step by step how to setup network monitoring tool on OpenSUSE 10.2:

Install MySql, RRDTool, NMAP and Apache2:
1. Open the YaST software management. Select package mysql, mysql-client, mysql-shared, rrdtool, nmap and apache2. (*Accept all dependencies)
2. After install all package run this command mysqladmin -u root password "yourpassword"
3. Start mysql by run this command rcmysql start
4. Make this service automatically start after reboot by type chkconfig mysql on
5. Start apache2 by typing rcapache2 start
6. Make apache2 auto start after reboot by typing chkconfig apache2 on

Install Webmin:1. Download webmin from webmin.com. I recommend you to download the noarch package for support all machine architecture. Save it, such as at your desktop.
2. Go to your desktop and type rpm -Uvh webmin_name
3. Start webmin by typing /etc/init.d/webmin start
4. Log in to webmin interface by opening your browser and type https://localhost:10000

Install Nagios:
1. Open YaST and select libcrypt, perl-Net-SNMP, fping, postgresql-libs, radiusclient, apache2, gd, and perl-URI.
2. Download nagios package (
nagios-2.5-24.i586.rpm, nagios-nrpe-2.5.2-28.i586.rpm , nagios-nsca-2.5-39.i586.rpm , nagios-plugins-1.4.5-5.i586.rpm , nagios-plugins-extras-1.4.5-5.i586.rpm , nagios-plugins-sap-ccms-0.7.3-38.i586.rpm and nagios-www-2.5-24.i586.rpm )
at http://download.opensuse.org/distribution/10.2/repo/oss/suse/i586/.
I recommend use nagios version 2.5 because most stable and many package are supported.
3. Install all these packages by typing rpm -Uvh nagios*.rpm
4. Start nagios by typing rcnagios start
5. Make nagios autostart after reboot by type chkconfig nagios on
6. Check your nagios by typing http://localhost/nagios/ on your browser (firefox etc)

Install Nagmin:
Nagmin is a webmin module. To install:
1. Download nagmin from http://sourceforge.net/project/showfiles.php?group_id=77010
I recommend you to download nagmin-2.1.0.tar.gz . It is because easy to install by a setup script. Other nagmin doesn't have a setup script.
2. Extract the nagmin by typing tar xvzf yournagminname .
3. Go to the nagmin folder and type ./setup to intall. Follow this guide

Database name to use or create : [Enter]
Nagios Root directory
: /etc/nagios
[Enter]
Nagios ETC directory
: /etc/nagios [Enter]
Nagmin root directory
: [Enter]
Nagios Configuration File: :
[Enter]
CGI Configuration File:
: [Enter]
Entries will be displayed for accuracy, select Y to continue.
Script will continue with its process.
Select N to question for viewing the SQL file
Select Y to other question

4. Now acces webmin and install the Nagmin plugin

Configure Nagmin setting:
Configure Nagmin Nagios by clicking Module Config in webmin. Change the configuration to the following value:
Nagios BIN directory /usr/bin
Nagios ETC directory /etc/nagios
Nagios LIBEXEC directory /usr/lib/nagios/plugins
5. Open your terminal and type vi /etc/nagios/cgi.cfg
find use_authentication=1; chage 1 to 0
find default_user_name = user, chage the user by deamon
6. Save and quit.
7. Now install NagMin module for webmin. To install go to Webmin --> Webmin Configuration --> Webmin Modules. Install the nagmin module from the nagmin folder that you extract before. The file name is look like
nagmin-2.x.x.wbm

The Error
1. (Error: version issue):
Some error found when your login webmin --> Server --> nagMIN Network Monitoring.
Error message:
The MySQL client program /usr/bin/mysql does not appear to be the correct version. Webmin only supports MySQL versions 3 and above.
The command /usr/bin/mysql -V returned :
/usr/bin/mysql  Ver 14.12 Distrib 5.0.22, for redhat-linux-gnu (i686) using readline 5.0
Suggested fix:open terminal and type vi /usr/libexec/webmin/nagmin/index.cgi
find "distrib" and add "| 5" after 4 at same line
save and quit the vi.

2.
error found when your login webmin --> Server --> nagMIN Network Monitoring --> in column System Databases --> nagios

error message:
"Error - Perl execution failed
Can't use an undefined value as a HASH reference at /path/to/mysql.pm line 113"
Suggested fix:
Location mysql.pm on Suse /usr/lib/perl5/vendor_perl/5.8.8/i586-linux-thread-multi/DBD/mysql.pm
At around line 109 of mysql.pm:

------------------------------------
 # Avoid warnings for undefined values
 $username ||= '';
 $password ||= '';

 # create a 'blank' dbh
 my($this, $privateAttrHash) = (undef, $attrhash);
 $privateAttrHash = { %$privateAttrHash,
'Name' => $dsn,
'user' => $username,
'password' => $password
 };
-------------------------------------

Needs to be changed to

-------------------------------------
# Avoid warnings for undefined values
 $username ||= '';
 $password ||= '';
 $attrhash ||= {};

 # create a 'blank' dbh
 my($this, $privateAttrHash) = (undef, $attrhash);
 $privateAttrHash = { %$privateAttrHash,
'Name' => $dsn,
'user' => $username,
'password' => $password
 };

Finish.

Friday, May 16, 2008

The Art and Science of Web Server Management

The Art and Science of Web Server Management


Roy Tennant
Project Manager, Digital Library Research & Development
University of California, Berkeley

Original From http://www.library.ucsb.edu/untangle/tennant.html


Abstract

Creating and maintaining a web server, particularly for a large organization, is both an art and a science. The science of link management, statistical analysis, and error redirection is but a part of what is required of Web Managers. Additional responsibilities include defining server standards, monitoring users, training others in web document design and markup, policy formation and enforcement, and data owner support services. No Web Manager is perfect, but those that approach perfection will bring a mix of skills and talents appropriate to the needs of the organization in building effective web systems.

Introduction

The following pages describe the best advice I have for managers of world wide web servers, based upon my experience with two large web servers at an academic research library. These servers encompass thousands of files and hundreds of individual "data owners" -- those with the information being provided.
Implied by my advice is a vision of the perfect Web Manager. Since this is the case I feel I must be clear that this person does not exist. I certainly do not do everything that I advocate -- rather I strive every day to attain it. I must also admit that there is as much blind luck and witchcraft involved as there is "art and science". Most web managers learn on the job and make it up as they go along.
Much of what follows is general in nature; that which is not refers to NCSA httpd running under Unix, which is probably the most widely implemented web server at colleges and universities in the United States.

Know Your Clientele

The first precept of building any information system is to know your clientele and their information needs. This is complicated by the fact that you often have at least two clienteles -- your local users (which have your primary allegiance) and the entire Internet (which comes along "for free"). So how do you serve both?
Often you can do both quite well at the same time. After all, your "local" users are in many cases "remote", in that they may never come into the library and yet have need of your services. Sometimes it is as easy as realizing you should include your area code with any phone numbers you provide. Other times it may be complicated by requirements to limit access to local users for certains kinds of information.
Knowing what information your clientele needs is but one part of the equation -- you also need to know how they will wish to use it. Structuring information for good usability on-screen is very different than doing so for printing out on paper. Occasionally you may even find it necessary to provide a second version of your information optimized for printing. Providing versions of your documents in "rich" formats such as Adobe Acrobat may also be required.
Your users will be accessing your information from a variety of hardware and software platforms. Luckily most web servers keep track of exactly what client software is being used to access your server. NCSA httpd keeps track of this information by inserting one line in a log file called "agent_log" for each client access of your server. For example:
Mozilla/2.0 (Win16; I)
This line tells you that someone accessed your server using the MS Windows 16-bit version of Netscape Navigator 2.0. The location of this file is often /var/log/httpd/agent_log.

Foster Your Data Owners

Those who have responsibility for the content being served on your web server are the "owners" of the information and therefore should be involved in how it is presented. This involvement could be as trivial as advising the person who marks it up in HTML or as substantive as doing it themselves. Those falling into the latter category should be supported in several ways:
Training
No one is born knowing HTML, so markup training is certainly a beginning requirement. But beyond that your data owners may require training in FTP, format conversion (e.g., Adobe Acrobat files, word processing to HTML conversion utilities), image acquisition hardware (e.g., scanners, digital cameras) and software (e.g., Adobe Photoshop), Internet searching techniques, and effective browser use.
Templates
Providing basic HTML templates for different types of common file structures is a very helpful way to save time creating new files. The simplest way to do this is to write an HTML file "shell" that data owners can then fill in with their own information (e.g., {http://www.lib.berkeley.edu/Web/Templates/}). For some types of files that do not require sophisticated markup you may want to program a script that will create a web document with the appropriate basic markup for your server simply by filling in a few blanks on a form (e.g., {http://www.lib.berkeley.edu/Web/Forms/minimal.html}). This technique can be particularly important to allow those who do not have the time or inclination to learn HTML to contribute information to your web server.
Advice
Chances are you do more HTML as a web manager than anyone else in your organization. Therefore you have likely learned a few things along the way. Share those tips and tricks with your data owners. Create a mailing list of your data owners so that sharing information with them as a group is easy.
Assistance
Although you may not have the time to hold everyone's hand, sometimes there is simply no substitute for sitting down with someone and showing them how to do something or even doing it for them while they are there to tell you how they want it.
Current Awareness
You are busy, but so are your data owners. If you see a new web resource that you think would be of interest to someone, forward the information on it to them. The majority of your data owners are unlikely to be monitoring any of the general-purpose current awareness resources such as NET-HAPPENINGS ({ http://listserv.classroom.com/archives/net-happenings.html})

Formulate Policies

Sooner or later you will need to write policies that govern appropriate uses of your web server. With a written policy that has been reviewed by appropriate groups within your organization you will have the organizational authority and support to refuse requests that fall outside of the policy. It can also be cited when necessary to stop inappropriate uses that you may discover. For examples of web policies, see Susan Brown's collection at {http://www.cc.colorado.edu/Library/InfoSource/Current/wwwpol.html} and Stacey Kimmel's at {http://www.lib.ncsu.edu/~Stacey/wwwpols.html}.

Enforce Your Standards

A server without standards is likely to be a disaster. If you have not set up standards regarding "look and feel", for example, how will your users know when they are at your site and when they have left? If you allow your data owners to do anything they like they often will. Determine the essential limits on creativity to protect usability and user friendliness and stick to them. But also be careful not to set limits when none need exist. Reassess your standards periodically. If they are too strict, loosen up. If you are encountering problems where no standards exist or where they are too lax, then tighten your grip.

Encourage Creativity

The flip-side to dictating a common look and feel is encouraging creativity. The trick is to strike a reasonable balance. One way in which this can be done is to specify the presence of some simple graphic element or text that will place the page in context (such as a button bar that identifies the institution) and leave the rest to the data owner.
The {Web Development Team} at the UC Berkeley Library had originally tried to specify a particular structure for each page that described a Library branch. There are good reasons for doing that, but as the Web Manager I soon retreated from such a repressive position to encourage creativity. I was soon glad that I did, as data owners become much more engaged in the process of creating their own distinctive presence within the framework that we had provided. The end result has been an overall enrichment of the server, albeit at the cost of having a different structure for most branch pages.
Another result of encouraging creativity is that those who are the most creative set examples that inspire and challenge others. This kind of contagion can be a much more effective motivator than dictating participation.

Monitor Your Users

Most web servers keep exhaustive statistics on client requests. Logs include one that simply specifies the type of client software used (agent_log in NCSA httpd, see above), the kinds of errors they are experiencing (error_log), and what they are looking at (access_log). All of these logs are typically available in your /var/log/httpd directory.
A number of programs are available to report your access statistics in various ways. One of the best overviews of your options is "WWW Usage Statistics" at {http://www.uiowa.edu/~libsci/studentalumni/asis/d-lib.htm}.

Study Your Competition

A Web Manager should be on the web as much as possible every day. See what others are doing and how they are doing it. Copy their markup. Get graphic design ideas. Decide what you don't like by seeing the mistakes of others.

Figure 1. Opening screen of the UC Berkeley Library Web
An excellent resource for seeing what other libraries are doing on the web is Libweb, a directory of library-based web servers available at http://sunsite.berkeley.edu/Libweb/.

Check Your Links

As all web managers know, a constant problem is keeping the links on your server up-to-date. Documents are moved every day, thereby making links go dead, and it is your responsibility as a Web Manager to identify help your data owners identify these dead links so they can be fixed. Luckily there is software available that automates this task, such as MOMspider ({http://ftp.ics.uci.edu/pub/websoft/MOMspider/}).
You also need to make sure that people are successfully linking to information on your server, and this can be monitored by periodically reviewing the error log. The error log will tell you when someone tried to access something unsuccessfully. You can often spot problems this way that can be easily corrected once you become aware of them.

Strive to Do Better

No matter how good you are doing as a web manager, there is probably always room for improvement. Here are some ways that you can make sure you are doing as well as you could be, since they tend to be things that are overlooked by many web managers.
Error Message Replacement
Most web server error messages are cryptic at best and user hostile at worst. The default "file not found" error message for the NCSA web server is a prime example:

Figure 2. Default screen for a "404 Not Found" error.
This error message tells the user nothing about what they might try to do to find what they need. Use the built-in ability of most web servers to replace the standard error messages with something more useful:

Figure 3. Screen of a replacement error message for a "404 Not Found" error.
It is relatively simple to implement this. For NCSA httpd servers there is a file called "srm.conf", in the "conf" subdirectory wherever your httpd directory is located on your server. In this configuration file (plain text), you will find:
# If you want to have files/scripts sent instead of the built-in version
# in case of errors, uncomment the following lines and set them as you
# will. Note: scripts must be able to be run as if the were called
# directly (in ScriptAlias directory, for instance)

# 302 - REDIRECT
# 400 - BAD_REQUEST
# 401 - AUTH_REQUIRED
# 403 - FORBIDDEN
# 404 - NOT_FOUND
# 500 - SERVER_ERROR
# 501 - NOT_IMPLEMENTED

ErrorDocument 404 /errors/notfound.html
#ErrorDocument 302 /cgi-bin/redirect.cgi
#ErrorDocument 500 /errors/server.html
#ErrorDocument 403 /errors/forbidden.html

Every line with a pound symbol (#) in front of it is a comment and is thus ignored by httpd. Therefore, to set up an HTML file to be used instead of the default error message all that must be done is to remove the pound symbol in front of the line referring to the error type and specify the address (URL) of the file to be substituted (e.g., the line above for ErrorDocument 404).
Once you have created your replacement error message file (probably placed in an "errors" subdirectory of your web server root) you will need to have your system administrator edit the "srm.conf" file for you and restart the server. After that your users are likely to be much happier.
Referrals
One of the most direct ways to prevent users from losing your information when you move it is to create a page that points to the new location. On such a page you will typically request that the user update any bookmarks or links that they have to the old location. For example:

Figure 4. Screen of a referral to the new address of a web page.
Redirects
Redirection is the procedure whereby you can specify the new location of a document behind the scenes. Then, when a user requests the document at the old location they are automatically redirected to the new location. This prevents the "404 File Not Found" error message as well as the need to put up an explicit referral as discussed above. Also, you can combine redirection with error message replacement so when a file is not found it is first checked against a list of moved files. If a new location is not found for the requested file then the user is presented with a helpful error message file. An example of a script that can handle this operation is "RedMan: WebPage Redirection Manager" available at {http://sw.cse.bris.ac.uk/WebTools/redman.html}.

Question Everything

It is all too easy to assume that your first decisions on the design of your server are the best. Struggle against the law of inertia (objects at rest tend to stay at rest) and periodically question all of your decisions. Ask yourself if there is a better way to organize your information or design a particular page. Ask for critical evaluations from your users and other staff in your organization.
Look critically at each web page for accuracy, usability, "scannability" (the ability to scan page and quickly discover your options), good visual design (is it engaging but not cluttered or distracting?), and good markup (does it display well in different browsers?)

The Perfect Web Manager

The perfect web manager will be part publicist, part politician, and part programmer. She will learn constantly, read voraciously, and advocate tirelessly. He will thrive in uncertainty and relish change. She will be a scientist, an artist, and a witch with a good luck streak.

Questions or comments on this piece may be sent to the author at rtennant@library.berkeley.edu. Prepared for the Untangling the Web Conference at the University of California, Santa Barbara, April 26, 1996.
HTML 3.2 Checked!

5 Faedah RTOS Linux Kernel - Apa Itu Sistem Operasi Masa Nyata (RTOS) di Malaysia

Di VIENNA dimana selepas 20 Tahun, Real-Time Linux Akhirnya Masuk ke Dalam Kernel Utama Linux. Itulah pada yang memahami bagaimana berkemban...