Return to UOCC HomeComputing News Home
Header bar
  Chart Showing Who's Affected by System Changes
 

UO Web Programmers: Get Ready for Linux

The advent of new Linux web servers means some of your web pages may need to be modified

Joe St Sauver, Ph.D.
Director, User Services and Network Applications
joe@uoregon.edu


As part of phasing out "classic Darkwing," www.uoregon.edu web pages will soon be served from new Linux web servers. This means it will be important for UO web programmers to check and confirm that their cgi programs will run correctly from the new server environment.

If you have only regular web pages (HTML documents, JPGs and GIFs, PDF files, etc.), your pages won't need to be modified to work on the new web servers. Once the conversion occurs, your pages will simply be transparently served from the new, faster hardware (the new servers will automatically see your web pages just as the old ones did).

Similarly, if you have cgi-bins coded in Perl or another scripting language that is interpreted rather than compiled into an executable, in most cases those programs should also continue to work without issue on the new systems.

Who is affected: UO web programmers who will need to modify their programs are the rare UO folks who have written code in C (or C++, or any other compiled programming language) for use via the web. Those compiled executables will have been built for a SPARC Solaris environment, but the UO's new web servers will soon be using a Linux environment instead.

Six Things UO Web Programmers Need to Know:

1. The classic Darkwing SPARC/Solaris web servers will go offline when the rest of classic Darkwing is turned off on August 15th. You'll want to test and tweak your cgi-bin servers prior to that time.

2. The change in web server architecture will potentially affect cgi-bins with URLs that include any of the following hostnames:

- www.uoregon.edu

- darkwing.uoregon.edu or gladstone.uoregon.edu

- any www.uoregon.edu-based virtual host. See the list at http://www.uoregon.edu/virtual-www

Darkwing and Gladstone are legacy references that are now deprecated. Those URLs should now refer to www.uoregon.edu (see http://cc.uoregon.edu/cnews/winter2006/dw_names.htm)

3. To facilitate testing your cgi-bins, you can use the temporary URL www-test.uoregon.edu instead of www.uoregon.edu When you recompile y www.uoregon.edu addresses see the file system the same way, and both can currently serve your web pages. When you change URLs or cgi-bins to use www-test.uoregon.edu, those web pages or cgi-bins will immediately run from the new web server environment, and if they work when run from that test environment they should be fine on the new production web servers.

If you use www-test.uoregon.edu for testing, please note that you will eventually need to change any www-test.uoregon.edu references back to normal www.uoregon.edu references once we've completed the migration to the new servers.

4. UO users can do compiling, debugging and other program development tasks for the new web servers on shell.uoregon.edu (see http://cc.uoregon.edu/cnews/spring2006/shell.htm).

One complication you should be aware of is that the shell server, like most systems that are part of the new system architecture, is a 64-bit Opteron-based server. However, the new web servers (www-test.uoregon.edu and the other servers that will actually run your cgi-bins in production) are 32 bit x86 servers. This difference will normally not matter unless you're compiling code to run as cgi-bins. If you are compiling code, if will be important for you to use

gcc -m32 -march=i686

when compiling with gcc (other compilers will need similar flags to generate 32 bit code for an i686 target environment). Code compiled with these flags should run fine on both shell.uoregon.edu and the new web servers.

5. Web server logs are available on shell.uoregon.edu in /var/log/apache in 'combined' log format. Because syslog is being used to populate those logs, each line is prefixed with a date and time stamp, the name of the server generating the record, and so on. If you analyze server logs, you'll want to edit out that information to get to standard Apache log format using a command such as:

sed 's/^.* logger: //'\
</var/log/apache/access_log

6. What if you're using a departmental web server, a personal web server, or a commercially hosted web server?
This change will not affect any of those web pages.

Questions, Concerns?

Please feel free to email me at joe@uoregon.edu, or contact Unix Consulting at consult@uoregon.edu or (541) 346-1758.


Summer 2006 Computing News | Computing Center Home Page