JumpBox for LAMP Deployment

Bookmark this link to keep a permanent link to this page.

Introduction

Welcome to the JumpBox for LAMP Deployment! You can use this JumpBox as a tool to quickly, safely and easily deploy web applications on your local network. Alternatively, it can help you develop your own web application. This JumpBox includes the following software and for each language, the appropriate MySQL bindings and a handful of common libraries.

Package Version
php55.3.2-1ubuntu4.7
apache22.2.14-5ubuntu8.4
perl5.10.1-8ubuntu2
python2.6.5-0ubuntu1
ruby1.81.8.7.249-2
mysql-server-5.15.1.41-3ubuntu12.10

To use this JumpBox, you will need the following:

How to Deploy a Web Application

You'll need the application's installation archive (e.g., zip file or tarball) and access to its installation documentation.

SCP the installation archive into the directory /home/admin on the JumpBox.
scp ARCHIVE.zip admin@150.203.252.115:
SSH in to the JumpBox.
ssh admin@150.203.252.115
Change directory to /var/data/public.
cd /var/data/public
Unpack the installation archive.
unzip ~/ARCHIVE.zip
tar zxf ~/ARCHIVE.tgz
tar yxf ~/ARCHIVE.tar.bz2
Set appropriate ownership on the unpacked files.
sudo chown -R admin:www-data *
Unless the application uses PHP, you will probably need to set the CGI scripts to be executable.
find . -type f | grep '\.(py|pl|rb|cgi)$' | xargs chmod +x
Follow your application's setup instructions. You may need the following parameters:
If the application requires a directory (say directory/name) to be made writable, you may do so as follows:
chmod -R g+w directory/name
If the application needs to store permanent state in files away from the webserver, it may do so in /var/data/private.

How to Develop a Web Application

Advanced

If you wish, you can modify the following system configuration files. When you back up the JumpBox, these settings will be saved: For MySQL and PHP, you will need to use sudo to become root before editing the files:
sudo vi /etc/mysql/my.cnf
The JumpBox backup functionality will backup the aformentioned config files, all databases, /var/data/public and /var/data/private. Anything else will be lost!
phpMyAdmin is available here. You can create users and databases as needed. Do not delete any existing user or database.
This JumpBox is based on Ubuntu. If you need to install dependencies, you may use apt-get, as in the following examples.
Update the apt database (do this first):
sudo apt-get update
Search for the Perl DateTime module:
sudo apt-cache search perl | grep -i DateTime
Install the Perl DateTime module:
sudo apt-get -y install libdatetime-perl
Documentation Links: Apache PHP MySQL Ruby Python Perl
This documentation page should go away once you place content under the webserver root. If this does not happen as expected, you can permanently disable this documentation by executing the following command; but make sure you print or save a copy of this documentation somewhere before you do.
touch /var/data/private/disable-index-rewrite