How to Deploy LampCMS to the Cloud

| October 22, 2013

Q&A websites are becoming more and more popular and many people find them to be a better choice for building online communities than a traditional web forum. Today you'll see how easy it is to deploy LampCMS,  a full-featured Open Source Question and Answers web program written in PHP. It provides deep integration with Facebook, Twitter, Google, Linked-IN, Tumblr and Blogger APIs, to the Jelastic Cloud. It uses MongoDB as the main database storage and can scale to very large size, capable of working with tens or even hundreds of millions or records, spanning dozens of servers. MySQL is used only for full text search and only to index/search question titles. As a result, you don't need any type of external search engine like Solr.

Create environment

1. Log into your Jelastic dashboard.

2. Navigate to the PHP tab, pick Apache as your application server, MongoDB as your main storage and MySQL as the additional storage for LampCMS. Specify the resource limits for each node. Then select PHP 5.3 and type your environment name. Confirm the environment creation.

LampCMS environment

In a few moments your environment will be created.

LampCMS Environment Created

Configure databases

1. Open MySQL in a browser and log into phpMyAdmin using the credentials, which Jelastic sent when you created the environment.

2. Create a new user and a database with the application.

LampCMS MySQL Database

3. Open MongoDB in a browser and log in using the credentials which Jelastic has sent you via email.

4. Create a new database and a C_Cache collection in it.

LampCMS MongoDB

Deploy application

1. Navigate to the LampCMS web site and download the latest version ZIP archive.

LampCMS Download

2. Go back to the Jelastic dashboard and upload the downloaded package to the Deployment Manager.

LampCMS Upload

3. Deploy LampCMS to the environment you've created earlier.

LampCMS Deploy

Configure LampCMS

1. Click the Config button for Apache and rename !config.ini.dist (webroot/root/config/!config.ini.dist) to !config.ini.

2. Edit !config.ini according to your application needs. It's a pretty large config file, most of the settings are optional and there are good comments for each option. Pay attention to the database connection settings, ensure that you provide the right credentials to your MySQL and MongoDB databases.

LampCMS Database connection

3. You have to define the following settings for your site as well: SITE_NAME, SITE_TITLE, SERVER_TIMEZONE, SITE_URL, EMAIL_DEVELOPER, 


LampCMS Site Admin

Note: The [EMAIL_SERVER] section has an important setting to define your own email transport. 

LampCMS acl
LampCMS bootstrap

4. Rename acl.ini.dist file (webroot/root/config/acl.ini.dist) to acl.ini.

5. Rename bootstrap.dist.php (webroot/ROOT/www/bootstrap.dist.php) file to bootstrap.php.

6. Add a MongoDB extension in php.ini file (etc folder):

MongoDB Extention

7. Restart Apache and your LampCMS is ready for use!

Restart Apache

That's all you have to do to get a full-featured, Open Source Q&A web program available in the cloud! Enjoy LampCMS with Jelastic!