SuSE Linux: Versions since 8.1
See the documentation on the Apache site. Good starting points are:
http://httpd.apache.org/
http://httpd.apache.org/docs-2.0/
See http://httpd.apache.org/docs-2.0/new_features_2_0.html
for new features of Apache 2.
ftp://ftp.suse.com/pub/projects/apache/
http://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/projects/apache/
ftp://ftp.leo.org/pub/comp/os/unix/linux/suse/people/poeml/
These packages are unsupported and provided as-is. Read ftp://ftp.suse.com/pub/projects/apache/README.
Apache 2 itself is stable, but it is missing (at the time of this writing) some modules that are in common use (most notably, mod_perl and mod_php4). Those apache 2 modules are under development and it seems like a question of time when they appear.
apache 1 and apache 2 can be installed on the same system. This facilitates evalation of the new version and allows for performance comparisons. The two versions can even be run in parallel. However, there is only one port 80 on your system. If you really need both versions of apache on one system, run one of them on another port and use mod_proxy with the port 80 server to map it into the URL space.
Reasons to upgrade:
Reasons not to upgrade:
Apache 2, if built from the sources available from the apache site with the usual 'configure; make; make install' sequence, installs everything cleanly below one directory. Even the logs will be inside the server root. This is a very safe way of trying out Apache 2 without breaking anything on a running system which is maintained with RPM.
The apache2 start script as of 8.1 quits silently when no "multiprocessing module" (MPM) package was installed, like the apache2-prefork.rpm. The same symptom could occur when only another MPM than the default one was installed.
Have a look at the APACHE_MPM setting in /etc/sysconfig/apache2. Put an MPM name there that corresponds with the MPM installed that you want to use. In later packages, this is fixed.
That happened in 8.1 when the YaST2 sysconfig editor had been used together with the original apache2 packages from 8.1. Those packages used a shell array for the APACHE_MODULES variable, but the accompanying syntax was disturbed by the quotes that YaST2 added around the parentheses.
Upgrading to the apache2 packages (see above) will fix this. Alternatively, remove the double quotes around the parentheses after using the YaST2 sysconfig editor.
The base package (apache2-2.0.43-6.i586.rpm) and the MPM packages (e.g., apache2-perchild-2.0.43-6.i586.rpm) do mutually require each other --- they need to be installed in one run to make the package manager happy.
Comanche (http://www.comanche.org) has not been updated since Apr 11, 2001 (at the time this is written). It *might* work with apache2, but it seems unlikely. Unfortunately, comanche is broken as of 8.1, because it became incompatible with the current Tcl version. [If you happen to know how to fix this, please contact us. Thanks.]
For 8.1: by hand, following the apache and mod_ssl documentation.
With later packages:
There is no mod_ssl RPM for apache2: The module is no longer a problem with regard to export restrictions and, in addition, mod_ssl has been included into the Apache base distribution. It is no longer a source code patch as it used to be with Apache 1.
Some additional information can be found here:
http://www.ornl.gov/~jar/Apache/SSL_in_Apache_2.html
(kindly provided by James Rome)
I believe that apache2 was not configured for susehelp on 8.1 (or vice versa). The system status page is not shown with Apache 2.
This is a typical symptom for an incompatibility between the apache2 and subversion package and the apr package. It can be resolved by updating the apr package, too.
On apache.org, you will find 'apachectl' referenced as the standard tool to start apache2. Although this tool is available on SuSE Linux (named "apache2ctl"), using our slightly more powerful (and better integrated) tool named "rcapache2" is recommended. (That's actually the shell script /etc/init.d/apache2.)
Enter "rcapache2 help" as user root to see what it can do.
To start apache2, either enter "rcapache2 start" as root or use the YaST Runlevel Editor to activate the starting of apache2 at boot time. As a command line alternative to the Runlevel Editor, you could run the command "chkconfig -a apache2" to make sure that apache2 is started at system boot time.
My crystal ball says that your machine has an nvidia graphics card, you have run the nvidia installer and since then apache doesn't start at boot any longer -- and you use PHP4.
Cause: The libGL is replaced by the nvidia installer and it is broken in some regard... mod_php4 is linked against libGL...
A workaround is to modify the apache start script as follows:
--- apache.init.orig 2003-07-29 16:28:25.000000000 +0200 +++ apache.init 2003-07-29 16:29:39.000000000 +0200 @@ -127,8 +127,8 @@ check_modules yes ; echo -n "]" rm -f /var/lib/httpd/mod_bandwidth/link/* &>/dev/null - if $HTTPD_BIN $INET6 -t -f /etc/httpd/httpd.conf $MODULES > /var/log/httpd/rcapache.out 2>&1 ; then - startproc -t $HTTPD_START_TIMEOUT $HTTPD_BIN $INET6 -f /etc/httpd/httpd.conf $MODULES + if LD_PRELOAD=/usr/lib/GL/libGL.so.1.4.mesasoft $HTTPD_BIN $INET6 -t -f /etc/httpd/httpd.conf $MODULES > /var/log/httpd/rcapache.out 2>&1 ; then + LD_PRELOAD=/usr/lib/GL/libGL.so.1.4.mesasoft $HTTPD_BIN $INET6 -f /etc/httpd/httpd.conf $MODULES ret=$? if test -t 1 && stty -a | grep -q -- -echo\ ; then
Such a patched script can be found here:
http://www.suse.de/~poeml/rc.apache-82 (copy it to /etc/init.d/apache
)