Differences between revisions 1 and 22 (spanning 21 versions)
Revision 1 as of 2017-12-22 22:49:10
Size: 67
Comment:
Revision 22 as of 2018-01-08 20:21:06
Size: 1349
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

None of what you see below is true!

Running a redundant apache server does not require much from apache itself, but rather the underlying filesystem and a proxy in front of it. The filesystem is important, so the website and its php sessions can be shared between the servers. For this we will use [[GlusterFS|GlusterFS]]. The proxy in front of apache will be a combination of [[HA-proxy|HA-proxy]] and [[Corosync|Corosync]].

In this setup we will configure 2 apache servers. None of these will be master/slave/primary/secondary. They will just be running with the same configuration. Since the servers are configure the same way it makes sense to share some files.

 * 192.168.1.50 www01
 * 192.168.1.51 www02
Line 6: Line 15:
apt-get install apache2 apt-get install apache2 php php-mysql
Line 8: Line 17:

== Filesystem ==

Configure your system as a [[GlusterFS Client|GlusterFS client]], so you have the following in your fstab.
{{{
/etc/glusterfs/www.vol /var/www glusterfs defaults,_netdev,rw 0 0
}}}

== Testpage ==
Make a simple webpage, that shows something unique about the system. This is usefull when debugging.
`index.php`
{{{#!highlight php
<?php
        echo "client: " . $_SERVER['REMOTE_ADDR'] . "\n";
        echo "server: " . $_SERVER['SERVER_ADDR'] . "\n";
        echo "hostname: " . gethostname() . "\n";
?>
}}}

Apache

None of what you see below is true!

Running a redundant apache server does not require much from apache itself, but rather the underlying filesystem and a proxy in front of it. The filesystem is important, so the website and its php sessions can be shared between the servers. For this we will use GlusterFS. The proxy in front of apache will be a combination of HA-proxy and Corosync.

In this setup we will configure 2 apache servers. None of these will be master/slave/primary/secondary. They will just be running with the same configuration. Since the servers are configure the same way it makes sense to share some files.

  • 192.168.1.50 www01
  • 192.168.1.51 www02

Software

apt-get install apache2 php php-mysql

Filesystem

Configure your system as a GlusterFS client, so you have the following in your fstab.

/etc/glusterfs/www.vol /var/www glusterfs defaults,_netdev,rw 0 0

Testpage

Make a simple webpage, that shows something unique about the system. This is usefull when debugging. index.php

   1 <?php
   2         echo "client: " . $_SERVER['REMOTE_ADDR'] . "\n";
   3         echo "server: " . $_SERVER['SERVER_ADDR'] . "\n";
   4         echo "hostname: " . gethostname() . "\n";
   5 ?>

None: Apache (last edited 2021-03-26 21:55:30 by Kristian Kallenberg)