RoqetPad v7.0
Roqet is proud to present... RoqetPad, a personal secure wiki. RoqetPad evolved from a contact and note manager to the form you see today. The wiki text should be in Roqet Document Format. If RoqetPad is used and maintained in accordance within normal operating practices for web-based applications it should provide an eternity of trouble-free operation. Please read through this whole document as there are some choices you will need to make before you start the installation process.
Starting RoqetPad
Aim your browser at: http://localhost/cgi-bin/roqetpad.cgi (change the URL to point to wherever you keep your CGI scripts).
Using RoqetPad (entering data)
You can enter any kind of data into RoqetPad, it's not just for names and addresses. You could also use it for bookmarks, code-snippets, recipes and many things we haven't thought of yet.
Roqet Document Format
The RoqetPad uses Roqet Document Format (which is also used by RoqWiki).
Roqet Document Format v2.1: - (comment) @ heading (heading) * bullet (depreciated) *** bullet (new style) *-* horizontal line command = description and [examples] (descriptive line) [code] {{link~~linkname}} {*imagelink*} [[ preformatted block (puts in <pre></pre> tag block) ]] - -->import:filename to import an external file
Example For RoqetPad Use
Address = 10 Overthere Road, Overthere Place Phone(w) = 444-444-4444 Email = {{mailto:name@domain.com~~name}} Link = {{http://domain.com~~Fancy Website}}
Setup
RoqetPad uses SQLite and TrueCrypt... SQLite is very easy to setup and maintain (even for those with little or no experience), but it has no security at all. With version 5 of RoqetPad, the option to use TrueCrypt became available. Basically, the TrueCrypt volume is mounted prior to running a database transaction and dismounted after the transaction is complete. During the transaction, the database could be accessed, but as this is only for a brief moment, this is quite a secure method of storing your RoqetPad data. Please take a look at the TrueCrypt site: http://www.truecrypt.org for more details. From RoqetPad 6 the other databases were dropped and SQLite with TrueCrypt became the only option.
Prerequisites to Installation
The Perl interpreter must be installed on your system, find it at: http://strawberryperl.com A webserver needs to be installed or accessible from your system; you can find one at: http://www.apache.org The following Perl modules need to be installed, for linux/unix (or Strawberry Perl on Windows): perl -MCPAN -e shell cpan> install XML::Simple cpan> install DBI cpan> install DBD::SQLite cpan> exit
may need to... perl -MCPAN -e 'force install DBD::SQLite'
Install
0. Download RoqetPad: <http://www.roqet.org/software.html> 1. unzip all the RoqetPad files into a directory. 2. If you plan on using TrueCrypt to encrypt your data, then you will need to create an encrypted volume, and copy the empty roqetpad.db file into it, then dismount it and continue here. - instructions for creating a TrueCrypt volume can be found at: http://www.truecrypt.org. For POSIX installations (Linux, Mac OS X etc.) you should download and install TrueCrypt first before attempting to install the RoqetPad (a binary hasn't been included for non-windows systems due to binary incompatibilities). 3. Create the roqetpad.xml configuration file as follows: perl create_roqetpad_xml.pl "cgi\\" "xml\\" "PATHTOROQETPADDBINSTANCE\roqetpad.db" "nil" "PATHTOTRUECRYPTVOLUME\TRUECRYPTVOLUME" "TRUECRYPTMOUNT" roqetpad_template.xml e.g. (windows) perl create_roqetpad_xml.pl "cgi\\" "xml\\" "F:\\roqetpad\roqetpad.db" "nil" "myvolume.tc" "f" roqetpad_template.xml e.g. (linux) perl create_roqetpad_xml.pl "cgi/" "xml/" "/media/truecrypt1/roqetpad.db" "nil" "myvolume.tc" "/media/truecrypt1" roqetpad_template.xml NOTE: if you don't want to use TrueCrypt, make the VOLUME and MOUNT parameters "nil", if you do want to use TrueCrypt, you will need to create a new volume using TrueCrypt, and then copy the roqetpad.db file into that new volume. 4. Create a copy of roqetpad.pl called roqetpad7.cgi, and edit the top line if the file; For linux: #!/usr/bin/perl For windows: #!C:/perl/bin/perl.exe 5. Copy roqetpad7.cgi and roqetpad.xml (and TrueCrypt.exe (or the truecrypt binary)) to your Apache cgi directory. 6. Copy all the files and directories from the htdocs directory to your Apache htdocs directory.
Additional Security
Another recommendation is to use Apache with SSL to encrypt your browser sessions: http://httpd.apache.org/docs/2.0/ssl/ Setting up SSL with Apache is beyond the scope of this document however.
Scripts + Supporting Files
roqetpad.pl - the main script that provides user interaction with the database (gets renamed ro roqetpad7.cgi during install process above). create_roqetpad_xml.pl - creates the roqetpad.xml XML file (used by the roqetpad5.cgi script for database connections, TrueCrypt mounts and contains the "help", converted from the RoqetPad POD. roqetpad_template.xml - the roqetpad template file. You can change this to alter the look'n'feel of the RoqetPad screens (just be careful not to change the cgi parameter references (unless you also change these within the roqetpad.pl script)). roqetpadcmd.pl - a simple script to add, edit, delete and search RoqetPad SQLite data, useful if your web-server isn't currently available. htdocs/roqetpad7.css - contains all the formatting settings (cascading style sheet). htdocs/images/roqetpad71.png - The latest RoqetPad banner. sql/CREATE_ROQETPAD_sqlite.sql - a script to create the primary RoqetPad tables and triggers. sql/create_sqlite_roqetpaddb.sql - a script to run the above script. Note: You will need the TrueCrypt binary if you plan to use TrueCrypt; TrueCrypt.exe is windows version of the TrueCrypt encryption utility, see http://www.truecrypt.org for more details on this encryption tool along with licensing information. See Install Notes for using TrueCrypt on POSIX installations.
To Do
* allow attachments (these would be imported into the database).
ChangeLog
2003-09-10: Version 3.0 released. - Initial Perl release. Prior to this release, the RoqetPad was written in Delphi and stored its data in an ini and then xml format. This rewrite moved the data into a database and the application into a browser. 2004-09-16: Version 3.1 released. - Rebranding. 2008-01-01: Version 4.0 released. - Initial release for local testing. 2008-02-15: Version 4.1 released. - Added notes about hyperlinking between RoqetPad entities. 2008-12-09: Version 4.2 released. - Added notes about security and encryption. 2008-12-10: Version 5. - Added TrueCrypt optional encryption for use with a SQLite database; currently only tested on windows release will wait until it works on linux too. Modified ListAll functionality: now lists all aliases as a link to the roqetpad entity detail. 2009-01-08: Version 5.1 - Parameterized the truecrypt mount and added mount+dismount commands for posix-based systems. 2009-06-30: Version 6.0 released. - The wikification; converted RoqetPad from the simple contact manager to a small, secure personal wiki that can perform all the old RoqetPad functions and much, much more. 2011-01-03: Version 7.0 released. - Modified to use a template, so that the look'n'feel can easily be modified, also did a bit of a code clean-up.
Author
roqet <http://www.roqet.org>
Copyright
RoqetPad copyright 2011 roqet - (http://www.roqet.org) RoqetPad et al can be distributed and modified under the terms of the GNU General Public License: http://www.gnu.org/copyleft/gpl.html
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the GNU General Public License for more details.
Updates and other scripts and software available at: http://www.roqet.org/software.html ~~~ 'l' -