Size: 406
Comment:
|
Size: 1743
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
incomplete, do not use! | |
Line 2: | Line 3: |
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 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 |
|
Line 6: | Line 15: |
apt-get install apache2 | apt-get install apache2 php php-mysql |
Line 9: | Line 18: |
=== GlusterFS === ==== Backup ==== Make a backup of `/var/www` |
== Filesystem == Configure your system as a [[GlusterFS Client|GlusterFS client]], so you have the following in your fstab. |
Line 13: | Line 22: |
cd /var tar cfvzp www.tar.gz www/ |
/etc/glusterfs/www.vol /var/www glusterfs defaults,_netdev,rw 0 0 |
Line 17: | Line 25: |
==== GlusterFS Client ==== Install the glusterfs client and mount the glusterfs volume. ==== Restore ==== Restore the backup {{{ tar xfvzp www.tar rm www.tar.gz |
== 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"; ?> |
Line 27: | Line 36: |
== PHP Sessions == | |
Line 28: | Line 38: |
{{{ apt-get install glusterfs-client }}} |
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
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.