The goal of this post is to provide a rough guide to installing Telligent's GraffitiCMS on a linux server. I also intend to provide as many troubleshooting tips as I am aware.
I encourage all comments, big and small, positive and negative, acute and obtuse, with the aim of refining this post so that it is as useful as possible for anyone engaging in this particular task.
Now on to the fun stuff!
Here are the considerations for this installation: I used a dedicated SUSE 10.3 linux server with root access, running Apache 2.2 web server and Mysql 5.x database server. This post may still be useful to you if you have a differing configuration.
Installing Mono
I recommend you install the latest stable release of Mono. At the time of this writing, that is Mono 2.4. There are a number of ways to achieve this. For the purposes of this post, I will use YaST.
To install mono, remote into your dedicated linux server. This post assumes that you have shell access. Once logged in, type the following command:
YaST
This will bring up YaST’s pretty blue console UI. Take a moment and enjoy the warm blue glow it gives off (provided you have ANSI color support)!
A repository for mono needs to be added to YaST. Using your tab and arrow keys, navigate to the option: Software Repositories and press enter.
Select Add, Specify Url, then Next. On the next screen, select a name, such as Mono, for the Repository Name field, then paste the url, http://ftp.novell.com/pub/mono/download-stable/openSUSE_10.3 , into the URL field.
Click Next, then Finish.
Once back on the main YaST screen, select Software Management and enter. This should load up a list of packages available to install, including those already installed.
Install the following two packages: mono-complete and apache2-mod_mono.
While it is not required to install everything in mono, installing mono-complete helps simplify installation.
During installation, you may be prompted with a dependencies screen. Select ok to continue installation with dependencies and complete the prompts to finish installation.
Installing/ Configuring GraffitiCMS
Download the latest build from http://get.graffiticms.com/
Unzip the contents someplace on your server, such as /webs/mysite.com/
unzip Graffiti-1.2.zip /webs/mysite.com/
Now, you’ll need to change the ownership of the extracted graffiti web files, so that the owner running Apache has read/write access to the web files:
Chown –R wwwrun /webs/mysite.com
However, you might consider assigning a group ownership of the files and adding any users that need r/w access to that group.
Chown –R wwwrun:mysitegroup /webs/mysite.com
Setup Graffiti to use a MySql Database
Out of the box, Graffiti is already set to use VistaDB as its database, which is located in the App_Data folder of your GraffitiCMS instance. However, here’s how to configure Graffiti to use a MySQL database as its data source.
Connect to the MySql server:
mysql –u myadminuser –p mypasswd
Replace myadminuser and mypasswd with an admin user you have already configured.
Once logged in, create a database for your GraffitiCMS site:
Mysql> CREATE DATABASE mysitedb;
MySql>Connect mysitedb;
Now, create the db schema and add some sample data to the db:
MySql>source /webs/ mysite.com /”New Install”/Data/Graffiti_mySQL_schema.sql;
MySql>source /webs/ mysite.com /”New Install”/Data/Graffiti_mySQL_data.sql;
Don’t forget to create a user for your new database!
GRANT ALL ON msitedb.* TO ‘mysiteUser’.’%’ IDENTIFIED BY ‘MyUserPassword’;
Next, edit the /webs/mysite.com/web.config file and replace the following line:
<add name="Graffiti" connectionString="Data Source=|DATADIRECTORY|\Graffiti_Sample.vdb3"/>
With:
<add name="Graffiti" connectionString="server=127.0.0.1;uid=mysiteUser; pwd=MyUserPassword;database=mysitedb"/>
Also, replace this line:
<add key="DataBuddy::Provider" value="DataBuddy.VistaDBProvider, DataBuddy"/>
With:
<add key="DataBuddy::Provider" value="DataBuddy.MySQLDataProvider, DataBuddy"/>
Setting up the Web application in Apache
After installing Apache2-mod_mono, your Apache2 webserver should already be configured to use AutoHosting. Assuming you intend to run your application as a virtual host, it should simply be a matter of adding a new virtual host conf file to /etc/apache2/vhosts.d/ for your web applicaton. For more information on configuring asp.net apps in apache, check out the Mod Mono page.
Login to the new GraffitiCMS site
Open up a browser and navigate to your Graffit application via the url/ path you’ve created for it.
If all went according to plan, you should see a page that looks something like this:
Click the login link. The default username is Admin and the default password is located in your web.config file.
The line will look similar to this:
<add key="Graffiti:User:DefaultPassword" value="randomlygenerated"/>
That’s pretty much it! If anything is unclear in the post, please let me know and I’ll work to clean it up.
Troubleshooting
There’s nothing here as of yet, but please check back as I will update this section soon. In the meantime, please leave any comments you have about the instructions above, or about any issues you are experiencing and I'll work to incorporate those either in this post or in a new post.
Thanks!






8 comment(s) so far
hello, this is my first time i visit here. I found so many interesting in your blog especially on how to determine the topic. keep up the good work.
what a great info, thanks for sharing.
Very helpful info. Thanks.
Thanks mate,I was looking for that info nearly 2 days!!
I enjoyed reading your article. Very useful.
i also want a linux os? from where i can buy this...
I can see that you are putting a lot of time and effort into your blog and detailed articles! I am deeply in love with every single piece of information you post here (there are not many quality blogs left:).By,the way if you are looking for link exchange with quality iphone 4 related,please drop an email-I will be glad to add your link.
Regards,
Chris
Looks like a lot of work. :D
regards,
Black decker toaster oven