New menu for contacts
This commit is contained in:
parent
8133d7f116
commit
56910ad47f
5 changed files with 22 additions and 13 deletions
397
config/README.md
Normal file
397
config/README.md
Normal file
|
@ -0,0 +1,397 @@
|
|||
INSTALLATION GUIDE
|
||||
==================
|
||||
|
||||
Contents of this file:
|
||||
|
||||
* Requirements
|
||||
* Installation
|
||||
* Drupal administration
|
||||
* Customizing your theme(s)
|
||||
* Multisite Configuration
|
||||
|
||||
|
||||
REQUIREMENTS
|
||||
------------
|
||||
|
||||
**SuiteDesk** began long time ago as a Drupal 6 project, and now continues as a
|
||||
standalone opensource product. It requires:
|
||||
|
||||
* A web server (Apache web server with mode_rewrite module and the ability to
|
||||
use local `.htaccess` files is recommended),
|
||||
* PHP 5 (better with version 5.4.45), and
|
||||
* MySQL (4.1.1 or greater).
|
||||
|
||||
See http://www.php.net and http://www.mysql.com for more information.
|
||||
|
||||
|
||||
INSTALLATION
|
||||
------------
|
||||
|
||||
### 1. DOWNLOAD SUITEDESK
|
||||
|
||||
You can obtain the latest **SuiteDesk** release from:
|
||||
|
||||
https://gitlab.cillero.es/manuelcillero/suitedesk ( = REPOSITORY )
|
||||
|
||||
If you select files in `.tar.gz` or `.zip` format, they can be extracted using
|
||||
most compression tools. Example, on a typical Unix command line, use:
|
||||
|
||||
wget REPOSITORY/archive.tar.gz?ref=version
|
||||
tar -zxvf archive.tar.gz
|
||||
|
||||
This will create a new directory called `suitedesk-version/` containing all
|
||||
**SuiteDesk** files and directories. Move the contents of that directory into
|
||||
your web server's document root or your public HTML directory:
|
||||
|
||||
mv suitedesk-version/* suitedesk-version/.htaccess /var/www/html
|
||||
|
||||
### 2. DOWNLOAD AND INSTALL LIBRARIES
|
||||
|
||||
Just follow the instructions provided in the `README.md` file available in the
|
||||
`libraries` directory to install the required libraries.
|
||||
|
||||
### 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
|
||||
problems when upgrading, **SuiteDesk** is not packaged with an actual settings
|
||||
file. You must create a file named `settings.php`. You may do so by making a
|
||||
copy of `default.settings.php`. For example (from the `config` directory):
|
||||
|
||||
cp config/default/default.settings.php config/default/settings.php
|
||||
|
||||
Next, give the web server write privileges to the `config/default/settings.php`
|
||||
file with the command (from the `config` directory):
|
||||
|
||||
chmod o+w config/default/settings.php
|
||||
|
||||
So that the files directory can be created automatically, give the web server
|
||||
write privileges to the `config/default` directory with the command (from the
|
||||
`config` directory):
|
||||
|
||||
chmod o+w config/default
|
||||
|
||||
### 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**.
|
||||
|
||||
To create a database using PHPMyAdmin or a web-based control panel consult the
|
||||
documentation or ask your webhost service provider.
|
||||
|
||||
Take note of the *username*, *password*, *database name* and *hostname* as you
|
||||
create the database. You will enter these items in the next commands.
|
||||
|
||||
This step is only necessary if you don't already have a database setup (e.g. by
|
||||
your host). In the following examples, *useradmin* is an example MySQL user
|
||||
which has the CREATE and GRANT privileges. Use the appropriate user name for
|
||||
your system.
|
||||
|
||||
First, you must create a new database for your site (here, *databasename* is the
|
||||
name of the new database):
|
||||
|
||||
mysqladmin -u useradmin -p create databasename
|
||||
|
||||
MySQL will prompt for the *useradmin* database password and then create the
|
||||
initial database files. Next you must login and set the access database rights:
|
||||
|
||||
mysql -u useradmin -p
|
||||
|
||||
Again, you will be asked for the *useradmin* database password. At the MySQL
|
||||
prompt, enter following command:
|
||||
|
||||
```sql
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER,
|
||||
CREATE TEMPORARY TABLES ON databasename.*
|
||||
TO 'username'@'localhost' IDENTIFIED BY 'password';
|
||||
```
|
||||
|
||||
where
|
||||
|
||||
- *databasename* is the name of your database,
|
||||
- *username@localhost* is the username of your MySQL account, and
|
||||
- *password* is the password required for that username.
|
||||
|
||||
Note: Unless your database user has all of the privileges listed above, you will
|
||||
not be able to run **SuiteDesk**.
|
||||
|
||||
If successful, MySQL will reply with:
|
||||
|
||||
Query OK, 0 rows affected
|
||||
|
||||
In the configuration file you will fill out the `$db_url` value to configure the
|
||||
database connection using the format:
|
||||
|
||||
$db_url['default'] = 'mysql://username:password@localhost/databasename';
|
||||
|
||||
If your *username*, *password* or *database name* contain characters used to
|
||||
delineate `$db_url` parts, you can escape them via URI hex encodings:
|
||||
|
||||
: = %3a / = %2f @ = %40
|
||||
+ = %2b ( = %28 ) = %29
|
||||
? = %3f = = %3d & = %26
|
||||
|
||||
If you prefix some or all database table names, you can use the `$db_prefix`
|
||||
setting and each table name will be prepended with its value. Be sure to use
|
||||
valid database characters only, usually alphanumeric and underscore. If no
|
||||
prefixes are desired, leave it as an empty string ''.
|
||||
|
||||
To have all database names prefixed, set `$db_prefix` as a string:
|
||||
|
||||
$db_prefix = 'main_';
|
||||
|
||||
To provide prefixes for specific tables set `$db_prefix` as an array where keys
|
||||
are the table names and the values are the prefixes. The `default` element holds
|
||||
the prefix for any tables not specified elsewhere in the array:
|
||||
|
||||
$db_prefix = array(
|
||||
'default' => 'main_',
|
||||
'users' => 'shared_',
|
||||
'sessions' => 'shared_',
|
||||
'role' => 'shared_',
|
||||
'authmap' => 'shared_',
|
||||
);
|
||||
|
||||
All data stored in database is in UTF-8. 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 in the `$db_collation` setting. 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
|
||||
|
||||
### 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
|
||||
be asked for the *username* database password defined in previous step:
|
||||
|
||||
mysql -u username -p databasename < config/populatedb.sql
|
||||
|
||||
Also you will need to create a files storage directory in the default location
|
||||
at config/default/files (the location of the files directory may be changed
|
||||
after Drupal is installed). In some cases, you may need to create the directory
|
||||
and modify its permissions manually. Use the following commands (from the
|
||||
installation directory) to create the files directory and grant the web server
|
||||
write privileges to it:
|
||||
|
||||
mkdir config/default/files
|
||||
chmod o+w config/default/files
|
||||
|
||||
The install script will attempt to write-protect the settings.php file and the
|
||||
config/default directory after saving your configuration. However, you may need
|
||||
to manually write-protect them using the commands (from the installation
|
||||
directory):
|
||||
|
||||
chmod a-w config/default/settings.php
|
||||
chmod a-w config/default
|
||||
|
||||
If you make manual changes to the file later, be sure to protect it again after
|
||||
making your modifications. Failure to remove write permissions to that file is a
|
||||
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.
|
||||
|
||||
### 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
|
||||
Drupal. After installation, the settings for the file system path may be
|
||||
modified to store uploaded files in a different location.
|
||||
|
||||
It is not necessary to modify this path, but you may wish to change it if:
|
||||
|
||||
* your site runs multiple Drupal installations from a single codebase (modify
|
||||
the file system path of each installation to a different directory so that
|
||||
uploads do not overlap between installations); or,
|
||||
|
||||
* your site runs a number of web server front-ends behind a load balancer or
|
||||
reverse proxy (modify the file system path on each server to point to a
|
||||
shared file repository).
|
||||
|
||||
To modify the file system path:
|
||||
|
||||
* Ensure that the new location for the path exists or create it if necessary.
|
||||
To create a new directory named uploads, for example, use the following
|
||||
command from a shell or system prompt (while in the installation directory):
|
||||
|
||||
mkdir uploads
|
||||
|
||||
* Ensure that the new location for the path is writable by the web server
|
||||
process. To grant write permissions for a directory named uploads, you may
|
||||
need to use the following command from a shell or system prompt (while in
|
||||
the installation directory):
|
||||
|
||||
chmod o+w uploads
|
||||
|
||||
* Access the file system path settings in Drupal by selecting these menu items
|
||||
from the Navigation menu:
|
||||
|
||||
Administer > Site configuration > File system
|
||||
|
||||
Enter the path to the new location (e.g.: uploads) at the File System Path
|
||||
prompt.
|
||||
|
||||
Changing the file system path after files have been uploaded may cause
|
||||
unexpected problems on an existing site. If you modify the file system path
|
||||
on an existing site, remember to copy all files from the original location
|
||||
to the new location.
|
||||
|
||||
Some administrators suggest making the documentation files non-readable so that
|
||||
the exact version of **SuiteDesk** you are running is slightly more difficult to
|
||||
determine. If you wish to implement this optional security measure, use the
|
||||
following command from a shell or system prompt (while in the `config`
|
||||
directory):
|
||||
|
||||
chmod a-r CHANGELOG.md
|
||||
|
||||
Note that the example only affects CHANGELOG.md. To completely hide all
|
||||
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.
|
||||
|
||||
### 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
|
||||
configuration steps suggested on the "Welcome" page.
|
||||
|
||||
If the default **SuiteDesk** theme is not displaying properly and links on the
|
||||
page result in "Page Not Found" errors, try manually setting the `$base_url`
|
||||
variable in the `settings.php` file if not already set. It's currently known
|
||||
that servers running FastCGI can run into problems if the `$base_url` variable
|
||||
is left commented out (see http://bugs.php.net/bug.php?id=19656). 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';
|
||||
|
||||
You might also want to force users to use a given domain. See the `.htaccess`
|
||||
file for more information. 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 `$cookie_domain` and
|
||||
specify their shared base domain. Doing so assures that users remain logged in
|
||||
as they cross between your various domains.
|
||||
|
||||
Also you can see in the `settings.php` file 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 in the configuration file should not be duplicated there so as
|
||||
to avoid conflict issues.
|
||||
|
||||
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 have this, you may
|
||||
wish to uncomment the lines with PHP settings `pcre.*_limit` and increase their
|
||||
limit values. See http://php.net/manual/en/pcre.configuration.php.
|
||||
|
||||
Finally, to override specific global settings for your site, set them in the
|
||||
configuration file, including the reverse proxy if needed.
|
||||
|
||||
And that's all, you are ready to access to your site writting its URL in your
|
||||
preferred and use one of the next pre-configured Drupal/**SuiteDesk** users:
|
||||
|
||||
* root, Drupal user to administer site (see Drupal Administration below),
|
||||
* pmdemo, SuiteDesk user to use Project management features,
|
||||
* clidemo, SuiteDesk user to use Customer features.
|
||||
|
||||
It's highly recommended to change the password of all these users before
|
||||
delivery the site in production.
|
||||
|
||||
### 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
|
||||
for keyword searching) and system module (to perform routine maintenance and
|
||||
pruning on system tables). To activate these tasks, call the cron page by
|
||||
visiting http://www.example.com/cron.php, which, in turn, executes tasks on
|
||||
behalf of installed modules.
|
||||
|
||||
Most systems support the crontab utility for scheduling tasks like this. The
|
||||
following example crontab line will activate the cron tasks automatically on the
|
||||
hour:
|
||||
|
||||
0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php
|
||||
|
||||
|
||||
DRUPAL ADMINISTRATION
|
||||
---------------------
|
||||
|
||||
A new installation of Drupal defaults to a very basic configuration with only a
|
||||
few active modules and minimal user access rights.
|
||||
|
||||
Use your administration panel to enable and configure services. For example:
|
||||
|
||||
General Settings Administer > Site configuration > Site information
|
||||
Enable Modules Administer > Site building > Modules
|
||||
Configure Themes Administer > Site building > Themes
|
||||
Set User Permissions Administer > User management > Permissions
|
||||
|
||||
For more information on configuration options, read the instructions which
|
||||
accompany the different configuration settings and consult the various help
|
||||
pages available in the administration panel.
|
||||
|
||||
Community-contributed modules and themes are available at http://drupal.org/.
|
||||
|
||||
|
||||
CUSTOMIZING YOUR THEME(S)
|
||||
-------------------------
|
||||
|
||||
Now that your installation is running, you will want to customize the look of
|
||||
your site. Several sample themes are included and more can be downloaded from
|
||||
drupal.org.
|
||||
|
||||
Simple customization of your theme can be done using only CSS. Further changes
|
||||
require understanding the phptemplate engine that is part of Drupal. See
|
||||
http://drupal.org/handbook/customization to find out more.
|
||||
|
||||
|
||||
MULTISITE CONFIGURATION
|
||||
-----------------------
|
||||
|
||||
A single **SuiteDesk** installation can host several Drupal-powered sites, each
|
||||
with its own individual configuration.
|
||||
|
||||
Additional site configurations are created in subdirectories within the `config`
|
||||
directory. Each subdirectory must have a `settings.php` file which specifies the
|
||||
configuration settings. The easiest way to create additional sites is to copy
|
||||
the `default` directory and modify the `settings.php` file as appropriate. The
|
||||
configuration file to be loaded is based upon the rules below.
|
||||
|
||||
The configuration directory will be discovered by stripping the website's
|
||||
hostname from left to right and pathname from right to left. The first
|
||||
configuration file found will be used and any others will be ignored. If no
|
||||
other configuration file is found then the default configuration file at
|
||||
`config/default` will be used. For example, for a fictitious site installed at
|
||||
http://www.example.org/mysite/test the `settings.php` is searched in the
|
||||
following directories:
|
||||
|
||||
1. config/www.example.org.mysite.test
|
||||
2. config/example.org.mysite.test
|
||||
3. config/org.mysite.test
|
||||
|
||||
4. config/www.example.org.mysite
|
||||
5. config/example.org.mysite
|
||||
6. config/org.mysite
|
||||
|
||||
7. config/www.example.org
|
||||
8. config/example.org
|
||||
9. config/org
|
||||
|
||||
10. config/default
|
||||
|
||||
If you are installing on a non-standard port number, prefix the hostname with
|
||||
that number. For example, http://www.example.org:8080/mysite/test could be
|
||||
loaded from `config/8080.www.example.org.mysite.test` directory.
|
||||
|
||||
For more information on configuring the file system path in a multi-site
|
||||
configuration, see step 7 above.
|
Reference in a new issue