Weblog of: Derek Keats
Blog Quick Search
Type a search term into the text box to perform simple searches through all blog posts
Follow me on Twitter Follow me on Twitter
Friend me on Facebook Add me on Facebook
Chisimba Facebook group Chisimba Facebook group


Related tweets
Login




Remember me

Forgot your password?
YES, HELP ME LOGIN

A production install of #Chisimba on a cloud server
466 days ago

This howto is written for cloud servers, which are virtualised machines sitting in a remote data centre somewhere. It has been tested with Digital Ocean and Rackspace. It should also pretty much work the same way for a Chisimba install on a local server in your own data centre.

Please note that this howto assumes you have a basic familiarity with Linux servers, the command line terminal, ssh, and a few other tricks such as sudo, mkdir, cd, etc. If this is not the case, please read up on those basic server administration skills before you proceed. Otherwise,  you will simply frustrate yourself.

Provision an Ubuntu server, either 11.04 or 11.10 depending on what your cloud provider has available. For a minimal install for testing, a 256Mb server will do. Record the password for root, and ssh into the server in a terminal. Ideally, you will want to allocate a domain name to your ipaddress and wait until the name propagates before you complete the final install of Chisimba.

$ ssh root@ip1.ip2.ip3.ip4
(where ip1.ip2.ip3.ip4 the ip address of your server. You may also ssh in to the domain name.)

Edit /etc/apt/sources.list and remove the comments from the Partner and Extras repositories in source.list and save it

$ vi /etc/apt/sources.list
$ apt get update
$ apt get upgrade

Then install the necessary software and configure PEAR.

apt-get install subversion apache2 mysql-server mysql-client php5 php5-mysql php5-imap php5-gd php5-curl php-pear php5-imagick php5-imap php5-ldap php5-mapscript php5-mcrypt php5-memcache php5-mysql php5-pgsql php5-pspell php5-snmp php5-sqlite php5-sqlrelay php5-tidy php5-uuid php5-xmlrpc php5-xsl

Update and configure PEAR.

$ pear channel-update pear.php.net
$ pear upgrade pear
$ pear upgrade-all
$ pear install --alldeps -f Config Log
$ pear install MDB2-2.5.0b2.tgz
$ pear install MDB2_Driver_mysql-1.5.0b2
$ pear install MDB2_Driver_mysqli-1.5.0b2
$ pear install MDB2_Schema-0.8.5
$ chown -R www-data:www-data /var/www

Next create a directory for Chisimba. It can be anywhere, but I prefer to keep it in /var.

$ cd /var
$ mkdir chisimba
$ cd chisimba

Check out Chisimba from Subversion. Please note that a more up-to-date release will be available shortly, and you should rather wget it, but for now do the subversion checkout. The framework is stable, and not under active development.

svn co https://cvs2.uwc.ac.za/chisimba/framework/trunk/ framework

If you want modules and skins (both of which includes a lot of junk) you can do

$ svn co https://cvs2.uwc.ac.za/chisimba/framework/trunk/ framework && svn co https://cvs2.uwc.ac.za/chisimba/modules/trunk/ modules && svn co https://cvs2.uwc.ac.za/chisimba/skins/trunk/ skins

You can either install modules directly from Module catalogue, by doing a live install once you have the base system up and running, or you can check out modules from subversion. This is recommended for production sites, and in that case you do not need to check out modules, only the framework core.

If you are only going to have one site, then you can put it in /var/www  - the default root on Ubuntu. If you are going to be doing virtual hosting of multiple sites, you can rather create a directory in /var called sites. Virtual hosting will be the subject of another post. here I assume you are only having one site, so we are working in /var/www and this will be opened as http://yoursite.com/

Now, you are going to use that most beautiful feature of Linux, symlinks, to link your site into the code.

$ cd /var/www
$ ln -s /var/chisimba/framework/app/index.php .
$ ln -s /var/chisimba/framework/app/gateway.php .
$ ln -s /var/chisimba/framework/app/classes/ .
$ ln -s /var/chisimba/framework/app/core_modules/ .
$ ln -s /var/chisimba/framework/app/cron/ .
$ ln -s /var/chisimba/framework/app/installer/ .
$ ln -s /var/chisimba/framework/app/lib/ .
$ ln -s /var/chisimba/modules/ packages

 

Create a directory for the skins and link it in
$ mkdir skins
$ cd skins
$ ln -s /var/chisimba/framework/app/skins/* .
$ cd ..

Create a directory for user_images and link it in
$ mkdir user_images
$ cd user_images/
$ ln -s /var/chisimba/framework/app/user_images/* .
$ cd ..

Now you can open your site in a web browser either as http://localhost (this is NOT recommended, as it will break your content links once you have  a fully qualified domain name) or http://yoursite.com (this is recommended, and it is best to wait until your domain name has propagated before doing the final install).

NOTE: Kenga Solutions will install Chisimba for you on an Ubuntu Server, or set up an Ubuntu server for you in RackSpace or Digital Ocean cloud. The installation and confirmation fee is R500. Until the interface is built, you can contact me for this service.

NOTE: You can use Facebook to obtain further information or comment on this blog post. Simply click the the post title if you do not see the facebook comments, and use the facebook comment form that appears at the bottom of the post.