Installation of WikiPP
Requirements
Before you install WikiPP you need to install
- CppCMS Framework
- DbiXX Library
- Syntax Highligher — recommended but not mandatory.
Installation of WikiPP
Download wikipp-X.Y.Z.tar.gz and extract it:
tar -xzf wikipp-X.Y.Z.tar.gz cd wikipp-X.Y.Z
If you are using trunk version:
svn co https://cppcms.svn.sourceforge.net/svnroot/cppcms/wikipp/trunk wikipp
and then create configuration scripts:
cd wikipp ./autogen.sh ./autogen.sh
Then run
./configure make
And as super user
make install
Configuration of Wiki
I assume that you had installed wikipp to /usr/local directory (default for configure script). Otherwise, you should update absolute paths given in this documentation
Database
If you use MySQL (recommended):
First of all, create database, let’s call it "wikipp".
create database wikipp;
Then create all required tables running:
mysql -u username --password=secret wikipp </usr/local/share/wikipp/mysql.sql
If you use Sqlite3
Create database, and make it accessible to process that would run wikipp:
sqlite3 /var/wikipp/wikipp.db </usr/local/share/wikipp/sqlite3.sql
Make sure that /var/wikipp/wikipp.db is writable by the web server.
WikiPP configuration
First create your new, unique private key for session management. Run
cppcms_make_key
Edit /usr/local/etc/wikipp/config.txt and update session.cookies_key with value you get.
REMEMBER THIS IS YOUR PRIVATE KEY, KEEP IT IN SECRET
Let’s assume you want your application to run at "/wiki" url and put all media (static) files at "/media". Also, let’s assume that your WWW server document root is /var/www/html
So, let’s create our media directory:
mkdir /var/www/html/media cp /usr/local/share/wikipp/style*.css /var/www/html/media
Now let’s edit our WikiPP configuration file and set:
wikipp.script = "/wiki" wikipp.media = "/media"
If you have Syntax Highlighter installed, for example in /var/www/html/shared/sh
Then edit line:
wikipp.syntax_highlighter = "/shared/sh"
Otherwise comment this line to disable it.
# wikipp.syntax_highlighter="/templates/sh"
We would configure our application to be started by
the web server thus – comment out server.socket line — web server provides it for you.
Edit dbixx.driver and select appropriate database: "sqlite3" or "mysql"
Configure database parameters like: username and password for MySQL or sqlite3.sqlite3_dbdir to the directory where the database file is located.
Make sure that locale.dir and templates.dirs points to correct path:
locale.dir="/usr/local/share/locale"
templates.dirs = { "/usr/local/lib/wikipp" }
Web Server Configuration
Lighttpd
Edit you lighttpd configuration:
Enable fastcgi
server.modules += ( "mod_fastcgi" )
Now let’s configure our wiki application:
fastcgi.server = (
"/wiki" =>
((
"bin-path" => "/usr/local/sbin/wikipp -c /usr/local/etc/wikipp/config.txt",
"socket" => "/tmp/wikipp.socket",
"max-procs" => 1,
"check-local" => "disable"
))
)
Short description:
- "/wiki" is the location of our web service
- "bin-path" shows the application that should be started.
- "max-procs" – very important – always set to 1, unless you use distributed cache system.
- "check-local" – disable checking if actual file exists in the specific document root. It is applicable for PHP scripts not our FastCGI application.
Testing
Now restart you web server and go to "http://your.host.com/wiki" and start working