Read Me
-------------------------------------------------------------------------------
Hackerando la Macchina Ridotta (Hacking the Smaller Machine)
Title: Computing History Knowledge Base
File: ReadMe.txt
Location: /
Started: 2012.11.22
Authors: Giovanni A. Cignoni, Angelo Biagini
Type: ReadMe
This file is part of the HMR documentation.
Further information at: http://hmr.di.unipi.it
-------------------------------------------------------------------------------
The source code of the CHKB web application is organized as follows:
- database/ contains sql scripts
- include/ contains php code
-------- Requirements ---------------------------------------------------------
CHKB has been developed and tested with:
Ubuntu 12.04
Postgres 9.1.6
Apache Web Server 2.2.22
PHP 5.3.10
You need to install the Postgres module for PHP (php5-pgsql)
If you want to use email activation links for users registration you need to
install the PEAR Mail module (http://pear.php.net/package/Mail) and configure
your email settings in configuration.php.
-------- Installation ---------------------------------------------------------
1) Create a database with name hmr_kb:
$createdb hmr_kb
2) Define the database schema:
$psql hmr_kb < database/data_definition.sql
3) Copy the include/ folder in /var/www/hmr_kb/
4) Test application opening a web browser
http://localhost/hmr_kb/include/controller/web
Now you need to setup your system for digital contents
1) Create folders for digital contents:
$mkdir /var/www/hmr_kb/digital
$mkdir /var/www/hmr_kb/thumbnail
2) Set Apache as folders owner
$sudo chown -R www-data /var/www/hmr_kb/digital/ /var/www/hmr_kb/thumbnail/
3) Prevent users from getting digital contents they are not allowed to get,
setting Apache htaccess rules:
$ echo "Deny from all" > /var/www/hmr_kb/digital/.htaccess
4) Change your php.ini (maybe you can find it in /etc/php5/apache2/) settings
to allow digital content files upload, setting the desired values for
post_max_size and upload_max_filesize properties
Now you need to create the admin user and activate its account:
1) Click to "request_registration" link in the home page
2) Fill the mandatory fields specifying "admin" as username; you can specify a
dummy email address (g.e. a@b.com) and confirm
3) Activate the admin account:
$psql hmr_kb < database/admin.sql
4) Login as admin
Now you should be logged in as admin and you can create collections and accept
user registrations.