AppLogic 2.7/2.8 Documentation The latest production release is AppLogic 3.0.30
LampCluster - Scalable LAMP Cluster
Latest Version: 1.3.10-1
Functional Overview
LampCluster - Scalable LAMP Cluster application is a Reference design for a basic scalable lamp infrastructure. It is designed for rapid deployment and easy management. This application allows direct ssh access to the apache and mysql server appliances, without the need to access the grid controller.
This application can be deployed on shared grids where it is not possible to give the application manger access to the AppLogic Interface.
Boundary
Properties
| Property Name | Type | Description |
user | String | This is the user account for all services on the app. it is set as the inital system user on each of the Apache and dbase appliances that can be used for ssh logins. It is also the user for the http authentication for the web interface on the NAS and MON appliances. This property is mandatory. |
user_pw | String | This is the default password set for the user property. This property is mandatory. |
root_pw | IP | This is the initial root password for the Apache and dbase appliances. This property is mandatory. |
web_ip | IP | This is the IP assigned to the input gateway. This property is mandatory. |
net_ip | IP | This is the IP assigned to the output gateway. This property is mandatory. |
netmask | IP | This is the netmask for the IP network. This property is mandatory. |
gateway | IP | This is the gateway for the IP network. This property is mandatory. |
dns1 | IP | First nameserver assigned to the output gateway. This property is mandatory. |
dns2 | IP | Secondary nameserver assigned to the output gateway. |
srv2_standby | Int | Specifies whether the second WEB server is in standby mode. If non-zero, the second WEB server is in standby mode, otherwise it is not in standby mode. This property is valid only for the application. Default: 1 (standby mode). |
srv3_standby | Int | Specifies whether the third WEB server is in standby mode. If non-zero, the third WEB server is in standby mode, otherwise it is not in standby mode. This property is valid only for the application. Default: 1 (standby mode). |
srv4_standby | Int | Specifies whether the fourth WEB server is in standby mode. If non-zero, the fourth WEB server is in standby mode, otherwise it is not in standby mode. This property is valid only for the application. Default: 1 (standby mode). |
mon_standby | Int | Determines whether application monitoring is disabled upon application start for the application. If non-zero, monitoring is disabled, otherwise monitoring is enabled. The monitoring can be enabled at runtime by manually starting the mon appliance. Default: 1 (monitoring is disabled). |
Resources
User Volumes
The application itself uses several volumes, described below. They are part of the application and are already configured into the appliance instances. There are no volumes that need to be configured on the application boundary.
Operation
Implementation details
To access these appliances point your ssh client or your browser to web_ip and the desired port.
| Port | Description |
| 2221 | ssh port for srv1 |
| 2222 | ssh port for srv2 |
| 2223 | ssh port for srv3 |
| 2224 | ssh port for srv4 |
| 2225 | ssh port for dbase |
| 2226 | http port for the MON web interface |
| 2227 | http port for the NAS web interface |
Each Apache (denoted as srv1 through srv4) and the MYSQL (denoted as dbase) is a basic install of CentOS-5.4. It includes a basic build environment with GCC.
the following packages have been installed using yum in their default configurations:
mysql, php, php-mysql, php-pear, httpd, php-GD, ImageMagic, ImageMagic-perl
Any of the other CentOS packages can be installed by the end user, simply by running yum -y install <package> while running as root user.
On first boot the initial user is created and the system places the root password in a file. (/home/<user>/su.txt). any of these instances can be reset to the default properties by deleting /appliance/passwd.stamp from the appliance and restarting the application.
The Apache appliances can connect to the database with the hostname "db" (e.g. "mysql -h db") the default database has sufficient permissions for the root user of any of the Apache appliances.
Initial application setup
Use the following steps to get your own LampCluster application up and running on an AppLogic grid. This example creates a LampCluster application called mylampcluster.
- Provision the LampCluster application using the command below. All properties should be set to their appropriate values (IPs, DNS servers, etc). All 4 web servers are enabled in order to accommodate for possible heavy traffic loads. Also, the sizes of the
fs and mysql volumes are increased to 250MB.
-
app provision LampCluster mylampcluster user=usr1 user_pw=userpw root_pw=rootpw web_ip=1.2.3.4 net_ip=1.2.3.5 netmask=255.255.255.0 gateway=1.2.3.1 dns1=1.2.3.6 dns2=1.2.3.1 data.size=250MB dbase.size=250MB
- AppLogic will provision the
mylampcluser application and start it on the grid. Wait for the application to start; this may take serveral minutes.
- Now you can access your application using a browser. Open up a browser and point it to the configured web_ip and you will see a test web page from the Apache web server. If you do not see a test page, make sure your IP addresses are configured correctly and restart the application if needed.
- You now have a running LampCluster application on your grid. All that is left to do is to install your specific application onto the application volumes and your application will be ready to go.
Application Architecture
Application Volumes
The LAMP application has the following volumes:
| Volume | Description |
cert | holds the ssl cert for the INSSL gateway |
data | NAS volume and needs to be sized on provision. This is the primary storage for the app |
dase | database volume and needs to be sized on provision. This is the MYSQL database storage |
mon | mon volume and needs to be sized on provision. This is the storage for the monitor appliance |
Notes and Links
Open source and 3rd party software used inside of the appliances
The following open source 3rd party software is installed or updated in addition to the software found on the LINUX5 appliance base class.
Database Appliance (main.dbase)
Web Server Appliances (main.srv1, main.srv2, main.srv3, main.srv4)
| Software | Version | Modified | License | Notes |
| alsa-lib | 1.0.17-1.el5 | No | LGPLv2.1 | N/A |
| apr | 1.2.7-11.el5_3.1 | No | Apache License v2.0 | N/A |
| apr-util | 1.2.7-7.el5_3.2 | No | Apache License v2.0 | N/A |
| audiofile | 0.2.6-5 | No | LGPLv2.0 | N/A |
| avahi-glib | 0.6.16-6.el5 | No | LGPLv2.0 | N/A |
| bind-libs | 9.3.6-4.P1.el5_4.2 | No | ISC | N/A |
| bind-utils | 9.3.6-4.P1.el5_4.2 | No | ISC | N/A |
| distcache | 1.4.5-14.1 | No | LGPLv2.1 | N/A |
| esound | 0.2.36-3 | No | GPLv2 | N/A |
| GConf2 | 2.14.0-9.el5 | No | LGPLv2.0 | N/A |
| ghostscript | 8.15.2-9.11.el5 | No | GPLv2 | N/A |
| ghostscript-fonts | 5.50-13.1.1 | No | GPLv2 | N/A |
| gmp | 4.1.4-10.el5 | No | LGPLv2.1 | N/A |
| gnome-keyring | 0.6.0-1.fc6 | No | GPLv2 | N/A |
| gnome-mime-data | 2.4.2-3.1 | No | GPLv2 | N/A |
| gnome-mount | 0.5-3.el5 | No | GPLv2 | N/A |
| gnome-vfs2 | 2.16.2-4.el5 | No | LGPLv2.0 | N/A |
| httpd | 2.2.3-31.el5 | No | Apache License v2.0 | N/A |
| ImageMagick | 6.2.8.0-4.el5_1.1 | No | ImageMagick | N/A |
| ImageMagick-perl | 6.2.8.0-4.el5_1.1 | No | ImageMagick | N/A |
| libbonobo | 2.16.0-1.fc6 | No | LGPLv2.1 | N/A |
| libbonoboui | 2.16.0-1.fc6 | No | LGPLv2.1 | N/A |
| libc-client | 2004g-2.2.1 | No | FreeFork | N/A |
| libcroco | 0.6.1-2.1 | No | LGPLv2.0 | N/A |
| libglade2 | 2.6.0-2 | No | LGPLv2.0 | N/A |
| libgnome | 2.16.0-6.el5 | No | LGPLv2.0 | N/A |
| libgnomecanvas | 2.14.0-4.1 | No | LGPLv2.0 | N/A |
| libgnomeui | 2.16.0-5.el5 | No | LGPLv2.0 | N/A |
| libgsf | 1.14.1-6.1 | No | LGPLv2.1 | N/A |
| libnotify | 0.4.2-6.el5 | No | LGPLv2.1 | N/A |
| librsvg2 | 2.16.1-1.el5 | No | LGPLv2.0 | N/A |
| libutempter | 1.1.4-4.el5 | No | LGPLv2.1 | N/A |
| libwmf | 0.2.8.4-10.2 | No | GPLv2 | N/A |
| libwnck | 2.16.0-4.fc6 | No | LGPLv2.0 | N/A |
| libXres | 1.0.1-3.1 | No | MIT | N/A |
| mod_auth_mysql | 3.0.0-3.2.el5_3 | No | Apache Group | N/A |
| mod_perl | 2.0.4-6.el5 | No | Apache License v2.0 | N/A |
| mod_rpaf | 0.5 | Yes | Apache Group | N/A |
| mod_ssl | 2.2.3-31.el5.centos.2 | No | Apache License v2.0 | N/A |
| mysql | 5.0.77-4.el5_4.1 | No | GPLv2 | N/A |
| notification-daemon | 0.3.5-9.el5 | No | GPLv2 | N/A |
| perl-BSD-Resource | 1.28-1.fc6.1 | No | Artistic | N/A |
| perl-DBD-MySQL | 3.0007-2.el5 | No | Artistic | N/A |
| perl-GD | 2.35-1.el5.rf | No | Artistic | N/A |
| perl-Mailtools | 1.77-1.el5.centos | No | Artistic | N/A |
| perl-TimeDate | 1.16-5.el5 | No | Artistic | N/A |
| php | 5.1.6-24.el5_4.5 | No | PHP v3.01 | N/A |
| php-cli | 5.1.6-24.el5_4.5 | No | PHP v3.01 | N/A |
| php-common | 5.1.6-24.el5_4.5 | No | PHP v3.01 | N/A |
| php-devel | 5.1.6-24.el5_4.5 | No | PHP v3.01 | N/A |
| php-gd | 5.1.6-24.el5_4.5 | No | PHP v3.01 | N/A |
| php-imap | 5.1.6-24.el5_4.5 | No | PHP v3.01 | N/A |
| php-mysql | 5.1.6-24.el5_4.5 | No | PHP v3.01 | N/A |
| php-pdo | 5.1.6-24.el5_4.5 | No | PHP v3.01 | N/A |
| php-pear | 1.4.9-6.el5 | No | PHP v3.0 | N/A |
| php-pgsql | 5.1.6-24.el5_4.5 | No | PHP v3.01 | N/A |
| startup-notification | 0.8-4.1 | No | LGPLv2.0 | N/A |
| urw-fonts | 2.3-6.1.1 | No | GPLv2 | N/A |
To see the full list of open source packages used in this appliance, please see its implementation design.
Related Documents
Questions and Comments
To post questions and/or comments for this application, visit our forum.
-- JessieSmart - 16 May 2007
Copyright © CA 2005-2011. All Rights Reserved.