Wikipp is a high performance wiki engine based on CppCMS technology |
|
## Requirements |
|
Before you install WikiPP you need to install |
|
- [CppCMS Framework](/wikipp/en/page/install_framework) |
- [DbiXX Library](/wikipp/en/page/install_dbixx) |
- [Syntax Highligher](http://code.google.com/p/syntaxhighlighter/) --- 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: |
|
1. "/wiki" is the location of our web service |
2. "bin-path" shows the application that should be started. |
3. "max-procs" -- very important -- always set to 1, unless you use distributed cache system. |
4. "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 |