Yii 1.1: ciims

A Fast, Efficient, High Performance Blogging Platform


TravisCI Scrutinizer Code Quality Downloads Gittip License

CiiMS is a fast, simple, and easy to use, full feature blogging platform and content management system built in Yii.


Source code for CiiMS is available on Github


CiiMS 2.0.0 Beta Released

CiiMS 2.0.0 Beta is now available. Checkout the release notes for more information.

Interested in a Hosted Solution?

Be sure to checkout www.ciims.io to pre-register for exclusive early access to our hosted platform.

Who uses CiiMS?

Do you use CiiMS and love it? Want to show your support? Would you like some free advertising for your site? Create a pull request that modifies this readme and adds a 60x60 avatar image as a link to your site and we'll merge it in!

Erianna by Charles R. Portwood II ciims-logo-badge.png Mosely


A demo of CiiMS can be found at:

Site: http://demo.ciims.io
Admin Panel: http://demo.ciims.io/dashboard

You may use the following credentials to login and manage the site.

Email: demo@ciims.io
Pasword: password

Please note that this demo is not monitored, and is reset at an unspecified interval and at my discretion. Please be nice. If you find a bug please report it via a Github Issue.


Full documents for CiiMS can be found at docs.ciims.io. Please refer to this guide for installation instructions, development guidelines, and a list of available CLI commands


  • Based on Yii Framework
  • Installs in 30 seconds*
  • Utilizes Composer
  • Beautiful Default Theme
  • Supports Markdown Extra
  • SEO Optimized (Sitemap XML, URL Slugs, SEO Meta Tags)
  • Password Protected Content
  • Site wide and Category Specific RSS Feeds
  • Multiple Content Type Support
  • Interchangeable Caching Systems (Redis, APC, Memcache, Files)
  • Low Memory Footprint
  • Themable
  • Social Integration (Social Signon, Social Sharing)
  • Extendable with custom modules, extensions, themes, and cards
  • Beautiful and functional dashboard for managing your content and settings.
  • i18n files provided for translations
  • Fully Customizable
  • Easily install new themes and cards from in a single click
  • And a bunch of other things!

* Installation time is based upon [TravisCI](https://travis-ci.org/charlesportwoodii/CiiMS) builds


Before installing CiiMS you'll need to have at minimum the following:

  • PHP 5.5+
  • Yii1 Requirements
  • PHP CURL Extension
  • PHP ZIP Extension
  • PHP MCrypt Extension

All the dependencies and other requirements are managed through composer, and will be reported back to you when you run composer install.


The following extensions/applications are recommended to improve performance.


If you require support, submit a Github issue and I'll look into it as soon as I can.

How Can I Contribute?

We <3 Contributers!

  • Submit a detailed bug report
  • Implement a new feature
  • Fix a bug
  • Write additional unit & functional tests
  • Translate CiiMS into your favorite/local language
  • Create dashboard cards
  • Create themes


MIT LICENSE Copyright (c) 2011-2015 Charles R. Portwood II

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.


Total 20 comments

#18939 report it
Charles R. Portwood II at 2015/02/06 08:45am
RE: Install as a module?

@Todd Anstis,

Thanks! CiiMS is intended to be installed as it's own application, and cannot be installed as a module. If you want CiiMS to run at example.com/blog or blog.example.com you can configure your web server to do so. If you want a tighter integration with an existing app, you can configure your application to talk to the CiiMS API.

#18937 report it
Todd Anstis at 2015/02/06 12:17am
Install as a module?

This looks really fantastic - I'd like to incorporate it into my own app. Can I install just the blog functionality as a module?

#18935 report it
Charles R. Portwood II at 2015/02/05 03:53pm
CiiMS 2 Beta Now Available

CiiMS 2 beta is now available for download on Github. A full list of features and improvements can be found on my blog.

#17187 report it
Fire at 2014/05/11 06:25am
database connection error solution

Hi everyone, inorder to get the installer to work, make sure you have an .htaccess in your webroot. Here is what I used for mine:

Options +FollowSymLinks AddDefaultCharset UTF-8 RewriteEngine on

# remove www
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css SetOutputFilter DEFLATE

ExpiresActive on ExpiresByType image/gif "access plus 1 day" ExpiresByType image/jpeg "access plus 1 day" ExpiresByType image/png "access plus 1 day" ExpiresByType text/css "access plus 1 day" ExpiresByType text/js "access plus 1 day" ExpiresByType text/javascript "access plus 1 day" ExpiresByType application/javascript "access plus 1 day" ExpiresByType application/x-javascript "access plus 1 day" ExpiresDefault "access plus 1 day"

#15629 report it
Charles R. Portwood II at 2013/12/01 05:13pm
could not connect to db


Sounds like you're using apache without mod_rewrite enabled for your vHost. Make sure that mod_rewrite is enabled and that your vhost has AllowOverride All to enable the .htaccess file.

#15628 report it
hajdar at 2013/12/01 05:09pm
could not connect to db

The cms looks good. I followed the instractions for installation but at the db connect whet my put username, pass, db and host it says:

The requested URL /CiiMS-master/migrate was not found on this server.

what could prevent from migrating the db

#13173 report it
ghastlyy16 at 2013/05/10 09:52am


I have a form. Same CRUD structure with your Categories in the admin panel. But i want my form to be presented in modal.

#13172 report it
Charles R. Portwood II at 2013/05/10 09:23am
Model in Form


Can you ask your question in another way? What are your trying to accomplish?

#13169 report it
ghastlyy16 at 2013/05/10 06:21am
modal with form

How can i possible embed the form in the modal and execute action in button click using this bootstrap

#11852 report it
Reza Bagheri at 2013/02/07 11:23am
@Charles R. Portwood II

I dont have any .htaccess file,( i have one , only in framework folder) and mod_rewrit, enabled also!

#11851 report it
Charles R. Portwood II at 2013/02/07 11:02am
Page Not Found


CiiMS doesn't come with a .htaccess file for Apache. Does Apache have mod_rewrite enabled? Did you create a .htaccess file in the root directory of CiiMS?

#11843 report it
Reza Bagheri at 2013/02/07 04:35am
all link got to page not found

I inslalled yiic completely and i see main page:


My First Blog Post ..

ans i see sidebar pabel in left site, menu in top(blog, admin) but when i click on any link(login, admin, ...) I get Error same this(for login):

Not Found : The requested URL /testblog/login was not found on this server.

what can i do?

#11818 report it
Charles R. Portwood II at 2013/02/05 02:46pm

@Web Guru,

I am aware of the Windows install issue, however I haven't had time recently to re-factor it for Windows. It's on my TODO list for CiiMS once I get a Windows box I can throw a LAMP install on.

For the second one. Throttle back your error_reporting so that it doesn't die on E_NOTICE. You can file a bug in Github for throwing an E_NOTICE on that variable if you'd like.

#11817 report it
Web Guru at 2013/02/05 01:57pm

@Charles R. Portwood II

initial performance testing results looks good. i will do more testing my self, but i need some time

I have started the installation and here is my notes (installing on Windows)

1- in the generated main.php at the end of the yiiPath parameter extra "\" is added and caused the application not to work, i had to remove it manually see below

'yiiPath' => 'C:/installed_cms/UniServer_8_7_3/www/yii/framework/\',

after fixing the above issue the site home page is running fine, but when clicking on "Read More" button an error is generated

URL visited http://localhost:88/yii/demos/ciims/my-first-post

Below is the stack trace The error is at line below i guess findByAttributes returns null so "value" property cannot be read

$key = dirname(FILE) . '/../../themes/' . $theme . '/views/content/' .ContentMetadata::model()->findByAttributes(array('content_id'=>$id, 'key'=>'view'))->value . '.php';

PHP notice
Trying to get property of non-object
04 {
06     /**
07      * Base filter, allows logged in and non-logged in users to cache the page
08      */
09     public function filters()
10     {
11         $id = Yii::app()->getRequest()->getQuery('id');
12         if ($id != NULL)
13         {
14             $lastModified = Yii::app()->db->createCommand("SELECT UNIX_TIMESTAMP(GREATEST((SELECT IFNULL(MAX(updated),0) FROM content WHERE id = {$id} AND vid = (SELECT MAX(vid) FROM content AS content2 WHERE content2.id = content.id)), (SELECT IFNULL(MAX(updated), 0) FROM comments WHERE content_id = {$id})))")->queryScalar();
15             $theme = Cii::get(Configuration::model()->findByAttributes(array('key'=>'theme'))->value, 'default');
16             $key = dirname(__FILE__) . '/../../themes/' . $theme . '/views/content/' .ContentMetadata::model()->findByAttributes(array('content_id'=>$id, 'key'=>'view'))->value . '.php';
18             if ($key && file_exists($key))
19                 $lastModified = filemtime($key) >= $lastModified ? filemtime($key) : $lastModified;
21             $eTag = $this->id . $this->action->id . $id . Cii::get(Yii::app()->user->id, 0) . $lastModified;
23             return array(
24                 array(
25                     'CHttpCacheFilter + index',
26                     'cacheControl'=>Cii::get(Yii::app()->user->id) == NULL ? 'public' : 'private' .', no-cache, must-revalidate',
27                     'etagSeed'=>$eTag
28                 ),
Stack Trace
+  C:\installed_cms\UniServer_8_7_3\www\yii\framework\yiilite.php(3378): ContentController->filters()
+  C:\installed_cms\UniServer_8_7_3\www\yii\framework\yiilite.php(1725): CController->run("index")
+  C:\installed_cms\UniServer_8_7_3\www\yii\framework\yiilite.php(1645): CWebApplication->runController("content/index/id/1")
+  C:\installed_cms\UniServer_8_7_3\www\yii\framework\yiilite.php(1170): CWebApplication->processRequest()
#4  C:\installed_cms\UniServer_8_7_3\www\yii\demos\ciims\index.php(18): CApplication->run()
13     exit();
14 }
16 $ciimsConfig = require_once($config);
17 require_once((string)$ciimsConfig['params']['yiiPath'].'yiilite.php');
18 Yii::createWebApplication($config)->run();
#11816 report it
Charles R. Portwood II at 2013/02/05 12:12pm
Site Performance

@Web Guru,


Yes, I have done benchmarking - but benchmarking is very subjective from a server standpoint. CiiMS can be configured to work with many different PHP configurations and server configurations.

For everything below, my setup is as follows:

  • PHP 5.3.21 + APC, Redis Extension
  • Nginx + SPDY
  • Redis
  • MySQL 5.5
  • Sphinx
  • Ubuntu 12.04 LTS
  • 3GB RAM
  • 1 3 GHZ Virtual Processor

On my own VPS, I've run simulations upwards of 500 users for 10 minutes and didn't see any issues. Additionally, those simulations don't take into account the aggressive caching CiiMS provides. When trying to max out the application, I usually run into issues either at the network layer or at the OS level - simply not having the resources to send the data out. It's not perfect, but I haven't hit an application bottleneck yet under this current configuration.

As I said before though, any benchmark test is going to vary with the server configuration you have setup. A beefier server will run CiiMS better than a slim VPS or shared hosting.

You can see the webpage performance of my personal site running CiiMS in regards to caching and load time. Again, this is very specific to my VPS server configuration and themeage.

  • http://www.webpagetest.org/result/130205_9N_N5V/
  • http://tools.pingdom.com/fpt/#!/esjnv4fxR/https://www.erianna.com

High Traffic.

I normally get about 500 visitors a month to my personal site running CiiMS, so no, I haven't run it on any high traffic sites. That being said I've been running my blog for <= 6 months.

You're more than welcome to run your own simulations and determine if CiiMS will be the right tool for you. It might not be, and that's ok. There's other things that can do the same job. If it is though, I'd like to hear about it. =)

#11814 report it
Web Guru at 2013/02/05 11:06am

@Charles R. Portwood II

thanks for your feedback

since performance is most important for this cms

have you done any benchmark?

have you used it with high traffic websites?

#11812 report it
Charles R. Portwood II at 2013/02/05 10:48am
PHP 5.3.1+

@Web Guru,

That may be a doc error. I don't recall off the top of my head if there is any PHP 5.3+ specific code in the codebase. Presently the installer checks for PHP 5.1+ and I'm willing to lean towards what is actually in the installer rather than what I wrote for the docs.

Give it a shot. It should work just fine. I personally though have never run it on PHP 5.1+, but I don't see any reason why it wouldn't just work out of the box.

#11805 report it
Web Guru at 2013/02/05 01:42am
PHP 5.3.1+

Why do you require PHP 5.3.1+ ?

#10884 report it
Charles R. Portwood II at 2012/11/29 10:21am
Using Cache

My recommendation would configure your site to use CiiMemCache, and allow APCCache to do bytelevel caching. Currently only the CacheComponent is used, so you can simultaneously use both CiiMemCache and CiiAPCCache at the same time via the config file - but APC will cache bytecode if you have it configured server.

#10874 report it
florin p at 2012/11/29 04:04am
Using cache


I've just installed CiiMS in my local, looks very elegant, however isn't clear to me if I should use simultaneously CiiMemCache and CiiApcCache to improve the performance. Can you give me a suggestion? Thanks.

Leave a comment

Please to leave your comment.

Create extension
No downloadable files yet