Indefero

Indefero Commit Details


Date:2008-11-26 14:34:47 (16 years 25 days ago)
Author:Loic d'Anterroches
Branch:dev, develop, feature-issue_links, feature.better-home, feature.content-md5, feature.diff-whitespace, feature.download-md5, feature.issue-links, feature.issue-of-others, feature.issue-summary, feature.search-filter, feature.webrepos, feature.wiki-default-page, master, release-1.1, release-1.2, release-1.3
Commit:1332ba7eda0715a9f8d71c7c425c511a03bfbbf9
Parents: 28b650f8416872d39de43abedc3ad47564a70064
Message:Improved the documentation based on user feedback.

Changes:

File differences

INSTALL.mdtext
44
55
66
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
730
831
932
......
1235
1336
1437
15
38
1639
1740
1841
......
3053
3154
3255
33
34
56
57
58
59
60
3561
3662
3763
38
39
64
65
4066
41
67
4268
4369
4470
......
4874
4975
5076
51
77
5278
5379
5480
......
6187
6288
6389
90
91
6492
6593
6694
......
78106
79107
80108
109
110
111
112
113
114
115
116
installation of the [Pluf framework](http://www.pluf.org) and second,
the installation of InDefero by itself.
## 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
## Installation of Pluf
* Checkout the trunk of [Pluf](http://www.pluf.org).
$ sudo pear install --alldeps Mail
$ sudo pear install --alldeps Mail_mime
The Pluf installation folder is the folder containing the file `Pluf.php`.
The Pluf installation folder is the folder containing the file `Pluf.php`.
## Installation of InDefero
* 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.
* Open a terminal/shell and go into the `src` folder in the InDefero installation folder.
* Run `php /path/to/pluf/src/migrate.php --conf=IDF/conf/idf.php -a -i -d -u` to test the installation of the tables.
* Run `php /path/to/pluf/src/migrate.php --conf=IDF/conf/idf.php -a -i -d` to really install the tables.
$ 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.
* 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:
<?php
set_include_path(get_include_path().PATH_SEPARATOR.dirname(__FILE__).'/../src');
set_include_path(get_include_path().PATH_SEPARATOR.'/path/to/pluf/src');
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');
require 'Pluf.php';
Pluf::start(dirname(__FILE__).'/../src/IDF/conf/idf.php');
Pluf::start(dirname(__FILE__).'/home/www/indefero/src/IDF/conf/idf.php');
Pluf_Dispatcher::loadControllers(Pluf::f('idf_views'));
$project = new IDF_Project();
$project->create();
$user = new Pluf_User();
$user->first_name = 'John';
$user->last_name = 'Doe';
$user->last_name = 'Doe'; // Required!
$user->login = 'doe';
$user->email = 'doe@example.com';
$user->password = 'yourpassword'; // the password is salted/hashed
* Run `php www/bootstrap.php`.
* Remove the `www/bootstrap.php` file.
* Open the `www/index.php` file and ensure that the path to Pluf and
Indefero are correctly set for your configuration.
Now you can login with this user into the interface.
RewriteRule ^(.*) /index.php/$1
## 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.
src/IDF/conf/idf.php-dist
2323
2424
2525
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
4246
43
44
45
46
47
48
47
48
49
50
51
52
4953
5054
51
52
53
54
55
56
57
55
56
57
58
59
60
61
5862
5963
6064
61
62
63
65
66
67
6468
65
66
69
70
6771
6872
6973
7074
71
75
7276
7377
7478
7579
7680
77
81
7882
79
80
81
83
84
85
86
87
88
8289
83
84
85
86
87
88
90
91
92
93
94
95
96
97
98
8999
100
101
102
90103
104
105
106
91107
108
92109
93110
94111
95112
96113
97
114
115
98116
99117
100118
101
102
119
120
121
103122
104123
105
124
106125
107126
108
127
109128
110129
111
112
113
114
130
131
132
133
115134
116135
117
118
136
137
119138
120139
121140
122
123
124
125
126
127
128
129
130
131
132
133
134
141
142
143
144
145
146
147
148
149
150
151
152
153
154
135155
136156
137157
138158
139159
140
160
141161
142162
143163
144164
145
165
146166
147167
148168
......
166186
167187
168188
169
189
170190
171191
172192
$cfg = array();
// to start with, it can be practical.
$cfg['debug'] = false;
// If you have a single git repository, just put the full path to it
// without trailing slash. The path is the path to the git database,
// so you need to include the /.git folder.
// For example: '/path/to/my/project/.git'
//
// If you have multiple repositories, you need to put %s where you
// want the shortname of the project to be replaced.
// For example:
// - You have many projects on your local computer and want to use
// InDefero to see them. Put: '/home/yourlogin/Projects/%s/.git'
// - You have many projects on a remote server with only "bare" git
// repositories. Put: '/home/git/repositories/%s.git'
//
#
# You must set it to false once everything is running ok.
#
$cfg['debug'] = true;
# If you have a single git repository, just put the full path to it
# without trailing slash. The path is the path to the git database,
# so you need to include the /.git folder.
# For example: '/path/to/my/project/.git'
#
# If you have multiple repositories, you need to put %s where you
# want the shortname of the project to be replaced.
# For example:
# - You have many projects on your local computer and want to use
# InDefero to see them. Put: '/home/yourlogin/Projects/%s/.git'
# - You have many projects on a remote server with only "bare" git
# repositories. Put: '/home/git/repositories/%s.git'
#
# ** Do not forget to give read access to these folders to your www
# ** user. For example, adding www to the git group.
$cfg['git_repositories'] = '/home/git/repositories/%s.git';
//
// Like for the git_repositories definition, the path can contains %s
// and it will be automatically replaced. You can ignore this
// configuration variable as it is only for information use in the
// tree view.
//
#
# Like for the git_repositories definition, the path can contains %s
# and it will be automatically replaced. You can ignore this
# configuration variable as it is only for information use in the
# tree view.
#
$cfg['git_remote_url'] = 'git://projects.ceondo.com/%s.git';
// Same as for git, you can have multiple repositories, one for each
// project or a single one for all the projects.
//
// In the case of subversion, the admin of a project can also select a
// remote repository from the web interface. From the web interface
// you can define a local repository, local repositories are defined
// here. This if for security reasons.
# Same as for git, you can have multiple repositories, one for each
# project or a single one for all the projects.
#
# In the case of subversion, the admin of a project can also select a
# remote repository from the web interface. From the web interface
# you can define a local repository, local repositories are defined
# here. This if for security reasons.
$cfg['svn_repositories'] = 'file:///home/svn/repositories/%s';
$cfg['svn_remote_url'] = 'http://projects.ceondo.com/svn/%s';
// Mercurial repositories path
//$cfg['mercurial_repositories'] = '/home/mercurial/repositories/%s';
//$cfg['mercurial_remote_url'] = 'http://projects.ceondo.com/hg/%s';
# Mercurial repositories path
#$cfg['mercurial_repositories'] = '/home/mercurial/repositories/%s';
#$cfg['mercurial_remote_url'] = 'http://projects.ceondo.com/hg/%s';
// admins will get an email in case of errors in the system in non
// debug mode.
# admins will get an email in case of errors in the system in non
# debug mode.
$cfg['admins'] = array(
array('Admin', 'you@example.com'),
);
// Email configuration
# Email configuration
$cfg['send_emails'] = true;
$cfg['mail_backend'] = 'smtp';
$cfg['mail_host'] = 'localhost';
$cfg['mail_port'] = 25;
// Paths/Url configuration
# Paths/Url configuration.
#
# if you access the index.php with:
# http://www.mydomain.com/myfolder/index.php
# put the following:
# Examples:
# You have:
# http://www.mydomain.com/myfolder/index.php
# Put:
# $cfg['idf_base'] = '/myfolder/index.php';
# $cfg['url_base'] = 'http://www.mydomain.com';
#
# $cfg['idf_base'] = '/myfolder/index.php';
# $cfg['url_base'] = 'http://www.mydomain.com';
$cfg['idf_base'] = ''; // put '/whatever/index.php if you are not
// using mod_rewrite and installing in a
// subfolder.
# You have:
# http://www.mydomain.com/
# Put:
# $cfg['idf_base'] = '';
# $cfg['url_base'] = 'http://www.mydomain.com';
#
#
#
$cfg['idf_base'] = '';
$cfg['url_base'] = 'http://projects.ceondo.com';
# Url to access the media folder which is in the www folder
# of the archive
$cfg['url_media'] = 'http://projects.ceondo.com/media';
# Url to access a folder in which the files you upload through
# the downloads tab will be stored.
$cfg['url_upload'] = 'http://projects/ceondo.com/media/upload';
# Path to the upload folder
$cfg['upload_path'] = '/path/to/media/upload';
#
# The following path *MUST NOT* be accessible through a web browser
# as user will be able to upload .html, .php files and this can
# create *TERRIBLE* security issues.
# create *TERRIBLE* security issues. In this folder, the attachments
# to the issues will be uploaded and we do not restrict the content type.
#
$cfg['upload_issue_path'] = '/path/to/attachments';
// write here a long random string unique for this installation. This
// is critical to put a long string.
#
# write here a long random string unique for this installation. This
# is critical to put a long string, with at least 40 characters.
$cfg['secret_key'] = '';
// the sender of all the emails.
# the sender of all the emails.
$cfg['from_email'] = 'sender@example.com';
// Email address for the bounced messages.
# Email address for the bounced messages.
$cfg['bounce_email'] = 'no-reply@example.com';
// Temporary folder where the script is writing the compiled templates,
// cached data and other temporary resources.
// It must be writeable by your webserver instance.
// It is mandatory if you are using the template system.
# Temporary folder where the script is writing the compiled templates,
# cached data and other temporary resources.
# It must be writeable by your webserver instance.
# It is mandatory if you are using the template system.
$cfg['tmp_folder'] = '/tmp';
// Database configuration
// For testing we are using in memory SQLite database.
# Database configuration
# For testing we are using in memory SQLite database.
$cfg['db_login'] = 'www';
$cfg['db_password'] = '';
$cfg['db_server'] = '';
$cfg['db_version'] = '';
$cfg['db_table_prefix'] = '';
// ** DO NOT USE SQLITE IN PRODUCTION **
// This is not because of problems with the quality of the SQLite
// driver or with SQLite itself, this is due to the lack of migration
// support in Pluf for SQLite, this means we cannot modify the DB
// easily once it is loaded with data.
$cfg['db_engine'] = 'PostgreSQL'; // SQLite is also well tested or MySQL
$cfg['db_database'] = 'website'; // put absolute path to the db if you
// are using SQLite.
// -- From this point you should not need to update anything. --
# Only needed for MySQL
$cfg['db_version'] = '5.1';
# If you want to have different installations with the same DB
$cfg['db_table_prefix'] = 'indefero_';
# ** DO NOT USE SQLITE IN PRODUCTION **
# This is not because of problems with the quality of the SQLite
# driver or with SQLite itself, this is due to the lack of migration
# support in Pluf for SQLite, this means we cannot modify the DB
# easily once it is loaded with data.
$cfg['db_engine'] = 'PostgreSQL'; # SQLite is also well tested or MySQL
$cfg['db_database'] = 'website'; # put absolute path to the db if you
# are using SQLite.
# -- From this point you should not need to update anything. --
$cfg['pear_path'] = '/usr/share/php';
$cfg['login_success_url'] = $cfg['url_base'].$cfg['idf_base'];
$cfg['after_logout_page'] = $cfg['url_base'].$cfg['idf_base'];
// Caching of the scm commands.
# Caching of the scm commands.
$cfg['cache_engine'] = 'Pluf_Cache_File';
$cfg['cache_timeout'] = 300;
$cfg['cache_file_folder'] = $cfg['tmp_folder'].'/cache';
// The folder in which the templates of the application are located.
# The folder in which the templates of the application are located.
$cfg['template_folders'] = array(
dirname(__FILE__).'/../templates',
);
'size' => 'IDF_Views_Source_PrettySize',
);
// available languages
# available languages
$cfg['languages'] = array('en', 'fr');
# SCM base configuration
www/index.php
2222
2323
2424
25
25
26
27
28
29
30
2631
2732
2833
# ***** END LICENSE BLOCK ***** */
// Set the include path to have Pluf and IDF in it.
set_include_path(get_include_path().PATH_SEPARATOR.dirname(__FILE__).'/../src');
$indefero_path = dirname(__FILE__).'/../src';
//$pluf_path = '/path/to/pluf/src';
set_include_path(get_include_path()
.PATH_SEPARATOR.$indefero_path
// .PATH_SEPARATOR.$pluf_path
);
require 'Pluf.php';
Pluf::start(dirname(__FILE__).'/../src/IDF/conf/idf.php');
Pluf_Dispatcher::loadControllers(Pluf::f('idf_views'));

Archive Download the corresponding diff file

Page rendered in 0.09784s using 13 queries.