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. |