Reviewed installation guide

This commit is contained in:
Manuel Cillero 2017-08-16 20:39:39 +02:00
parent bf48d8890d
commit 8133d7f116
6 changed files with 135 additions and 305 deletions

View file

@ -42,9 +42,4 @@ license, including:
* Farbtastic - Copyright (c) 2007 Matt Farina
* jQuery - Copyright (c) 2008 John Resig
* jQuery Form - Copyright (c) 2007 Mike Alsup
### Libraries
* CKEditor - Copyright (c) 2003-2016, CKSource - Frederico Knabben
* dhtmlxGantt - Copyright (c) 2015 Dinamenta, UAB
* TCPDF - Copyright (c) 2002-2015 Nicola Asuni - Tecnick.com LTD

View file

@ -90,9 +90,12 @@ Initial release based on Drupal 6.38 (2016-02-24) with modules:
and libraries:
+ CKEditor 4.6.1
+ dhtmlxGantt 3.2.0
+ GeSHi - Generic Syntax Highlighter 1.0.8.11
+ HTML Purifier Library 4.8.0
+ jQuery UI 1.6
Besides, to download (recommended versions or later):
+ dhtmlxGantt 3.2.0
+ HTML Purifier Library 4.8.0
+ TCPDF 6.2.13
+ wkhtmltopdf 0.12.4

View file

@ -27,7 +27,7 @@ See http://www.php.net and http://www.mysql.com for more information.
INSTALLATION
------------
### 1. Download SuiteDesk
### 1. DOWNLOAD SUITEDESK
You can obtain the latest **SuiteDesk** release from:
@ -45,72 +45,12 @@ your web server's document root or your public HTML directory:
mv suitedesk-version/* suitedesk-version/.htaccess /var/www/html
### 2. Download PDF tools
### 2. DOWNLOAD AND INSTALL LIBRARIES
**wkhtmltopdf support**
Just follow the instructions provided in the `README.md` file available in the
`libraries` directory to install the required libraries.
The print PDF module requires the use of an external PDF generation tool. The
currently supported is *wkhtmltopdf*. To install follow the next steps:
1. Download *wkhtmltopdf* from https://wkhtmltopdf.org/downloads.html. You can
choose to download the source and compile it or simply download the static
binary, which doesn't require you to compile anything. Note that the compiled
version may require a running X server (static uses patched libs that can
work without one).
2. Place the `wkhtmltopdf` executable into the `libraries` directory. You can
also place a symbolic link to the executable.
3. Check https://wkhtmltopdf.org/usage/wkhtmltopdf.txt for further information.
**TCPDF support**
Used by the invoices module. This module requires TCPDF >= 6.2.000.
1. Download TCPDF from http://sourceforge.net/projects/tcpdf.
2. Extract the contents of the downloaded package into the `libraries`
directory. There is no need to modify the `config/tcpdf_config.php` file, as
the module self-configures TCPDF.
3. Grant write access to the `cache` and `images` directories to your webserver
user.
4. Check http://tcpdf.sourceforge.net for further information.
### 3. Download HTML Purifier library
Make sure you check *HTML Purifier* and make sure that you have fulfilled all of
its requirements before running this. Specifically, you'll need the PHP
extension `ctype` (in almost all PHP distributions), and it's nice to have `dom`
and `iconv`.
Download HTML Purifier from http://htmlpurifier.org. You will need 4.8.0 or
later. Extract the `library` folder to `libraries` directory. The final setup
should be:
libraries/htmlpurifier/
HTMLPurifier
HTMLPurifier.autoload.php
HTMLPurifier.auto.php
HTMLPurifier.func.php
HTMLPurifier.includes.php
HTMLPurifier.kses.php
HTMLPurifier.path.php
HTMLPurifier.php
HTMLPurifier.safe-includes.php
### 4. Download dhtmlxGantt library
Download dhtmlxGantt from https://dhtmlx.com/docs/products/dhtmlxGantt/. You
will need 3.2.0 or later. Extract the `codebase` folder and rename it to
`dhtmlxgantt` in the `libraries` directory. The final setup should be:
libraries/dhtmlxGantt/
connector
ext
locale
skins
sources
dhtmlxgantt.css
dhtmlxgantt.js
### 5. Create the configuration file and grant write permissions
### 3. CREATE THE CONFIGURATION FILE AND GRANT WRITE PERMISSIONS
**SuiteDesk** comes with a `default.settings.php` file in the `config/default`
directory. Use this file as a template to create your settings file. To avoid
@ -131,7 +71,7 @@ write privileges to the `config/default` directory with the command (from the
chmod o+w config/default
### 6. Create the SuiteDesk database
### 4. CREATE THE SUITEDESK DATABASE
**SuiteDesk** requires access to a database in order to be installed. Your
database user will need sufficient privileges to run **SuiteDesk**.
@ -226,7 +166,7 @@ collation in the `$db_collation` setting. Important:
to use the 'utf8_unicode_ci' collation instead.
- More information at http://drupal.org/node/772678
### 7. Populate the database
### 5. POPULATE THE DATABASE
Run the next command to setup the database, create tables, populate them, set
the first users accounts and provide basic web site settings. Remember, you will
@ -258,7 +198,7 @@ security risk. Although the default location for the settings.php file is at
config/default/settings.php, it may be in another location if you use the
multi-site setup, as explained below.
### 8. Review file system storage settings and file permissions
### 6. REVIEW FILE SYSTEM STORAGE SETTINGS AND FILE PERMISSIONS
The files directory created in previous step is the default file system path
used to store all uploaded files, as well as some temporary files created by
@ -316,7 +256,7 @@ documentation files from public view, repeat this command for each of the Drupal
documentation files in the `config` directory, substituting the name of each
file for CHANGELOG.md in the example.
### 9. Initial configuration and first access
### 7. INITIAL CONFIGURATION AND FIRST ACCESS
When the install script succeeds, you will be directed to the "Welcome" page,
and you will be logged in as the administrator already. Proceed with the initial
@ -367,7 +307,7 @@ preferred and use one of the next pre-configured Drupal/**SuiteDesk** users:
It's highly recommended to change the password of all these users before
delivery the site in production.
### 10. Cron Maintenance tasks
### 8. CRON MAINTENANCE TASKS
Many **SuiteDesk** modules have periodic tasks that must be triggered by a cron
maintenance task, including search module (to build and update the index used

View file

@ -6,14 +6,12 @@ Prior to upgrading, you should ensure that:
* Your system meets or exceeds Drupal's minimum requirements as shown at
http://drupal.org/requirements.
* You have a backup of all your relevant data (#1).
* Custom and contributed modules have been checked for compatibility (#11).
* Custom and contributed themes have been checked for compatibility (#11).
* You have read through this entire document.
Let's begin!
1. Back up your Drupal database and site root directory. Be especially sure
to back up your "config" directory which contains your configuration file,
1. Back up your Drupal database and site root directory. Be especially sure to
back up your "config" directory which contains your configuration file,
added modules and themes, and your site's uploaded files. If other files
have modifications, such as .htaccess or robots.txt, back those up as well.
@ -24,9 +22,9 @@ Let's begin!
For multisite configurations, the configuration file is located in a
structure like the following:
config/default/settings.php
config/example.com/settings.php
config/sub.example.com/settings.php
config/default/settings.php
config/example.com/settings.php
config/sub.example.com/settings.php
config/sub.example.com.path/settings.php
More information on multisite configuration is located in INSTALL.txt.
@ -42,8 +40,8 @@ Let's begin!
option is at http://www.example.com/?q=admin/settings/site-maintenance
(replace www.example.com with your installation's domain name and path).
4. If using a custom or contributed theme, switch
to a core theme, such as Garland or Bluemarine.
4. If using a custom or contributed theme, switch to a core theme, such as
Garland.
5. Disable all custom and contributed modules.
@ -53,8 +51,8 @@ Let's begin!
8. Copy your backed up "files" and "config" directories to the Drupal
installation directory. If other system files such as .htaccess or
robots.txt were customized, re-create the modifications in the new
versions of the files using the backups taken in step #1.
robots.txt were customized, re-create the modifications in the new versions
of the files using the backups taken in step #1.
9. Verify the new configuration file to make sure it has correct information.
@ -64,43 +62,35 @@ Let's begin!
Note: if you are unable to access update.php do the following:
- Open your settings.php with a text editor.
- There is a line that says $update_free_access = FALSE;
* Open your settings.php with a text editor.
* There is a line that says $update_free_access = FALSE;
Change it to $update_free_access = TRUE;
- Once update.php is done, you must change the settings.php file
* Once update.php is done, you must change the settings.php file
back to its original form with $update_free_access = FALSE;
11. Ensure that the versions of all custom and contributed modules match the
new Drupal version to which you have updated. For a major update, such as
from 5.x to 6.x, modules from previous versions will not be compatible
and updated versions will be required.
11. Ensure that the versions of all custom and contributed modules match the new
Drupal version to which you have updated. For a major update, such as from
5.x to 6.x, modules from previous versions will not be compatible and
updated versions will be required.
- For contributed modules, check http://drupal.org/project/modules
* For contributed modules, check http://drupal.org/project/modules
for the version of a module matching your version of Drupal.
- For custom modules, review http://drupal.org/update/modules to
* For custom modules, review http://drupal.org/update/modules to
ensure that a custom module is compatible with the current version.
12. Re-enable custom and contributed modules and re-run update.php
to update custom and contributed database tables.
12. Re-enable custom and contributed modules and re-run update.php to update
custom and contributed database tables.
13. Return the site to its original theme (if you switched to a core
theme like Garland or Bluemarine in step #4). If your site uses a
custom or contributed theme, make sure it is compatible with your
version of Drupal.
13. Return the site to its original theme (if you switched to a core theme like
Garland or Bluemarine in step #4). If your site uses a custom or contributed
theme, make sure it is compatible with your version of Drupal.
- For contributed themes, check http://drupal.org/project/themes
for the version of a theme matching your version of Drupal.
- For custom themes, review http://drupal.org/update/theme to ensure
that a custom theme is compatible with the current version.
* For contributed themes, check http://drupal.org/project/themes for the
version of a theme matching your version of Drupal.
* For custom themes, review http://drupal.org/update/theme to ensure that
a custom theme is compatible with the current version.
14. Finally, return your site to "Online" mode so your visitors may resume
browsing. As in step #3, this option is available in your administration
screens at http://www.example.com/?q=admin/settings/site-maintenance
(replace www.example.com with your installation's domain name and path).
For more information on upgrading visit
the Drupal handbook at http://drupal.org/upgrade

View file

@ -3,6 +3,8 @@
/**
* SuiteDesk site-specific configuration file.
*
* Read config/INSTALL.md for detailed information.
*
* IMPORTANT NOTE:
* This file may have been set to read-only by Drupal. If you make changes to
* this file, be sure to protect it again after making your modifications.
@ -16,65 +18,19 @@ $db_prefix = '';
// SuiteCRM (a fork of SugarCRM) database access:
# $db_url['sugarcrm'] = 'mysql://username:password@localhost/databasename';
/**
* Database default collation.
*
* All data stored in Drupal is in UTF-8. Certain databases, such as MySQL,
* support different algorithms for comparing, indexing, and sorting characters;
* a so called "collation". The default collation of a database normally works
* for many use-cases, but depending on the language(s) of the stored data, it
* may be necessary to use a different collation.
* Important:
* - Only set or change this value BEFORE installing SuiteDesk, unless you know
* what you are doing.
* - All database tables and columns should be in the same collation. Otherwise,
* string comparisons performed for table JOINs will be significantly slower.
* - Especially when storing data in German or Russian on MySQL 5.1+, you want
* to use the 'utf8_unicode_ci' collation instead.
* - More information at http://drupal.org/node/772678
*/
// Database default collation:
# $db_collation = 'utf8_general_ci';
/**
* Access control for update.php script.
*
* If you are updating your SuiteDesk installation using the update.php script
* being not logged in as administrator, you will need to modify the access
* check statement below. Change the FALSE to a TRUE value to disable the access
* check. After finishing the upgrade, be sure to open this file again and
* change the TRUE back to a FALSE!
*/
// Access control for update.php script (see config/UPDATE.md):
$update_free_access = FALSE;
/**
* Base URL (optional).
*
* If you are experiencing issues with different site domains, uncomment the
* Base URL statement below and fill in the absolute URL to your SuiteDesk
* installation.
*
* You might also want to force users to use a given domain. See the .htaccess
* file for more information.
*
* Examples:
* $base_url = 'http://www.example.com';
* $base_url = 'http://www.example.com:8888';
* $base_url = 'http://www.example.com/drupal';
* $base_url = 'https://www.example.com:8888/drupal';
*
* It is not allowed to have a trailing slash; Drupal will add it for you.
*/
// Base URL (optional):
# $base_url = 'http://www.example.com'; // NO trailing slash!
/**
* PHP settings.
*
* To see what PHP settings are possible, including whether they can be set at
* runtime (i.e., when ini_set() occurs), read the PHP documentation at
* http://www.php.net/manual/en/ini.php#ini.list and take a look at the
* .htaccess file to see which non-runtime settings are used there. Settings
* defined here should not be duplicated there so as to avoid conflict issues.
*/
// Cookie domain (optional):
# $cookie_domain = 'example.com';
// PHP settings:
ini_set('arg_separator.output', '&');
ini_set('magic_quotes_runtime', 0);
ini_set('magic_quotes_sybase', 0);
@ -88,146 +44,22 @@ ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0);
ini_set('url_rewriter.tags', '');
# ini_set('memory_limit', '140M');
# ini_set('pcre.backtrack_limit', 200000);
# ini_set('pcre.recursion_limit', 200000);
/**
* If you encounter a situation where users post a large amount of text, and the
* result is stripped out upon viewing but can still be edited, Drupal's output
* filter may not have sufficient memory to process it. If you experience this
* issue, you may wish to uncomment the following two lines and increase their
* limit values. See http://php.net/manual/en/pcre.configuration.php.
*/
# ini_set('pcre.backtrack_limit', 200000);
# ini_set('pcre.recursion_limit', 200000);
// Global settings:
$conf = array(
// Site main values:
'site_name' => 'My SuiteDesk site',
# 'anonymous' => 'Visitor',
/**
* Drupal automatically generates a unique session cookie name for each site
* based on its full domain name. If you have multiple domains pointing at the
* same site, you can either redirect them all to a single domain (see comment
* in .htaccess), or uncomment the line below and specify their shared base
* domain. Doing so assures that users remain logged in as they cross between
* your various domains.
*/
# $cookie_domain = 'example.com';
// Reverse proxy:
# 'reverse_proxy' => TRUE,
# 'reverse_proxy_addresses' => array('a.b.c.d', ...),
/**
* Variable overrides.
*
* To override specific entries in the 'variable' table for this site, set
* them here. You usually don't need to use this feature. This is useful in a
* configuration file for a vhost or directory, rather than the default
* settings.php. Any configuration setting from the 'variable' table can be
* given a new value. Note that any values you provide in these variable
* overrides will not be modifiable from the Drupal administration interface.
*
* Remove the leading hash signs to enable.
*/
# $conf = array(
# 'site_name' => 'My SuiteDesk site',
# 'anonymous' => 'Visitor',
/**
* A custom theme can be set for the off-line page. This applies when the site
* is explicitly set to off-line mode through the administration page or when
* the database is inactive due to an error. It can be set through the
* 'maintenance_theme' key. The template file should also be copied into the
* theme. It is located inside 'modules/system/maintenance-page.tpl.php'.
* Note: This setting does not apply to installation and update pages.
*/
# 'maintenance_theme' => 'garland',
/**
* reverse_proxy accepts a boolean value.
*
* Enable this setting to determine the correct IP address of the remote client
* by examining information stored in the X-Forwarded-For headers.
* X-Forwarded-For headers are a standard mechanism for identifying client
* systems connecting through a reverse proxy server, such as Squid or Pount.
* Reverse proxy servers are often used to enhance the performance of heavily
* visited sites and may also provide other site caching, security or encryption
* benefits. If this Drupal installation operates behind a reverse proxy, this
* setting should be enabled so that correct IP address information is captured
* in Drupal's session management, logging, statistics and access management
* systems; if you are unsure about this setting, do not have a reverse proxy,
* or Drupal operates in a shared hosting environment, this setting should be
* to disabled.
*/
# 'reverse_proxy' => TRUE,
/**
* reverse_proxy accepts an array of IP addresses.
*
* Each element of this array is the IP address of any of your reverse proxies.
* Filling this array Drupal will trust the information stored in the
* X-Forwarded-For headers only if Remote IP address is one of these, that is
* the request reaches the web server from one of your reverse proxies.
* Otherwise, the client could directly connect to your web server spoofing the
* X-Forwarded-For headers.
*/
# 'reverse_proxy_addresses' => array('a.b.c.d', ...),
# );
// Secure Pages (uncomment to deactivate secure pages SSL module):
# 'securepages_enable' => 0,
/**
* String overrides.
*
* To override specific strings on your site with or without enabling locale
* module, add an entry to this list. This functionality allows you to change a
* small number of your site's default English language interface strings.
*
* Remove the leading hash signs to enable.
*/
# $conf['locale_custom_strings_en'] = array(
# 'forum' => 'Discussion board',
# '@count min' => '@count minutes',
# );
/**
* Multilingual settings.
*
* This is a collection of variables that can be set up for each language when
* i18n is enabled. These are the basic ones for Drupal core, but you can add
* your own here.
*/
$conf['i18n_variables'] = array(
// User email variables:
'user_registration_help',
'user_mail_register_admin_created_subject',
'user_mail_register_admin_created_body',
'user_mail_register_no_approval_required_subject',
'user_mail_register_no_approval_required_body',
'user_mail_register_pending_approval_subject',
'user_mail_register_pending_approval_body',
'user_mail_password_reset_subject',
'user_mail_password_reset_body',
'user_mail_status_activated_subject',
'user_mail_status_activated_body',
'user_mail_status_blocked_subject',
'user_mail_status_blocked_body',
'user_mail_status_deleted_subject',
'user_mail_status_deleted_body',
'user_picture_guidelines',
// Primary and secondary links:
'menu_primary_links_source',
// Custom error module variables:
'customerror_403_title',
// Print link:
'print_html_link_text',
// Watcher templates:
'watcher_notifications_templates_header',
'watcher_notifications_templates_footer',
'watcher_notifications_templates_footer_anonymous_notify',
'watcher_notifications_templates_footer_confirm',
'watcher_notifications_templates_body_node',
'watcher_notifications_templates_body_cmt',
'watcher_notifications_templates_body_confirm',
// Advanced CSS/JS Aggregation (uncomment to deactivate AdvAgg module):
# 'advagg_enabled' => 0,
);
/**
* Secure Pages deactivation.
*
* Uncomment to deactivate the secure pages SSL module.
*/
# $conf['securepages_enable'] = 0;
/**
* Advanced CSS/JS Aggregation deactivation.
*
* Uncomment to deactivate the advanced CSS and JS aggregation module.
*/
# $conf['advagg_enabled'] = 0;

70
libraries/README.md Normal file
View file

@ -0,0 +1,70 @@
REQUIRED LIBRARIES
==================
This directory should be used to place downloaded libraries. This will allow you
to more easily update **SuiteDesk** core files. Download and install:
### PDF tools
**wkhtmltopdf support**
The print PDF module requires the use of an external PDF generation tool. The
currently supported is *wkhtmltopdf*. To install follow the next steps:
1. Download *wkhtmltopdf* from https://wkhtmltopdf.org/downloads.html/. You can
choose to download the source and compile it or simply download the static
binary, which doesn't require you to compile anything. Note that the compiled
version may require a running X server (static uses patched libs that can
work without one).
2. Place the `wkhtmltopdf` executable into the `libraries` directory. You can
also place a symbolic link to the executable.
3. Check https://wkhtmltopdf.org/usage/wkhtmltopdf.txt for further information.
**TCPDF support**
Used by the invoices module. This module requires TCPDF >= 6.2.000.
1. Download TCPDF from http://sourceforge.net/projects/tcpdf/.
2. Extract the contents of the downloaded package into the `libraries`
directory. There is no need to modify the `config/tcpdf_config.php` file, as
the module self-configures TCPDF.
3. Grant write access to the `cache` and `images` directories to your webserver
user.
4. Check http://tcpdf.sourceforge.net/ for further information.
### HTML Purifier library
Make sure you check *HTML Purifier* and make sure that you have fulfilled all of
its requirements before running this. Specifically, you'll need the PHP
extension `ctype` (in almost all PHP distributions), and it's nice to have `dom`
and `iconv`.
Download HTML Purifier from http://htmlpurifier.org/. You will need 4.8.0 or
later. Extract the `library` folder to `libraries` directory. The final setup
should be:
libraries/htmlpurifier/
HTMLPurifier
HTMLPurifier.autoload.php
HTMLPurifier.auto.php
HTMLPurifier.func.php
HTMLPurifier.includes.php
HTMLPurifier.kses.php
HTMLPurifier.path.php
HTMLPurifier.php
HTMLPurifier.safe-includes.php
### dhtmlxGantt library
Download dhtmlxGantt from https://dhtmlx.com/docs/products/dhtmlxGantt/. You
will need 3.2.0 or later. Extract the `codebase` folder and rename it to
`dhtmlxgantt` in the `libraries` directory. The final setup should be:
libraries/dhtmlxGantt/
connector
ext
locale
skins
sources
dhtmlxgantt.css
dhtmlxgantt.js