Root/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | # Quick installation instruction 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. ## PHP modules for indefero Indefero need the GD module for PHP. It's named "php5-gd" in debian. $ apt-get install php5-gd ## 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). * Install the `Mail` and `Mail_mime` classes from [PEAR](http://pear.php.net). You must use the `--alldeps` flag when installing these modules. **Pear install/upgrade:** $ sudo pear upgrade-all $ sudo pear install --alldeps Mail $ sudo pear install --alldeps Mail_mime $ sudo pear install --alldeps Console_Getopt If you already have some of the PEAR packages installed with your distribution, the `Mail` package is often not up-to-date, [read more here](http://projects.ceondo.com/p/indefero/issues/104/#ic347). The Pluf installation folder is the folder containing the file `Pluf.php`. ## 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. * 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. * Make a copy of `src/IDF/conf/path.php-dist` as `src/IDF/conf/path.php`. * Update the path.php file to match your installation paths. It should work out of the box if you followed the recommended file layout. * Open a terminal/shell and go into the `src` folder in the InDefero installation folder. **Command:** $ 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. * More details about the migration is available in the [migration documentation](http://pluf.org/doc/migrations.html) of the Pluf framework. * Create a bootstrap file to create the admin user for example `www/bootstrap.php`. Do not forget to update the second line with your path to Pluf. **Bootstrap script:** <?php require '/home/www/indefero/src/IDF/conf/path.php'; require 'Pluf.php'; Pluf::start('/home/www/indefero/src/IDF/conf/idf.php'); Pluf_Dispatcher::loadControllers(Pluf::f('idf_views')); $user = new Pluf_User(); $user->first_name = 'John'; $user->last_name = 'Doe'; // Required! $user->login = 'doe'; // must be lowercase! $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"; ?> * 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. * Click on the Forge Management link on top and create your first project. ## 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. * Remove all the `*.phps` files in your temp folder. * Upgrade the database with the upgrade commands: **Upgrade commands:** $ cd /home/www/indefero/src $ 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 ## Repository Synchronization The documentation is available in the `doc` folder. * Subversion: `doc/syncsvn.mdtext`. * Mercurial: `doc/syncmercurial.mdtext`. * Git: `doc/syncgit.mdtext`. * Monotone: `doc/syncmonotone.mdtext` ## 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. Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) /index.php/$1 `Options +FollowSymLinks` is only needed if you are using symlinks. ## 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. ## 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'; ## FreeBSD Installation You need to install `/usr/ports/lang/php5-extensions` which contains the Standard PHP Library (SPL). ## Using a SMTP server with authentication If your SMTP server requires authentication, for example, *smtp.gmail.com*, you can use the following email configuration: $cfg['send_emails'] = true; $cfg['mail_backend'] = 'smtp'; $cfg['mail_auth'] = true; $cfg['mail_host'] = 'ssl://smtp.gmail.com'; $cfg['mail_port'] = 465; $cfg['mail_username'] = 'YOURGMAILADDRESS'; $cfg['mail_password'] = 'YOURPASSWORD'; Check with your provider to get the right settings. ## Git Daemon on Ubuntu Karmic If you have problems getting it to run, you can follow this procedure proposed by Mathias in ticket 369. 1. Install git-daemon-run in addition to git-core 2. Edit /etc/sv/git-daemon/run to look as follows: #!/bin/sh exec 2>&1 echo 'git-daemon starting.' exec chpst -ugit:git \ /usr/lib/git-core/git-daemon \ --reuseaddr \ --syslog \ --verbose \ --base-path=/home/git/repositories \ /home/git/repositories 3. Restart git-daemon-run sv restart git-daemon ## If Subversion is not working If you access a Subversion server with a self-signed certificate, you may have problems as your certificate is not trusted, check the [procedure provided here][svnfix] to solve the problem. [svnfix]: http://projects.ceondo.com/p/indefero/issues/319/#ic1358 ## If the registration links are not working If You have standard instalaction of PHP ie in Debian, php.ini sets mbstring.func_overload to value "2" for overloading str* functions. You need to prevent the overload as it does not make sense anyway (magic in the background is bad!). See the [corresponding ticket][reglink]. |