2008-08-02 13:13:21 +00:00
# Quick installation instruction
2008-11-13 07:52:56 +00:00
The installation of InDefero is composed of 2 parts, first the
installation of the [Pluf framework](http://www.pluf.org) and second,
the installation of InDefero by itself.
2008-11-26 20:34:47 +00:00
## Recommended Layout of the Files
If your server document root is in `/var/www` a good thing is to keep
the number of files under the `/var/www` folder to its minimum. So,
you should create a `/home/www` folder in which we are going to
install all but the files which need to be available under the
document root.
/home/www/pluf/src/
/home/www/pluf/src/Pluf.php
/home/www/pluf/src/migrate.php
/home/www/indefero/src
/home/www/indefero/www
/home/www/indefero/www/index.php
/home/www/indefero/www/media
The you need to link the `media` and `index.php` files into your
docroot.
$ cd /var/www
$ ln -s /home/www/indefero/www/index.php
$ ln -s /home/www/indefero/www/media
2008-11-13 07:52:56 +00:00
## Installation of Pluf
2008-08-02 13:13:21 +00:00
* Checkout the trunk of [Pluf](http://www.pluf.org).
2008-11-13 07:52:56 +00:00
* Install the `Mail` and `Mail_mime` classes from [PEAR](http://pear.php.net). You must use the `--alldeps` flag when installing these modules:
$ sudo pear install --alldeps Mail
$ sudo pear install --alldeps Mail_mime
2008-11-26 20:34:47 +00:00
The Pluf installation folder is the folder containing the file `Pluf.php`.
2008-11-13 07:52:56 +00:00
## Installation of InDefero
The installation is composed of the following steps:
* Get the InDefero archive.
* Configure it correctly.
* Installation the database with the `migrate.php` script.
* Bootstrap the application with a `bootstrap.php` script.
Here is the step-by-step installation procedure:
* Extract the InDefero archive somewhere.
* The InDefero installation folder is the folder containing this file INSTALL.mdtext.
2008-08-02 13:13:21 +00:00
* Make a copy of `src/IDF/conf/idf.php-dist` as `src/IDF/conf/idf.php`.
* Update the idf.php file to match your system.
2008-11-24 09:50:37 +00:00
* Open a terminal/shell and go into the `src` folder in the InDefero installation folder.
2008-11-26 20:34:47 +00:00
$ cd /home/www/indefero/src
* Run `php /home/www/pluf/src/migrate.php --conf=IDF/conf/idf.php -a -i -d -u` to test the installation of the tables.
* Run `php /home/www/pluf/src/migrate.php --conf=IDF/conf/idf.php -a -i -d` to really install the tables.
2008-11-13 07:52:56 +00:00
* Create a bootstrap file to create the first project and admin user for example `www/bootstrap.php`. Do not forget to update the second line with your path to Pluf:
2008-08-02 13:13:21 +00:00
<?php
2008-11-26 20:34:47 +00:00
set_include_path(get_include_path().PATH_SEPARATOR.dirname(__FILE__).'/home/www/indefero/src');
set_include_path(get_include_path().PATH_SEPARATOR.'/home/www/pluf/src');
2008-08-02 13:13:21 +00:00
require 'Pluf.php';
2008-11-26 20:34:47 +00:00
Pluf::start(dirname(__FILE__).'/home/www/indefero/src/IDF/conf/idf.php');
2008-08-02 13:13:21 +00:00
Pluf_Dispatcher::loadControllers(Pluf::f('idf_views'));
$project = new IDF_Project();
$project->name = 'Your project';
$project->shortname = 'yourproject'; //Only letters digits
$project->description = 'This is your project.';
$project->create();
$user = new Pluf_User();
$user->first_name = 'John';
2008-11-26 20:34:47 +00:00
$user->last_name = 'Doe'; // Required!
2008-08-02 13:13:21 +00:00
$user->login = 'doe';
$user->email = 'doe@example.com';
$user->password = 'yourpassword'; // the password is salted/hashed
// in the database, so do not worry :)
$user->administrator = true;
$user->active = true;
$user->create();
print "Bootstrap ok\n";
?>
2008-11-13 07:52:56 +00:00
* Run `php www/bootstrap.php`.
* Remove the `www/bootstrap.php` file.
2008-11-26 20:34:47 +00:00
* Open the `www/index.php` file and ensure that the path to Pluf and
Indefero are correctly set for your configuration.
2008-08-02 13:13:21 +00:00
Now you can login with this user into the interface.
2008-11-27 10:23:38 +00:00
## Upgrade InDefero
To upgrade:
* Make a backup of your data, including the database.
* Extract the new archive on top of the current one.
* Update your version of Pluf.
* Check that the path in the `index.php` are still good.
* Upgrade the database with:
$ php /home/www/pluf/src/migrate.php --conf=IDF/conf/idf.php -a -d -u
$ php /home/www/pluf/src/migrate.php --conf=IDF/conf/idf.php -a -d
2008-11-11 10:40:29 +00:00
## For the Apache Webserver Users
If you are using [Apache](http://httpd.apache.org/) for your webserver
and want to have nice URLs like `http://yourdomain.com/p/yourproject/`
and not `http://yourdomain.com/index.php/p/yourproject/` you can use
the following `.htaccess` file to be put in the same folder of the
`www/index.php` file.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php/$1
2008-11-26 20:34:47 +00:00
## For the Gentoo users
If you get the error:
T_CHARACTER Use of undefined constant T_CHARACTER - assumed 'T_CHARACTER'"
you need to compile PHP with the "tokenizer" flag.
2008-11-26 21:08:12 +00:00
## For People with open_basedir restriction error
If you get an error like:
file_get_contents(): open_basedir restriction in effect.
File(/etc/mime.types) is not within the
allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/)
Just copy the file `/etc/mime.types` into the folder `/home` and put
this in your configuration file:
$cfg['idf_mimetypes_db'] = '/home/mime.types';