mirror of
https://github.com/YunoHost-Apps/framaforms_ynh.git
synced 2024-09-03 18:36:12 +02:00
Use postgres and import database
This commit is contained in:
parent
3d688fe4cc
commit
289c78b285
6 changed files with 755 additions and 15 deletions
529
conf/default.settings.php
Normal file
529
conf/default.settings.php
Normal file
|
@ -0,0 +1,529 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$databases = array (
|
||||||
|
'default' =>
|
||||||
|
array (
|
||||||
|
'default' =>
|
||||||
|
array (
|
||||||
|
'database' => '__DB_NAME__',
|
||||||
|
'username' => '__DB_USER__',
|
||||||
|
'password' => '__DB_PWD__',
|
||||||
|
'host' => 'localhost',
|
||||||
|
'port' => '5432',
|
||||||
|
'driver' => 'pgsql',
|
||||||
|
'prefix' => '',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* The "driver" property indicates what Drupal database driver the
|
||||||
|
* connection should use. This is usually the same as the name of the
|
||||||
|
* database type, such as mysql or sqlite, but not always. The other
|
||||||
|
* properties will vary depending on the driver. For SQLite, you must
|
||||||
|
* specify a database file name in a directory that is writable by the
|
||||||
|
* webserver. For most other drivers, you must specify a
|
||||||
|
* username, password, host, and database name.
|
||||||
|
*
|
||||||
|
* Transaction support is enabled by default for all drivers that support it,
|
||||||
|
* including MySQL. To explicitly disable it, set the 'transactions' key to
|
||||||
|
* FALSE.
|
||||||
|
* Note that some configurations of MySQL, such as the MyISAM engine, don't
|
||||||
|
* support it and will proceed silently even if enabled. If you experience
|
||||||
|
* transaction related crashes with such configuration, set the 'transactions'
|
||||||
|
* key to FALSE.
|
||||||
|
*
|
||||||
|
* For each database, you may optionally specify multiple "target" databases.
|
||||||
|
* A target database allows Drupal to try to send certain queries to a
|
||||||
|
* different database if it can but fall back to the default connection if not.
|
||||||
|
* That is useful for master/slave replication, as Drupal may try to connect
|
||||||
|
* to a slave server when appropriate and if one is not available will simply
|
||||||
|
* fall back to the single master server.
|
||||||
|
*
|
||||||
|
* The general format for the $databases array is as follows:
|
||||||
|
* @code
|
||||||
|
* $databases['default']['default'] = $info_array;
|
||||||
|
* $databases['default']['slave'][] = $info_array;
|
||||||
|
* $databases['default']['slave'][] = $info_array;
|
||||||
|
* $databases['extra']['default'] = $info_array;
|
||||||
|
* @endcode
|
||||||
|
*
|
||||||
|
* In the above example, $info_array is an array of settings described above.
|
||||||
|
* The first line sets a "default" database that has one master database
|
||||||
|
* (the second level default). The second and third lines create an array
|
||||||
|
* of potential slave databases. Drupal will select one at random for a given
|
||||||
|
* request as needed. The fourth line creates a new database with a name of
|
||||||
|
* "extra".
|
||||||
|
*
|
||||||
|
* For a single database configuration, the following is sufficient:
|
||||||
|
* @code
|
||||||
|
* $databases['default']['default'] = array(
|
||||||
|
* 'driver' => 'mysql',
|
||||||
|
* 'database' => 'databasename',
|
||||||
|
* 'username' => 'username',
|
||||||
|
* 'password' => 'password',
|
||||||
|
* 'host' => 'localhost',
|
||||||
|
* 'prefix' => 'main_',
|
||||||
|
* 'collation' => 'utf8_general_ci',
|
||||||
|
* );
|
||||||
|
* @endcode
|
||||||
|
*
|
||||||
|
* You can optionally set prefixes for some or all database table names
|
||||||
|
* by using the 'prefix' setting. If a prefix is specified, the 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 'prefix' as a string:
|
||||||
|
* @code
|
||||||
|
* 'prefix' => 'main_',
|
||||||
|
* @endcode
|
||||||
|
* To provide prefixes for specific tables, set 'prefix' as an array.
|
||||||
|
* The array's keys are the table names and the values are the prefixes.
|
||||||
|
* The 'default' element is mandatory and holds the prefix for any tables
|
||||||
|
* not specified elsewhere in the array. Example:
|
||||||
|
* @code
|
||||||
|
* 'prefix' => array(
|
||||||
|
* 'default' => 'main_',
|
||||||
|
* 'users' => 'shared_',
|
||||||
|
* 'sessions' => 'shared_',
|
||||||
|
* 'role' => 'shared_',
|
||||||
|
* 'authmap' => 'shared_',
|
||||||
|
* ),
|
||||||
|
* @endcode
|
||||||
|
* You can also use a reference to a schema/database as a prefix. This may be
|
||||||
|
* useful if your Drupal installation exists in a schema that is not the default
|
||||||
|
* or you want to access several databases from the same code base at the same
|
||||||
|
* time.
|
||||||
|
* Example:
|
||||||
|
* @code
|
||||||
|
* 'prefix' => array(
|
||||||
|
* 'default' => 'main.',
|
||||||
|
* 'users' => 'shared.',
|
||||||
|
* 'sessions' => 'shared.',
|
||||||
|
* 'role' => 'shared.',
|
||||||
|
* 'authmap' => 'shared.',
|
||||||
|
* );
|
||||||
|
* @endcode
|
||||||
|
* NOTE: MySQL and SQLite's definition of a schema is a database.
|
||||||
|
*
|
||||||
|
* Advanced users can add or override initial commands to execute when
|
||||||
|
* connecting to the database server, as well as PDO connection settings. For
|
||||||
|
* example, to enable MySQL SELECT queries to exceed the max_join_size system
|
||||||
|
* variable, and to reduce the database connection timeout to 5 seconds:
|
||||||
|
*
|
||||||
|
* @code
|
||||||
|
* $databases['default']['default'] = array(
|
||||||
|
* 'init_commands' => array(
|
||||||
|
* 'big_selects' => 'SET SQL_BIG_SELECTS=1',
|
||||||
|
* ),
|
||||||
|
* 'pdo' => array(
|
||||||
|
* PDO::ATTR_TIMEOUT => 5,
|
||||||
|
* ),
|
||||||
|
* );
|
||||||
|
* @endcode
|
||||||
|
*
|
||||||
|
* WARNING: These defaults are designed for database portability. Changing them
|
||||||
|
* may cause unexpected behavior, including potential data loss.
|
||||||
|
*
|
||||||
|
* @see DatabaseConnection_mysql::__construct
|
||||||
|
* @see DatabaseConnection_pgsql::__construct
|
||||||
|
* @see DatabaseConnection_sqlite::__construct
|
||||||
|
*
|
||||||
|
* Database configuration format:
|
||||||
|
* @code
|
||||||
|
* $databases['default']['default'] = array(
|
||||||
|
* 'driver' => 'mysql',
|
||||||
|
* 'database' => 'databasename',
|
||||||
|
* 'username' => 'username',
|
||||||
|
* 'password' => 'password',
|
||||||
|
* 'host' => 'localhost',
|
||||||
|
* 'prefix' => '',
|
||||||
|
* );
|
||||||
|
* $databases['default']['default'] = array(
|
||||||
|
* 'driver' => 'pgsql',
|
||||||
|
* 'database' => 'databasename',
|
||||||
|
* 'username' => 'username',
|
||||||
|
* 'password' => 'password',
|
||||||
|
* 'host' => 'localhost',
|
||||||
|
* 'prefix' => '',
|
||||||
|
* );
|
||||||
|
* $databases['default']['default'] = array(
|
||||||
|
* 'driver' => 'sqlite',
|
||||||
|
* 'database' => '/path/to/databasefilename',
|
||||||
|
* );
|
||||||
|
* @endcode
|
||||||
|
*/
|
||||||
|
$databases = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Access control for update.php script.
|
||||||
|
*
|
||||||
|
* If you are updating your Drupal installation using the update.php script but
|
||||||
|
* are not logged in using either an account with the "Administer software
|
||||||
|
* updates" permission or the site maintenance account (the account that was
|
||||||
|
* created during installation), you will need to modify the access check
|
||||||
|
* statement below. Change the FALSE to a TRUE to disable the access check.
|
||||||
|
* After finishing the upgrade, be sure to open this file again and change the
|
||||||
|
* TRUE back to a FALSE!
|
||||||
|
*/
|
||||||
|
$update_free_access = FALSE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Salt for one-time login links and cancel links, form tokens, etc.
|
||||||
|
*
|
||||||
|
* This variable will be set to a random value by the installer. All one-time
|
||||||
|
* login links will be invalidated if the value is changed. Note that if your
|
||||||
|
* site is deployed on a cluster of web servers, you must ensure that this
|
||||||
|
* variable has the same value on each server. If this variable is empty, a hash
|
||||||
|
* of the serialized database credentials will be used as a fallback salt.
|
||||||
|
*
|
||||||
|
* For enhanced security, you may set this variable to a value using the
|
||||||
|
* contents of a file outside your docroot that is never saved together
|
||||||
|
* with any backups of your Drupal files and database.
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* $drupal_hash_salt = file_get_contents('/home/example/salt.txt');
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
$drupal_hash_salt = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Base URL (optional).
|
||||||
|
*
|
||||||
|
* If Drupal is generating incorrect URLs on your site, which could
|
||||||
|
* be in HTML headers (links to CSS and JS files) or visible links on pages
|
||||||
|
* (such as in menus), uncomment the Base URL statement below (remove the
|
||||||
|
* leading hash sign) and fill in the absolute URL to your Drupal 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 = 'http://www.example.com'; // NO trailing slash!
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PHP settings:
|
||||||
|
*
|
||||||
|
* To see what PHP settings are possible, including whether they can be set at
|
||||||
|
* runtime (by using ini_set()), read the PHP documentation:
|
||||||
|
* http://www.php.net/manual/ini.list.php
|
||||||
|
* See drupal_environment_initialize() in includes/bootstrap.inc for required
|
||||||
|
* runtime settings and the .htaccess file for non-runtime settings. Settings
|
||||||
|
* defined there should not be duplicated here so as to avoid conflict issues.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Some distributions of Linux (most notably Debian) ship their PHP
|
||||||
|
* installations with garbage collection (gc) disabled. Since Drupal depends on
|
||||||
|
* PHP's garbage collection for clearing sessions, ensure that garbage
|
||||||
|
* collection occurs by using the most common settings.
|
||||||
|
*/
|
||||||
|
ini_set('session.gc_probability', 1);
|
||||||
|
ini_set('session.gc_divisor', 100);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set session lifetime (in seconds), i.e. the time from the user's last visit
|
||||||
|
* to the active session may be deleted by the session garbage collector. When
|
||||||
|
* a session is deleted, authenticated users are logged out, and the contents
|
||||||
|
* of the user's $_SESSION variable is discarded.
|
||||||
|
*/
|
||||||
|
ini_set('session.gc_maxlifetime', 200000);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set session cookie lifetime (in seconds), i.e. the time from the session is
|
||||||
|
* created to the cookie expires, i.e. when the browser is expected to discard
|
||||||
|
* the cookie. The value 0 means "until the browser is closed".
|
||||||
|
*/
|
||||||
|
ini_set('session.cookie_lifetime', 2000000);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 the limits of these variables. For more information, see
|
||||||
|
* http://php.net/manual/pcre.configuration.php.
|
||||||
|
*/
|
||||||
|
# ini_set('pcre.backtrack_limit', 200000);
|
||||||
|
# ini_set('pcre.recursion_limit', 200000);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 Drupal 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. Make sure to always start the $cookie_domain
|
||||||
|
* with a leading dot, as per RFC 2109.
|
||||||
|
*/
|
||||||
|
# $cookie_domain = '.example.com';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* The following overrides are examples:
|
||||||
|
* - site_name: Defines the site's name.
|
||||||
|
* - theme_default: Defines the default theme for this site.
|
||||||
|
* - anonymous: Defines the human-readable name of anonymous users.
|
||||||
|
* Remove the leading hash signs to enable.
|
||||||
|
*/
|
||||||
|
# $conf['site_name'] = 'My Drupal site';
|
||||||
|
# $conf['theme_default'] = 'garland';
|
||||||
|
# $conf['anonymous'] = 'Visitor';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A custom theme can be set for the offline page. This applies when the site
|
||||||
|
* is explicitly set to maintenance 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.
|
||||||
|
*/
|
||||||
|
# $conf['maintenance_theme'] = 'bartik';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse Proxy Configuration:
|
||||||
|
*
|
||||||
|
* 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. In an environment where Drupal
|
||||||
|
* is behind a reverse proxy, the real IP address of the client should
|
||||||
|
* be determined such that the correct client IP address is available
|
||||||
|
* to Drupal's logging, statistics, and access management systems. In
|
||||||
|
* the most simple scenario, the proxy server will add an
|
||||||
|
* X-Forwarded-For header to the request that contains the client IP
|
||||||
|
* address. However, HTTP headers are vulnerable to spoofing, where a
|
||||||
|
* malicious client could bypass restrictions by setting the
|
||||||
|
* X-Forwarded-For header directly. Therefore, Drupal's proxy
|
||||||
|
* configuration requires the IP addresses of all remote proxies to be
|
||||||
|
* specified in $conf['reverse_proxy_addresses'] to work correctly.
|
||||||
|
*
|
||||||
|
* Enable this setting to get Drupal to determine the client IP from
|
||||||
|
* the X-Forwarded-For header (or $conf['reverse_proxy_header'] if set).
|
||||||
|
* If you are unsure about this setting, do not have a reverse proxy,
|
||||||
|
* or Drupal operates in a shared hosting environment, this setting
|
||||||
|
* should remain commented out.
|
||||||
|
*
|
||||||
|
* In order for this setting to be used you must specify every possible
|
||||||
|
* reverse proxy IP address in $conf['reverse_proxy_addresses'].
|
||||||
|
* If a complete list of reverse proxies is not available in your
|
||||||
|
* environment (for example, if you use a CDN) you may set the
|
||||||
|
* $_SERVER['REMOTE_ADDR'] variable directly in settings.php.
|
||||||
|
* Be aware, however, that it is likely that this would allow IP
|
||||||
|
* address spoofing unless more advanced precautions are taken.
|
||||||
|
*/
|
||||||
|
# $conf['reverse_proxy'] = TRUE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Specify every reverse proxy IP address in your environment.
|
||||||
|
* This setting is required if $conf['reverse_proxy'] is TRUE.
|
||||||
|
*/
|
||||||
|
# $conf['reverse_proxy_addresses'] = array('a.b.c.d', ...);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set this value if your proxy server sends the client IP in a header
|
||||||
|
* other than X-Forwarded-For.
|
||||||
|
*/
|
||||||
|
# $conf['reverse_proxy_header'] = 'HTTP_X_CLUSTER_CLIENT_IP';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Page caching:
|
||||||
|
*
|
||||||
|
* By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page
|
||||||
|
* views. This tells a HTTP proxy that it may return a page from its local
|
||||||
|
* cache without contacting the web server, if the user sends the same Cookie
|
||||||
|
* header as the user who originally requested the cached page. Without "Vary:
|
||||||
|
* Cookie", authenticated users would also be served the anonymous page from
|
||||||
|
* the cache. If the site has mostly anonymous users except a few known
|
||||||
|
* editors/administrators, the Vary header can be omitted. This allows for
|
||||||
|
* better caching in HTTP proxies (including reverse proxies), i.e. even if
|
||||||
|
* clients send different cookies, they still get content served from the cache.
|
||||||
|
* However, authenticated users should access the site directly (i.e. not use an
|
||||||
|
* HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid
|
||||||
|
* getting cached pages from the proxy.
|
||||||
|
*/
|
||||||
|
# $conf['omit_vary_cookie'] = TRUE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSS/JS aggregated file gzip compression:
|
||||||
|
*
|
||||||
|
* By default, when CSS or JS aggregation and clean URLs are enabled Drupal will
|
||||||
|
* store a gzip compressed (.gz) copy of the aggregated files. If this file is
|
||||||
|
* available then rewrite rules in the default .htaccess file will serve these
|
||||||
|
* files to browsers that accept gzip encoded content. This allows pages to load
|
||||||
|
* faster for these users and has minimal impact on server load. If you are
|
||||||
|
* using a webserver other than Apache httpd, or a caching reverse proxy that is
|
||||||
|
* configured to cache and compress these files itself you may want to uncomment
|
||||||
|
* one or both of the below lines, which will prevent gzip files being stored.
|
||||||
|
*/
|
||||||
|
# $conf['css_gzip_compression'] = FALSE;
|
||||||
|
# $conf['js_gzip_compression'] = FALSE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Block caching:
|
||||||
|
*
|
||||||
|
* Block caching may not be compatible with node access modules depending on
|
||||||
|
* how the original block cache policy is defined by the module that provides
|
||||||
|
* the block. By default, Drupal therefore disables block caching when one or
|
||||||
|
* more modules implement hook_node_grants(). If you consider block caching to
|
||||||
|
* be safe on your site and want to bypass this restriction, uncomment the line
|
||||||
|
* below.
|
||||||
|
*/
|
||||||
|
# $conf['block_cache_bypass_node_grants'] = TRUE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* String overrides:
|
||||||
|
*
|
||||||
|
* To override specific strings on your site with or without enabling the 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',
|
||||||
|
# );
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* IP blocking:
|
||||||
|
*
|
||||||
|
* To bypass database queries for denied IP addresses, use this setting.
|
||||||
|
* Drupal queries the {blocked_ips} table by default on every page request
|
||||||
|
* for both authenticated and anonymous users. This allows the system to
|
||||||
|
* block IP addresses from within the administrative interface and before any
|
||||||
|
* modules are loaded. However on high traffic websites you may want to avoid
|
||||||
|
* this query, allowing you to bypass database access altogether for anonymous
|
||||||
|
* users under certain caching configurations.
|
||||||
|
*
|
||||||
|
* If using this setting, you will need to add back any IP addresses which
|
||||||
|
* you may have blocked via the administrative interface. Each element of this
|
||||||
|
* array represents a blocked IP address. Uncommenting the array and leaving it
|
||||||
|
* empty will have the effect of disabling IP blocking on your site.
|
||||||
|
*
|
||||||
|
* Remove the leading hash signs to enable.
|
||||||
|
*/
|
||||||
|
# $conf['blocked_ips'] = array(
|
||||||
|
# 'a.b.c.d',
|
||||||
|
# );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fast 404 pages:
|
||||||
|
*
|
||||||
|
* Drupal can generate fully themed 404 pages. However, some of these responses
|
||||||
|
* are for images or other resource files that are not displayed to the user.
|
||||||
|
* This can waste bandwidth, and also generate server load.
|
||||||
|
*
|
||||||
|
* The options below return a simple, fast 404 page for URLs matching a
|
||||||
|
* specific pattern:
|
||||||
|
* - 404_fast_paths_exclude: A regular expression to match paths to exclude,
|
||||||
|
* such as images generated by image styles, or dynamically-resized images.
|
||||||
|
* The default pattern provided below also excludes the private file system.
|
||||||
|
* If you need to add more paths, you can add '|path' to the expression.
|
||||||
|
* - 404_fast_paths: A regular expression to match paths that should return a
|
||||||
|
* simple 404 page, rather than the fully themed 404 page. If you don't have
|
||||||
|
* any aliases ending in htm or html you can add '|s?html?' to the expression.
|
||||||
|
* - 404_fast_html: The html to return for simple 404 pages.
|
||||||
|
*
|
||||||
|
* Add leading hash signs if you would like to disable this functionality.
|
||||||
|
*/
|
||||||
|
$conf['404_fast_paths_exclude'] = '/\/(?:styles)|(?:system\/files)\//';
|
||||||
|
$conf['404_fast_paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i';
|
||||||
|
$conf['404_fast_html'] = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* By default the page request process will return a fast 404 page for missing
|
||||||
|
* files if they match the regular expression set in '404_fast_paths' and not
|
||||||
|
* '404_fast_paths_exclude' above. 404 errors will simultaneously be logged in
|
||||||
|
* the Drupal system log.
|
||||||
|
*
|
||||||
|
* You can choose to return a fast 404 page earlier for missing pages (as soon
|
||||||
|
* as settings.php is loaded) by uncommenting the line below. This speeds up
|
||||||
|
* server response time when loading 404 error pages and prevents the 404 error
|
||||||
|
* from being logged in the Drupal system log. In order to prevent valid pages
|
||||||
|
* such as image styles and other generated content that may match the
|
||||||
|
* '404_fast_paths' regular expression from returning 404 errors, it is
|
||||||
|
* necessary to add them to the '404_fast_paths_exclude' regular expression
|
||||||
|
* above. Make sure that you understand the effects of this feature before
|
||||||
|
* uncommenting the line below.
|
||||||
|
*/
|
||||||
|
# drupal_fast_404();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* External access proxy settings:
|
||||||
|
*
|
||||||
|
* If your site must access the Internet via a web proxy then you can enter
|
||||||
|
* the proxy settings here. Currently only basic authentication is supported
|
||||||
|
* by using the username and password variables. The proxy_user_agent variable
|
||||||
|
* can be set to NULL for proxies that require no User-Agent header or to a
|
||||||
|
* non-empty string for proxies that limit requests to a specific agent. The
|
||||||
|
* proxy_exceptions variable is an array of host names to be accessed directly,
|
||||||
|
* not via proxy.
|
||||||
|
*/
|
||||||
|
# $conf['proxy_server'] = '';
|
||||||
|
# $conf['proxy_port'] = 8080;
|
||||||
|
# $conf['proxy_username'] = '';
|
||||||
|
# $conf['proxy_password'] = '';
|
||||||
|
# $conf['proxy_user_agent'] = '';
|
||||||
|
# $conf['proxy_exceptions'] = array('127.0.0.1', 'localhost');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Authorized file system operations:
|
||||||
|
*
|
||||||
|
* The Update manager module included with Drupal provides a mechanism for
|
||||||
|
* site administrators to securely install missing updates for the site
|
||||||
|
* directly through the web user interface. On securely-configured servers,
|
||||||
|
* the Update manager will require the administrator to provide SSH or FTP
|
||||||
|
* credentials before allowing the installation to proceed; this allows the
|
||||||
|
* site to update the new files as the user who owns all the Drupal files,
|
||||||
|
* instead of as the user the webserver is running as. On servers where the
|
||||||
|
* webserver user is itself the owner of the Drupal files, the administrator
|
||||||
|
* will not be prompted for SSH or FTP credentials (note that these server
|
||||||
|
* setups are common on shared hosting, but are inherently insecure).
|
||||||
|
*
|
||||||
|
* Some sites might wish to disable the above functionality, and only update
|
||||||
|
* the code directly via SSH or FTP themselves. This setting completely
|
||||||
|
* disables all functionality related to these authorized file operations.
|
||||||
|
*
|
||||||
|
* @see http://drupal.org/node/244924
|
||||||
|
*
|
||||||
|
* Remove the leading hash signs to disable.
|
||||||
|
*/
|
||||||
|
# $conf['allow_authorize_operations'] = FALSE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Theme debugging:
|
||||||
|
*
|
||||||
|
* When debugging is enabled:
|
||||||
|
* - The markup of each template is surrounded by HTML comments that contain
|
||||||
|
* theming information, such as template file name suggestions.
|
||||||
|
* - Note that this debugging markup will cause automated tests that directly
|
||||||
|
* check rendered HTML to fail.
|
||||||
|
*
|
||||||
|
* For more information about debugging theme templates, see
|
||||||
|
* https://www.drupal.org/node/223440#theme-debug.
|
||||||
|
*
|
||||||
|
* Not recommended in production environments.
|
||||||
|
*
|
||||||
|
* Remove the leading hash sign to enable.
|
||||||
|
*/
|
||||||
|
# $conf['theme_debug'] = TRUE;
|
|
@ -121,3 +121,162 @@ ynh_setup_source_local () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
#
|
||||||
|
# POSTGRES HELPERS
|
||||||
|
#
|
||||||
|
# Point of contact : Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
# Create a master password and set up global settings
|
||||||
|
# Please always call this script in install and restore scripts
|
||||||
|
#
|
||||||
|
# usage: ynh_psql_test_if_first_run
|
||||||
|
|
||||||
|
ynh_psql_test_if_first_run() {
|
||||||
|
if [ -f /etc/yunohost/psql ];
|
||||||
|
then
|
||||||
|
echo "PostgreSQL is already installed, no need to create master password"
|
||||||
|
else
|
||||||
|
pgsql=$(ynh_string_random)
|
||||||
|
pg_hba=""
|
||||||
|
echo "$pgsql" >> /etc/yunohost/psql
|
||||||
|
|
||||||
|
if [ -e /etc/postgresql/9.4/ ]
|
||||||
|
then
|
||||||
|
pg_hba=/etc/postgresql/9.4/main/pg_hba.conf
|
||||||
|
elif [ -e /etc/postgresql/9.6/ ]
|
||||||
|
then
|
||||||
|
pg_hba=/etc/postgresql/9.6/main/pg_hba.conf
|
||||||
|
else
|
||||||
|
ynh_die "postgresql shoud be 9.4 or 9.6"
|
||||||
|
fi
|
||||||
|
|
||||||
|
systemctl start postgresql
|
||||||
|
sudo --login --user=postgres psql -c"ALTER user postgres WITH PASSWORD '$pgsql'" postgres
|
||||||
|
|
||||||
|
# force all user to connect to local database using passwords
|
||||||
|
# https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html#EXAMPLE-PG-HBA.CONF
|
||||||
|
# Note: we can't use peer since YunoHost create users with nologin
|
||||||
|
# See: https://github.com/YunoHost/yunohost/blob/unstable/data/helpers.d/user
|
||||||
|
sed -i '/local\s*all\s*all\s*peer/i \
|
||||||
|
local all all password' "$pg_hba"
|
||||||
|
systemctl enable postgresql
|
||||||
|
systemctl reload postgresql
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Open a connection as a user
|
||||||
|
#
|
||||||
|
# example: ynh_psql_connect_as 'user' 'pass' <<< "UPDATE ...;"
|
||||||
|
# example: ynh_psql_connect_as 'user' 'pass' < /path/to/file.sql
|
||||||
|
#
|
||||||
|
# usage: ynh_psql_connect_as user pwd [db]
|
||||||
|
# | arg: user - the user name to connect as
|
||||||
|
# | arg: pwd - the user password
|
||||||
|
# | arg: db - the database to connect to
|
||||||
|
ynh_psql_connect_as() {
|
||||||
|
user="$1"
|
||||||
|
pwd="$2"
|
||||||
|
db="$3"
|
||||||
|
sudo --login --user=postgres PGUSER="$user" PGPASSWORD="$pwd" psql "$db"
|
||||||
|
}
|
||||||
|
|
||||||
|
# # Execute a command as root user
|
||||||
|
#
|
||||||
|
# usage: ynh_psql_execute_as_root sql [db]
|
||||||
|
# | arg: sql - the SQL command to execute
|
||||||
|
# | arg: db - the database to connect to
|
||||||
|
ynh_psql_execute_as_root () {
|
||||||
|
sql="$1"
|
||||||
|
sudo --login --user=postgres psql <<< "$sql"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute a command from a file as root user
|
||||||
|
#
|
||||||
|
# usage: ynh_psql_execute_file_as_root file [db]
|
||||||
|
# | arg: file - the file containing SQL commands
|
||||||
|
# | arg: db - the database to connect to
|
||||||
|
ynh_psql_execute_file_as_root() {
|
||||||
|
file="$1"
|
||||||
|
db="$2"
|
||||||
|
sudo --login --user=postgres psql "$db" < "$file"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a database, an user and its password. Then store the password in the app's config
|
||||||
|
#
|
||||||
|
# After executing this helper, the password of the created database will be available in $db_pwd
|
||||||
|
# It will also be stored as "psqlpwd" into the app settings.
|
||||||
|
#
|
||||||
|
# usage: ynh_psql_setup_db user name [pwd]
|
||||||
|
# | arg: user - Owner of the database
|
||||||
|
# | arg: name - Name of the database
|
||||||
|
# | arg: pwd - Password of the database. If not given, a password will be generated
|
||||||
|
ynh_psql_setup_db () {
|
||||||
|
db_user="$1"
|
||||||
|
app="$1"
|
||||||
|
db_name="$2"
|
||||||
|
new_db_pwd=$(ynh_string_random) # Generate a random password
|
||||||
|
# If $3 is not given, use new_db_pwd instead for db_pwd.
|
||||||
|
db_pwd="${3:-$new_db_pwd}"
|
||||||
|
ynh_psql_create_db "$db_name" "$db_user" "$db_pwd" # Create the database
|
||||||
|
ynh_app_setting_set "$app" psqlpwd "$db_pwd" # Store the password in the app's config
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a database and grant privilegies to a user
|
||||||
|
#
|
||||||
|
# usage: ynh_psql_create_db db [user [pwd]]
|
||||||
|
# | arg: db - the database name to create
|
||||||
|
# | arg: user - the user to grant privilegies
|
||||||
|
# | arg: pwd - the user password
|
||||||
|
ynh_psql_create_db() {
|
||||||
|
db="$1"
|
||||||
|
user="$2"
|
||||||
|
pwd="$3"
|
||||||
|
ynh_psql_create_user "$user" "$pwd"
|
||||||
|
sudo --login --user=postgres createdb --owner="$user" "$db"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Drop a database
|
||||||
|
#
|
||||||
|
# usage: ynh_psql_drop_db db
|
||||||
|
# | arg: db - the database name to drop
|
||||||
|
# | arg: user - the user to drop
|
||||||
|
ynh_psql_remove_db() {
|
||||||
|
db="$1"
|
||||||
|
user="$2"
|
||||||
|
sudo --login --user=postgres dropdb "$db"
|
||||||
|
ynh_psql_drop_user "$user"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Dump a database
|
||||||
|
#
|
||||||
|
# example: ynh_psql_dump_db 'roundcube' > ./dump.sql
|
||||||
|
#
|
||||||
|
# usage: ynh_psql_dump_db db
|
||||||
|
# | arg: db - the database name to dump
|
||||||
|
# | ret: the psqldump output
|
||||||
|
ynh_psql_dump_db() {
|
||||||
|
db="$1"
|
||||||
|
sudo --login --user=postgres pg_dump "$db"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Create a user
|
||||||
|
#
|
||||||
|
# usage: ynh_psql_create_user user pwd [host]
|
||||||
|
# | arg: user - the user name to create
|
||||||
|
ynh_psql_create_user() {
|
||||||
|
user="$1"
|
||||||
|
pwd="$2"
|
||||||
|
sudo --login --user=postgres psql -c"CREATE USER $user WITH PASSWORD '$pwd'" postgres
|
||||||
|
}
|
||||||
|
|
||||||
|
# Drop a user
|
||||||
|
#
|
||||||
|
# usage: ynh_psql_drop_user user
|
||||||
|
# | arg: user - the user name to drop
|
||||||
|
ynh_psql_drop_user() {
|
||||||
|
user="$1"
|
||||||
|
sudo --login --user=postgres dropuser "$user"
|
||||||
|
}
|
||||||
|
|
|
@ -55,4 +55,4 @@ ynh_backup "/etc/php5/fpm/pool.d/$app.conf"
|
||||||
# BACKUP THE MYSQL DATABASE
|
# BACKUP THE MYSQL DATABASE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
ynh_mysql_dump_db "$db_name" > db.sql
|
ynh_psql_dump_db "$db_name" > db.sql
|
||||||
|
|
|
@ -67,17 +67,19 @@ ynh_app_setting_set $app is_public $is_public
|
||||||
# INSTALL DEPENDENCIES
|
# INSTALL DEPENDENCIES
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# ynh_install_app_dependencies deb1 deb2
|
ynh_install_app_dependencies postgresql
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CREATE A MYSQL DATABASE
|
# CREATE A PostgreSQL DATABASE
|
||||||
#=================================================
|
#=================================================
|
||||||
# If your app uses a MySQL database, you can use these lines to bootstrap
|
|
||||||
# a database, an associated user and save the password in app settings
|
|
||||||
|
|
||||||
db_name=$(ynh_sanitize_dbid $app)
|
ynh_psql_test_if_first_run
|
||||||
ynh_app_setting_set $app db_name $db_name
|
|
||||||
ynh_mysql_setup_db $db_name $db_name
|
db_user=$(ynh_sanitize_dbid "$app")
|
||||||
|
db_name=$(ynh_sanitize_dbid "$app")
|
||||||
|
db_pwd=$(ynh_string_random)
|
||||||
|
ynh_app_setting_set $app db_pwd $db_pwd
|
||||||
|
ynh_psql_setup_db "$db_user" "$db_name" "$db_pwd"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||||
|
@ -85,7 +87,7 @@ ynh_mysql_setup_db $db_name $db_name
|
||||||
|
|
||||||
ynh_app_setting_set $app final_path $final_path
|
ynh_app_setting_set $app final_path $final_path
|
||||||
# Download, check integrity, uncompress and patch the source from app.src
|
# Download, check integrity, uncompress and patch the source from app.src
|
||||||
ynh_setup_source_local "$final_path" "drupal"
|
#ynh_setup_source_local "$final_path" "drupal"
|
||||||
ynh_setup_source_local "$final_path" "framaforms"
|
ynh_setup_source_local "$final_path" "framaforms"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -104,7 +106,7 @@ ynh_add_nginx_config
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# Create a system user
|
# Create a system user
|
||||||
ynh_system_user_create $app
|
ynh_system_user_create "$app"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# PHP-FPM CONFIGURATION
|
# PHP-FPM CONFIGURATION
|
||||||
|
@ -113,6 +115,53 @@ ynh_system_user_create $app
|
||||||
# Create a dedicated php-fpm config
|
# Create a dedicated php-fpm config
|
||||||
ynh_add_fpm_config
|
ynh_add_fpm_config
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# PHP-FPM CONFIGURATION
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
# chown -R $app: $final_path
|
||||||
|
# init_composer "$app" "$final_path"
|
||||||
|
|
||||||
|
# (
|
||||||
|
# cd "$final_path"
|
||||||
|
|
||||||
|
# su $app <<INSTALLDRUSH
|
||||||
|
# export PATH="$final_path/.composer/vendor/bin:$PATH"
|
||||||
|
# php composer.phar global require drush/drush
|
||||||
|
# php composer.phar global update
|
||||||
|
# INSTALLDRUSH
|
||||||
|
|
||||||
|
# su $app <<INSTALLDRUPAL
|
||||||
|
# export PATH="$final_path/.composer/vendor/bin:$PATH"
|
||||||
|
# drush si standard --db-url=mysql://$db_user:$db_pwd@localhost/$db_name
|
||||||
|
|
||||||
|
# drush dl webform
|
||||||
|
# drush en -y webform
|
||||||
|
|
||||||
|
# drush dl form_builder
|
||||||
|
# drush en -y form_builder
|
||||||
|
# INSTALLDRUPAL
|
||||||
|
# )
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# Database initialization
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
ynh_replace_string "betaforms" "$db_user" "$final_path/framaforms.sql"
|
||||||
|
|
||||||
|
ynh_psql_execute_file_as_root "$final_path/framaforms.sql" "$db_name"
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# configuration file
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
config_file=$final_path/sites/default/settings.php
|
||||||
|
|
||||||
|
cp ../conf/default.settings.php "$config_file"
|
||||||
|
ynh_replace_string "__DB_NAME__" "$db_name" "$config_file"
|
||||||
|
ynh_replace_string "__DB_USER__" "$db_user" "$config_file"
|
||||||
|
ynh_replace_string "__DB_PWD__" "$db_pwd" "$config_file"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALIZATION
|
# GENERIC FINALIZATION
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -35,7 +35,7 @@ ynh_remove_app_dependencies
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# Remove a database if it exists, along with the associated user
|
# Remove a database if it exists, along with the associated user
|
||||||
ynh_mysql_remove_db "$db_user" "$db_name"
|
ynh_psql_remove_db "$db_user" "$db_name"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# REMOVE APP MAIN DIR
|
# REMOVE APP MAIN DIR
|
||||||
|
|
|
@ -59,9 +59,12 @@ ynh_restore_file "$final_path"
|
||||||
# RESTORE THE MYSQL DATABASE
|
# RESTORE THE MYSQL DATABASE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
db_pwd=$(ynh_app_setting_get $app mysqlpwd)
|
db_user=$(ynh_sanitize_dbid "$app")
|
||||||
ynh_mysql_setup_db $db_name $db_name $db_pwd
|
db_name=$db_user
|
||||||
ynh_mysql_connect_as $db_name $db_pwd $db_name < ./db.sql
|
db_pwd=$(ynh_app_setting_get $app db_pwd)
|
||||||
|
ynh_psql_test_if_first_run
|
||||||
|
ynh_psql_setup_db "$db_user" "$db_name" "$db_pwd"
|
||||||
|
ynh_psql_execute_file_as_root ./db.sql "$db_name"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RECREATE THE DEDICATED USER
|
# RECREATE THE DEDICATED USER
|
||||||
|
@ -90,7 +93,7 @@ ynh_restore_file "/etc/php5/fpm/pool.d/$app.conf"
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# Define and install dependencies
|
# Define and install dependencies
|
||||||
# ynh_install_app_dependencies deb1 deb2
|
ynh_install_app_dependencies postgresql
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALIZATION
|
# GENERIC FINALIZATION
|
||||||
|
|
Loading…
Reference in a new issue