Beruflich Dokumente
Kultur Dokumente
Administrator's Guide
Getting Started
In this chapter you will learn how to get activeCollab up and running on your own server. First, we will describe all the server
requirements that are necessary in order to run activeCollab nicely and smoothly. Then, we will lead you through the installation
process, one step at a time. Finally, we will give you some advice in order to help you make sure that your copy of activeCollab is totally
secure.
Let's get started!
System Requirements
activeCollab is a PHP-based application that must be downloaded and installed on a server in order to run (after purchasing a licence).
Currently, it is not available as a hosted service.
The minimum system requirements that your web server must meet in order to run activeCollab are:
Web server with PHP 5.3 or PHP 5.4 support (latest stable recommended) with mysql, PCRE, XML, ctype, tokenizer,
session, xml, dom, phar, zlib and json extension installed. activeCollab is known to work well on Apache and IIS. Other web servers
might also work, but we haven't tested these configurations.
One MySQL database.
activeCollab comes with no specific hardware requirements. You should use hardware that can serve the platform that you
picked (Windows, Linux, Mac OS etc) while running an application that uses between 50MB and 1GB of RAM (depending on
number of users, memory caching settings etc).
We recommend the following system configuration:
Apache 2 with support to run PHP scripts.
PHP 5.4 with mysql, PCRE, XML, ctype, tokenizer, session, xml, dom, json, gd, mbstring, iconv, phar, zlib and IMAP extensions.
MySQL 5 with InnoDB storage engine enabled.
Memory limit set to at least 64MB, but we highly recommend 128MB (it is configured in your php.ini file). Depending on your
reporting needs and the way that you configure thumbnail generation, more memory may be required in order to handle usage
peaks (when preparing big reports or resizing big images).
activeCollab does not work under eAccelerator or XCache. Please disable them before installing activeCollab and consider using
APC instead.
For reliable production use, we recommend hosting with guaranteed resources (VPS or dedicated) over shared
hosting.
Optional Extensions
The following PHP extensions are required for some optional features to work, but they are not required for the system itself to operate:
1. If you wish to use CAPTCHA protection with the Public Submit module, you will need to have the GD extension enabled with
FreeType support.
2. If you wish to use the Incoming Mail module, so that activeCollab can read emails, post responses as comments, or add new
messages as Discussions or Tickets, your system must have the IMAP PHP extension installed.
3. SVN extension is also recommended if you wish to browse your SVN repository by using activeCollab Source Module.
To access and use activeCollab, your users will need to have a modern web browser with JavaScript enabled. We test and
officially support:
Internet Explorer 9 and higher. System works in Internet Explorer 8 as well, but some features may be slower or not as polished as
the latest version of Microsoft's browser. Please, use the latest stable version of Internet Explorer for optimal performance and
user experience.
Latest stable version of Google Chrome.
In action: probe.php
php_flag eaccelerator.optimizer 0
Please consult your hosting provider for specific information.
Use APC for Opcode Caching
We recommend that you use APC for opcode and memory caching. When enabled, your PHP will cache the processed PHP
files and will not waste time on file processing on each request (which results in significant performance gain). Also,
activeCollab will automatically start using it as the primary caching mechanism, instead of a file based cache, which will also
speed things up.
APC is highly recommended if you want good system performance.
Installation
Important Note
Please make sure that whenever you install or upgrade activeCollab, when uploading files using FTP, to always use Binary transfer
mode. Using any other mode can cause the files to become corrupted and render them invalid
The activeCollab installation can be completed in six simple steps:
1. Ensure that your server meets activeCollab's System Requirements. If your server does not, or is not properly configured, you will
not be able to run the installation tool;
2. Create a MySQL database where activeCollab will store the data. If you already have a database set up, this step is optional;
3. Download the activeCollab installation package from your profile page on the activeCollab website;
4. Upload the contents of the /for-upload folder onto your server;
5. Run the installer tool;
6. Log in for the first time and verify that the system is working properly.
Read on to learn more about each of these steps.
In action: probe.php
2. Creating a Database
activeCollab installer will not created a database for you, so please make sure that you have a database available for your
activeCollab installation before continuing with the install process. If you don't have a database, you can create it by using
your favorite MySQL administration tool (phpMyAdmin, for instance) or contact your system administrator to create a
database for you:
3. Downloading activeCollab
Before you can install activeCollab, you'll need to download activeCollab installation package from your profile page on the
www.activeCollab.com website. To be able to see and download installation package, please login with the same account you
used to purchase the license:
Before installation process beings, activeCollab installer will first validate your environment:
If you don't see the login screen or see an error message or blank page instead, please consult the Troubleshooting guide or
contact our support team.
Now that you have the exported archive here's what you need to do to import it into your activeCollab:
1. Upload the contents of all directories from the archive file to respective directories at your activeCollab setup (overwrite
the existing files);
2. Delete all tables from activeCollab database and import the data from .sql file located in the archive;
3. Delete all files having .php extension from /cache directory;
4. Delete all files having .php extension from /compile directory;
5. Edit /config/config.php and set table prefix to your instance name. For example, if your demo instance was
http://mydemo.tryactivecollab.com, then you should set the table prefix to "mydemo_".
After completing all of these steps, you should be able to see all your data from the Hosted Demo in your installed
activeCollab.
If you have any difficulties, feel free to contact us, and we'll help you set your activeCollab.
Configuration
In this section, you'll learn how to configure activeCollab the way you want it and get the best out of all the different features available to
you.
Scheduled Tasks
Some activeCollab modules need to be run periodically in order to perform their tasks and functionality. For instance, the invoicing
module should be run daily if you wish to automatically create and send invoices configured using "Recurring Profiles" feature.
All of these events are executed by periodically making a web request on specific activeCollab URL/URLs or executing specific PHP files
through command lines (check this article for details). There are three time periods which activeCollab supports:
1. frequently - Should be executed frequently. We recommend every 3 minutes, but you can use any value between 1 - 5 minutes.
2. hourly - Should be executed every hour.
3. daily - Should be executed every day.
Command examples with exact paths and URL/URLs that need to be triggered are available on the Administration > Scheduled
Tasks page:
Note
activeCollab has two different ways for generating URLs. Because of that, URLs in your system may look a bit different to the URLs
displayed in a screenshot or used in other examples.
Scheduled Tasks page in Administration is also used to check when was the last time these events were triggered, so it's useful for
troubleshooting actions that are executed on events triggered by scheduled tasks.
In order for events to work you'll need to set-up some kind of scheduling software to execute task scripts or ping specific
activeCollab URLs at specific times.
For example, on UNIX you can use cron and PHP or curl to achieve this. Open crontab for editing by executing:
crontab -e
in your command line. Then insert the following text into the field:
*/3
12
and save it. This will tell PHP to execute task files:
1. Every 3 minutes for frequently tasks.
2. On an hourly script on 0 minute of every hour.
3. On a daily script every day at noon.
If the PHP command line interface is not available on your server, you can use curl to request specific URLs to trigger events.
activeCollab behaves the same way as task files, but instead of using a PHP command line utility, tasks are invoked by the
web server. Here are the commands that you'll need to set in the crontab file:
*/3
12
schtasks /create /ru "System" /sc minute /mo 3 /tn "activeCollab frequently job" /tr "\"C:\Program Files
(x86)\php\php.exe\" C:\activecollab\tasks\frequently.php -f
<key>StandardErrorPath</key>
<string>/tmp/ac_schedule_err.log</string>
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>
3. com.a51.activeCollabDaily.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.a51.activeCollabDaily</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/curl</string>
<string>-s</string>
<string>-L</string>
<string>https://my.activecollab.info/daily?code=12345</string>
</array>
<key>StandardOutPath</key>
<string>/dev/null</string>
<key>StandardErrorPath</key>
<string>/tmp/ac_schedule_err.log</string>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>12</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>
These settings will define following tasks:
1. A frequently task that fires every 3 minutes;
2. An hourly task that fires at first minute of every hour;
3. A daily task that fires every day at noon (the server's time, not activeCollab's).
To see if everything is working properly, periodically check the Administration > Scheduled Tasks page to check the last time
tasks were executed successfully.
activeCollab can work with emails in the way you choose. Select one of the following options for connection:
Disabled - system will not send any emails or notifications to users.
Silent - Notification and email system is working, but does not send any messages. This mode is great for testing, because you will
not disturbe anyone, but will be able to see the log.
Use Native Mailer - In this case, activeCollab will use the email server configured in your php.ini file. If the PHP is properly
configured, the system will send messages using mail() function.
Use SMTP Server - activeCollab will connect to an external SMTP server to send messages.
After setting up the way you wish your activeCollab to communicate, you can choose how email should be send:
Instantly - the system will send emails in the same requests in which they were prepared.
In the Background - the system will not slow down the request that prepared the notification, instead it will send the message as
soon as possible.
If preferred, you can allow users in your activeCollab to select the way they want to get their email messages themselves.
Finally, you should configure email address of the sender. From: email and From: name will be displayed on every email
notification your activeCollab sends. We suggest you to use a unique email address created only for this purpose.
Recommendation
We recommend you to to use the same email address in the Outgoing Mail setup and for Incoming Mail setup, to make sure all your
notifications are able to have reply's that will be imported in activeCollab. In this way replays will be placed in your activeCollab
automatically.
This tool is straight forward and it will help you spot and resolve the email conflict (if there is any) in no time.
A page will appear where you should click the New Mailbox button in the top right corner. Now you can configure your
mailbox. Information required here are usually provided by your hosting company. If not, feel free to contact them and ask
for the info you need.
To start creating filters you need click Manage Filters button in the Administration > Email area. In the top right
corner of the following page you will see New Filter button. Now set the following:
Filter Name - should be unique and straight forward to help you make the difference between multiple filters that you
can have.
Apply This Filter To option - offers to select all mailboxes or just one that will be used for this purpose. If not defined
filter will be applied to all mailboxes (as default setup)
Subject - enable it if you want to have emails with certain word in a subject treated differently. This option can come
in handy if, for example, you want to trash all emails with "Auto-responder" in their subject.
Body - use this criteria for the emails that has a specific word, or phrase included in their body text.
Priority - useful for the messages that should be emphasized as important.
Has Attachments - when enabled checks if email message has attached files or not.
Sender Email - use it if you wish to treat emails from specific group of uses in a a unique way.
To Email - when enabled can recognize the recipient's email address.
After we have set all the criteria needed we can define what exactly will be done with the email messages which fullfils
conditions set above. This will be determined in the Action box. Here we can choose to:
1. Move the email to Trash - incoming message will be trashed immediately and removed from your server.
2. Ignore - system will not register the email message.
3. Add New Task - email will be turned into a Task within selected project. You can even set Category, Label and
Assignee for this specific Task, as well as set the Milestone for it, enable unregistered users to submit such tasks, define
who should be listed as task creator. On top of that, you can also send an email notification about the task and create a
public page where non-registered users will be able to access it.
4. Add New Discussion - process is the same as described for creating a new task.
5. Add New File - same process as described when creating a new task.
Important Note
Please be aware that only one object can be created when applying a filter. This means that you can't have a new Task,
Discussion and File all created by applying one filter to an email message. Such an email can be used to create only one of
the project items.
You will notice the magnifying glass icon in the filter tool bar. By clicking it, you will be able to see all important details
about that filter.
If you wish to make some editing on the filter just click the pencil icon and make the changes you wish.
Each of the filters created can be deleted at any time.
4. Resolving Conflicts
Occasionally, when incoming mail filters can't be apply to the email message found in the defined mailbox properly, a
conflict can occur.
You will know that a conflict has happened by: - receiving an email about a conflict in your activeCollab. Please note that
only Admin users will receive such emails. - You will see a number in the Control Tower bar.
To examine the conflict and resolve it go to Administration > Email and choose the Incoming Mail Conflicts tab. You
will see the list of messages describing what the conflict was about. To see more details you should click the magnifying glass
icon and a message with the full description will appear. This is aslo a place where you can resolve the conflict.
Control Tower
Control Tower is set of administrator tools that are designed to alert administrator about any mail conflicts, mail in queue, if
scheduled tasks is set up correctly and if you have an incoming mailbox set up to be able to receive replies to email notifications. Control
Tower is available for administrators only and can be accessed by clicking the button at the bottom right hand corner of the interface.
You can also use it to Empty the Cache, Clear Compiled Templates, Rebuild Assets (Images, Fonts, Flash files etc) and Rebuild
Localization Dictionaries when needed.
1. Scheduled Tasks - When Scheduled Tasks is properly configured, light will show as green. Please note: If the frequently
command is triggering less frequently than every 10 mins, the hourly command triggering less frequently than every hour and the
daily command triggering less frequently than every 24 hours, the Scheduled Tasks indicator will show as red.
2. Reply to Comment - This light will show green when an all necessary requirements have been met to allow users to reply to
email notifications, and have those responses logged as comments on the relevant object (tasks, discussions, files etc).
3. Mailing Queue - When light is green there is no mail in the mailing queue.
4. Mail Conflicts - When light is green, there are no mail conflicts.
Setting which indicators you wish to show in the control tower can be done in admin panel.
Languages
Localization Support in activeCollab enables you to have multiple languages available and used at the same time. It practically means
that each user in your activeCollab can use the application interface in their native language.
The Languages tool, in the Admin area, allows you to create and import any number of languages that you need. The only language
that is available by default is English.
Import the XML language file - to be able to do that, you will need to export the translation file made with activeCollab. A few
of our community members have decided to share the translations that they made, so you can choose to use some of them. You will
find this on the Translations page of our website.
When having a few languages available, you can select which one will be the default language. Use the Set Default Language button,
in order to do that. A form will appear where you can mark the language that will used as default.
If you are working with people from different countries, you can make activeCollab more convenient for them by giving them an
opportunity to use activeCollab in their native language. To set this up, go to the user's profile page and use the Change Setting option
from the Options menu. Here, you will see the Localization setup and the Language drop down menu. Simply select the language
that you wish and click on the Save changes button.
1. System Roles
System Roles lets you configure what a user can do in the system - eg. access administration controls, manage people or
projects, create and access assignment filters, etc. Each user can only have one System Role that controls what they can do
on a system level. This role is set when the user account is created and can be changed at any time on the Profile page of the
given user in the Company and Role dialog. System roles can be found and fine-tuned in Roles and Permissions tool
under General section in the administration panel.
You can give your users a default system role or edit one to suit your needs or create a completely new system role.
To edit an existing role simply click on the Edit button that looks like a pencil on Administration > Roles and
Permissions page as shown above.
You can also configure a default homescreen for a role so every user with that role will have the same, pre-configured home
screen. Please see Configuring your Homescreen for more information on this topic.
Every system role consists of the following permission options that you can grant or forbid:
You can see what each of these permission do by holding your mouse cursor over the permission in your activeCollab.
Permission
Description
system_access
This permission defines whether user has permission to access the system. System
Set this to No if you don't want to delete specific user accounts but you want
to restrict them access to the system.
Module
administration_access
Set this permission to Yes if you want to give administration permissions to System
users with selected role. This permission overrides every other permissions
and additionally gives access to administration panel to users who have it.
use_api
Set this permission to Yes if you want to let users use API. API is used to let System
external applications work with application data (calendar applications,
RSS readers, specialized tools like timer applications etc).
use_feeds
Set this permission to Yes if you want to let users use feeds. Feeds are used System
to let external applications work with application data (calendar
applications, RSS readers etc).
see_private_objects
Set to Yes for roles that you want to be able to see objects marked as private. System
Usually this is set to Yes only for the members of your own company and to
No for the client roles to hide sensitive, internal discussions and other
confidential information.
manage_trashed_data
People with this permissions can list objects that are moved to trash. This
System
Project managers are people who can do anything with all projects. They
System
can see and access any project and they have all the permissions in them.
Project managers can create projects even if 'add_project' permission is set
to No!
create_new_projects
Set whether user can create new projects or not. When creating a project
System
members of client companies will see ONLY people and companies they
have previously worked with. They will not see everyone! Administrators
and project managers can create new project no matter which value this
permission has!
see_project_budgets
Set whether user can see budget details for projects. Budget details are great System
for managers and (sometimes) clients, but you usually don't want to have
this information available to all employees and sub-contractors.
people_management
System
People section. They can create new and manage all existing users and
companies without any restriction.
manage_company_details
System
company details. This user will be able to change its own company
information, add new people to that company, and receive and access
Invoices issued to that company.
see_contact_details
People with this permission set to Yes in their system role can see contact
System
System
permission is set to No, system will not allow users to configure their own
home screen and it will use home screen configured for this role (or global
home screen if role does not have home screen configured).
manage_assignment_filters
Set to Yes for roles you want to be able to create new and manage existing
System
assignment filters. If set to No users will be able just to use existing filters,
but not to create new or change setting of existing ones.
access_global_documents
Set to Yes to let users access Global Documents section, and view files and
Documents
his permissions enables users to view existing and create new invoices,
Invoice
This permissions enables users to manage quotes within Invoicing module. Invoice
use_status_update
Set to Yes to let people use a simple communication tool that is easily
Status
Update
2. Project Roles
Project roles enables you to give or restrict access to specific sections and features inside a project. One great thing about
project permissions is that they work on a per-project basis. For example, you may want a user to be able to start new
Discussions in one project, but you dont want to give them access to Discussions in another project.
Unlike System roles, each user can have as many different project roles as projects they are working on (though only one
project role per project). The project role is set when the user is added to the project, via the People tab. Predefined project
roles can be found and managed on Project Roles page under Projects section in activeCollab's administration panel.
Project roles added here will be available when adding users to the projects.
Custom Fields
If you need to have some additional info in activeCollab on your Projects or Tasks, you can use Custom Fields feature. By using it you
can add up to 3 new custom fields on your Projects and Tasks.
You can also use criteria defined in custom field to list your Projects and Tasks by using this option from the Group By drop
down menu.
1. To the Project
If you wish to use Custom Fields on a New Project form, you need to enable it first. To do that go to Administration >
Project Settings, enable the fields you wish to use and name them.
After doing so, you will see additional fields on the New Project form. It will look something like this:
You can use Custom Fields labels as a criteria for project grouping, as you can see here:
2. To the Task
To enable Custom Fields for Tasks, visit Administration pannel again. This time use the Tasks Settings tool and click
the Change Settings button. A form will appear where you can enable up to three custom field and label them.
These fie;ds will appear on the New Task form:
Upgrade Instructions
In this section you can learn how to upgrade your copy of activeCollab to the latest release.
Based on the version that you currently have installed, please pick one of the following instruction sets:
1. If you have activeCollab 3.3.x or later click here.
2. If you have activeCollab 3.1.x or later click here.
3. If you have activeCollab 2.3.x click here.
4. If you have activeCollab 3.0.x click here.
Important Note
Please make sure that whenever you install or upgrade activeCollab, when uploading files using FTP, to always use Binary transfer
mode. Using any other mode can cause the files to become corrupted and render them invalid
This will open the auto-upgrade dialog. Provide your password, and let the system do the rest:
Important Note
Please note that the upgrade process via activeCollab Manager is not possible with version 3.3.x. Feel free to use the activeCollab
Manager to conduct an upgrade, or maintain any of the earlier versions of activeCollab.
If you have any questions or concerns, feel free to get in touch with our support team.
Manual Upgrade (Available for activeCollab 3.1, 3.2, 3.3, 4.0, 4.1)
In activeCollab 3, the manual upgrade process is simplified. To start, download the latest activeCollab 3 build from your
activeCollab.com profile:
Unpack the archive and open /for-upload/activecollab folder. In that folder you'll find code for latest version of the system. Upload
latest stable version to /activecollab folder of your activeCollab setup on your server:
After you have latest version of activeCollab files uploaded, visit /public/upgrade/index.php part of your activeCollab with your web
browser, log in with your administrator credentials and let the system upgrade your database:
To confirm that you have successfully upgraded activeCollab, open config/versions.php and make sure that upgrade script has written
the valid version number in it.
When new activeCollab 3 files are uploaded, make sure that following folders are set as writable:
1. /public/assets,
2. /public/avatars,
3. /public/logos,
4. /public/notebook_covers,
5. /public/projects_icons.
There's just one more step to do: fix configuration file. To do that, you'll need to open /config/config.php file and add following lines to
it, in block where other options are defined:
define('USE_UNPACKED_FILES', true);
and than replace:
require_once 'defaults.php';
require_once 'license.php';
with:
require_once dirname(__FILE__) . '/version.php';
require_once dirname(__FILE__) . '/license.php';
require_once dirname(__FILE__) . '/defaults.php';
After these changes, your configuration file will look something like this:
<?php
define('ROOT', '');
define('PUBLIC_FOLDER_NAME', 'public');
define('DB_HOST', '');
define('DB_USER', '');
define('DB_PASS', '');
define('DB_NAME', '');
define('DB_CAN_TRANSACT', true);
define('TABLE_PREFIX', 'acx_');
define('ROOT_URL', '');
define('PATH_INFO_THROUGH_QUERY_STRING', true);
define('FORCE_QUERY_STRING', true);
define('LOCALIZATION_ENABLED', false);
define('ADMIN_EMAIL', '');
define('DEBUG', 1);
define('API_STATUS', 1);
define('PROTECT_SCHEDULED_TASKS', true);
define('DB_CHARSET', 'utf8');
// Lines bellow are new to activeCollab 3
define('USE_UNPACKED_FILES', true);
require_once dirname(__FILE__) . '/version.php';
require_once dirname(__FILE__) . '/license.php';
require_once dirname(__FILE__) . '/defaults.php';
That should cover all the dirty work. From this point, everything is automated. Visit /public/upgrade/index.php part of your
activeCollab with your web browser, log in with your administrator credentials and let the system upgrade your database:
Now remove /custom/localization folder, because it's no longer needed (activeCollab 3 uses database to manage and store translations).
Clean URL-s
If you used clean URL-s tweak in activeCollab 2, don't forget to check out this article to learn how to update this tweak to make it
compatible with activeCollab 3. Note that this tweak may break your activeCollab 3 unless you upgrade it!
Final step is confirming that activeCollab is working by logging in. If you see log in screen, but you can't log in with credentials
that are known to work, please clean cache by removing all .php files from /cache folder.
// --------------------------------------------------$latest_version = null;
if($h = @opendir(ROOT)) {
$use_unpacked_files = defined('USE_UNPACKED_FILES') && USE_UNPACKED_FILES;
/**
* Return true if $version is valid angie application version number
*
* @return boolean
*/
$is_valid_version = function($version) {
if(strpos($version, '.') !== false) {
$parts = explode('.', $version);
if(count($parts) == 3) {
foreach($parts as $part) {
if(!is_numeric($part)) {
return false;
} // if
} // foreach
return true;
} else {
return false;
} // if
} else {
return false;
} // if
};
// Walk through files
while(false !== ($entry = readdir($h))) {
if($entry == '.' || $entry == '..') {
continue;
} // if
if($use_unpacked_files) {
$version = $entry;
} else {
if(str_ends_with($entry, '.phar')) {
$version = substr($entry, 0, strlen($entry) - 5);
} else {
continue;
} // if
} // if
if($is_valid_version($version)) {
if(empty($latest_version)) {
$latest_version = $version;
} else {
if(version_compare($latest_version, $version, '<')) {
$latest_version = $version;
} // if
} // if
} // if
} // while
} // if
// --------------------------------------------------//
//
available version
// --------------------------------------------------if($latest_version) {
require_once ROOT . "/$latest_version/angie/classes/application/upgrader/AngieApplicationUpgrader.class.php";
make it:
const ROOT_URL = 'http://projects.example.com';
After this declaration (not before, it will not work), add the following three lines:
define('URL_BASE', ROOT_URL . '/');
define('ASSETS_URL', ROOT_URL . '/public/assets');
define('PATH_INFO_THROUGH_QUERY_STRING', false);
Final step is to clear the cache, so activeCollab can pick up new URL-s instead of using old, cached ones. To clear the cache, use your
FTP client and navigate to /cache folder of your activeCollab and remove all .php files that are stored there.
That's it. To test, navigate through your activeCollab and check if links are updated.
In order to install activeCollab, we'll simply visit http://intranet. activeCollab will present simple installer utility that you can use to get
activeCollab database and initial data created. When installer shows us that activeCollab is successfully installed, everything should be
working just fine even though only /public folder is publicly available.
When you confirm that system is running properly, open config/config.php and add the following line to the block where all other
configuration options are defined:
define('PUBLIC_AS_DOCUMENT_ROOT', true);
Please note:
1. Sometimes the document root folders are not named public (frequently it is public_html, web etc). In that case, put the content of
/public folder in your document root, run the installer and when you're done open config/config.php and make sure that
PUBLIC_FOLDER_NAME is set to the correct value.
2. If you are using .htaccess fix to have 100% clean URL-s, then you'll need to put it in /public folder and make appropriate changes
to rewrite rules.
3. Folders like /cache, /upload, /logs, and so on, are protected by .htaccess file with rules that restrict direct access to files located in
these folders. Your server will need to be configured so it allows overriding using .htaccess files. Read more in Apache
documentation.
To increase the max upload size, open php.ini file and change values of upload_max_filesize and post_max_size directives to value that
suits your needs. For example:
upload_max_filesize = 64M
post_max_size = 64M
Save php.ini and restart your web server. If you don't have access to php.ini, contact your system administrator or hosting provider
to increase these values for you and point out that they need to be applied to /public folder. Don't forget to restart your server after the
changes in the php.ini are made. If you skip this step the maximal upload size change will not be applied.
Apache Note
Apache has a LimitRequestBody configuration directive. It restricts the size of all POST data regardless of the web scripting language in
use. You might need to update this value, too.
URL change is automated. Only in case you have asked for URL change 3 times in a row, you need to wait for a manual
approval.
After you receive an email that your URL is changed, please download the license.php from our website and replace the
existing one in your activeCollab setup.
Don't forget to clear /cache and /compile folders after the license.php replacement.
Transfer Mode
When uploading images, avatars etc from your old setup, make sure that you use Binary transfer mode in your
FTP client. Using ASCII mode may result in corrupt files afterwords.
Troubleshooting
Debugging
activeCollab can run in two different modes, based on the value of APPLICATION_MODE directive. Possible values:
1. in_production_mode - default mode used for system in production environment. In case of a system error, activeCollab
displays a brief error message to the user without reveling any sensitive system information and sends an email notification to the
administrator, with all relevant information included. Recipient for this kind of notification is configured with ADMIN_EMAIL
directive.
2. in_debug_mode - debug mode used for troubleshooting and development. In this mode activeCollab logs entire execution
process in /logs folder. Logged information are grouped by day. In case of a system error, detailed error with all relevant system
information is displayed to the user, but no email will be sent.
When troubleshooting, you should set APPLICATION_MODE to in_debug_mode. Open config/config.php and change the value of
APPLICATION_MODE to in_debug_mode. If APPLICATION_MODE directive is not present in config/config.php, then you can add it
yourself by adding the following line to the file:
define('APPLICATION_MODE', 'in_debug_mode');
It is strongly recommended that you use debug mode only for debugging. When you are done debugging, remove APPLICATION_MODE
from config/config.php file to avoid revealing any sensitive information about your activeCollab setup.
Emailing is one of the most important features of activeCollab. In this article you'll find instructions on how to check if emailing is
working properly and how the emails sent by the system look like.
If Repair command fails to resolve the problem, you should contact your hosting provider or system administrator for assistance.