Differences between revisions 18 and 27 (spanning 9 versions)
Revision 18 as of 2018-01-05 09:34:30
Size: 1047
Comment:
Revision 27 as of 2020-02-09 01:38:00
Size: 1743
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
incomplete, do not use!
Line 5: Line 6:
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. 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 configured the same way it makes sense to share some files.
Line 7: Line 8:
 * 192.168.1.50 www01
 * 192.168.1.51 www02
 * 192.168.1.51 www (virtual IP-address)
 * 192.168.1.52
www01
 * 192.168.1.53 www02
Line 18: Line 20:
Configure your system as a [[GlusterFS Client|GlusterFS client]], so you have /var/www on a [[GlusterFS|GlusterFS]].
Make a simple webpage, that show
s something unique about the system.
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
}}}
Line 21: Line 25:
== Testpage ==
Make a simple webpage, that shows something unique about the system. This is usefull when debugging.
Line 24: Line 30:
echo gethostname();         echo "client: " . $_SERVER['REMOTE_ADDR'] . "\n";
        echo "server: " . $_SERVER['SERVER_ADDR'] . "\n";
        echo "hostname: " . gethostname() . "\n";
Line 27: Line 35:

== PHP Sessions ==

Creating a PHP session on one webserver, does not create it on the other. As requests bounces back and forth between the two webservers, this will be a problem for PHP sites the relies heavily on sessions. The solution is called `memcached`.

== References ==
 * https://www.globo.tech/learning-center/php-memcached-instances-ubuntu-16/

incomplete, do not use!

Apache

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 configured the same way it makes sense to share some files.

  • 192.168.1.51 www (virtual IP-address)
  • 192.168.1.52 www01
  • 192.168.1.53 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 ?>

PHP Sessions

Creating a PHP session on one webserver, does not create it on the other. As requests bounces back and forth between the two webservers, this will be a problem for PHP sites the relies heavily on sessions. The solution is called memcached.

References

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