mirror of
https://github.com/friendica/friendica
synced 2025-01-20 13:14:22 +01:00
Merge pull request #6199 from MrPetovan/task/move-config-to-php-array
Move config to PHP array
This commit is contained in:
commit
ea4e772b1e
46 changed files with 1117 additions and 1009 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -11,6 +11,8 @@ home.html
|
|||
robots.txt
|
||||
|
||||
#ignore local config
|
||||
/config/local.config.php
|
||||
/config/addon.config.php
|
||||
/config/local.ini.php
|
||||
/config/addon.ini.php
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ env:
|
|||
install:
|
||||
- composer install
|
||||
before_script:
|
||||
- cp config/local-sample.ini.php config/local.ini.php
|
||||
- cp config/local-sample.config.php config/local.config.php
|
||||
- mysql -e 'CREATE DATABASE IF NOT EXISTS test;'
|
||||
- mysql -utravis test < database.sql
|
||||
- echo "extension=redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
|
|
29
INSTALL.txt
29
INSTALL.txt
|
@ -114,7 +114,7 @@ password, database name).
|
|||
|
||||
4. If you know in advance that it will be impossible for the web server to
|
||||
write or create files in the config/ subfolder, create an empty file called
|
||||
local.ini.php and make it writable by the web server.
|
||||
local.config.php and make it writable by the web server.
|
||||
|
||||
5. Visit your website with a web browser and follow the instructions. Please
|
||||
note any error messages and correct these before continuing.
|
||||
|
@ -128,9 +128,9 @@ so in the host name setting for the database.
|
|||
|
||||
6. *If* the automated installation fails for any reason, check the following:
|
||||
|
||||
- "config/local.ini.php" exists
|
||||
If not, edit local-sample.ini.php and change system settings. Rename
|
||||
to local.ini.php
|
||||
- "config/local.config.php" exists
|
||||
If not, edit local-sample.config.php and change system settings. Rename
|
||||
to local.config.php
|
||||
- Database is populated.
|
||||
If not, import the contents of "database.sql" with phpmyadmin
|
||||
or mysql command line
|
||||
|
@ -139,7 +139,7 @@ or mysql command line
|
|||
Registration errors should all be recoverable automatically.
|
||||
If you get any *critical* failure at this point, it generally indicates the
|
||||
database was not installed correctly. You might wish to move/rename
|
||||
local.ini.php to another name and empty (called 'dropping') the database
|
||||
local.config.php to another name and empty (called 'dropping') the database
|
||||
tables, so that you can start fresh.
|
||||
|
||||
****************************************************************************
|
||||
|
@ -184,7 +184,7 @@ Bad things will happen. Let there be a hardware failure, a corrupted
|
|||
database or whatever you can think of. So once the installation of your
|
||||
Friendica node is done, you should make yoursef a backup plan.
|
||||
|
||||
The most important file is the `config/local.ini.php` file in the base directory.
|
||||
The most important file is the `config/local.config.php` file in the base directory.
|
||||
As it stores all your data, you should also have a recent dump of your
|
||||
Friendica database at hand, should you have to recover your node.
|
||||
|
||||
|
@ -281,21 +281,21 @@ Windows).
|
|||
|
||||
|
||||
#####################################################################
|
||||
- If you are unable to write the file config/local.ini.php during installation
|
||||
- If you are unable to write the file config/local.config.php during installation
|
||||
due to permissions issues:
|
||||
#####################################################################
|
||||
|
||||
create an empty file with that name and give it world-write permission.
|
||||
For Linux:
|
||||
|
||||
% touch config/local.ini.php
|
||||
% chmod 664 config/local.ini.php
|
||||
% touch config/local.config.php
|
||||
% chmod 664 config/local.config.php
|
||||
|
||||
Retry the installation. As soon as the database has been created,
|
||||
|
||||
******* this is important *********
|
||||
|
||||
% chmod 644 config/local.ini.php
|
||||
% chmod 644 config/local.config.php
|
||||
|
||||
#####################################################################
|
||||
- Some configurations with "suhosin" security are configured without
|
||||
|
@ -334,11 +334,12 @@ After a while I noticed, that bin/worker.php calls further php script via
|
|||
proc_open. These scripts themselves also use proc_open and fail, because they
|
||||
are NOT called with -d suhosin.executor.func.blacklist=none.
|
||||
|
||||
So the simple solution is to put the correct parameters into config/local.ini.php:
|
||||
So the simple solution is to put the correct parameters into config/local.config.php:
|
||||
|
||||
[config]
|
||||
; Location of PHP command line processor
|
||||
php_path = "/usr/bin/php -d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none"
|
||||
'config' => [
|
||||
//Location of PHP command line processor
|
||||
'php_path' => '/usr/bin/php -d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none',
|
||||
],
|
||||
|
||||
This is obvious as soon as you notice that the friendica-cron uses proc_open to
|
||||
execute php-scripts that also use proc_open, but it took me quite some time to
|
||||
|
|
|
@ -42,9 +42,14 @@ if ($a->getMode()->isInstall()) {
|
|||
Config::load();
|
||||
|
||||
if (empty(Config::get('system', 'pidfile'))) {
|
||||
die('Please set system.pidfile in config/local.ini.php. For example:'."\n".
|
||||
'[system]'."\n".
|
||||
'pidfile = /path/to/daemon.pid'."\n");
|
||||
die(<<<TXT
|
||||
Please set system.pidfile in config/local.config.php. For example:
|
||||
|
||||
'system' => [
|
||||
'pidfile' => '/path/to/daemon.pid',
|
||||
],
|
||||
TXT
|
||||
);
|
||||
}
|
||||
|
||||
$pidfile = Config::get('system', 'pidfile');
|
||||
|
|
|
@ -86,8 +86,7 @@ cd /var/www
|
|||
php bin/composer.phar install
|
||||
|
||||
# initial config file for friendica in vagrant
|
||||
#cp /vagrant/util/htconfig.vagrant.php /vagrant/.htconfig.php
|
||||
cp /vagrant/util/local.ini.vagrant.php /vagrant/config/local.ini.php
|
||||
cp /vagrant/util/local.config.vagrant.php /vagrant/config/local.config.php
|
||||
|
||||
# copy the .htaccess-dist file to .htaccess so that rewrite rules work
|
||||
cp /vagrant/.htaccess-dist /vagrant/.htaccess
|
||||
|
|
12
boot.php
12
boot.php
|
@ -56,13 +56,13 @@ define('EOL', "<br />\r\n");
|
|||
* @brief Image storage quality.
|
||||
*
|
||||
* Lower numbers save space at cost of image detail.
|
||||
* For ease of upgrade, please do not change here. Set [system] jpegquality = n in config/local.ini.php,
|
||||
* For ease of upgrade, please do not change here. Set system.jpegquality = n in config/local.config.php,
|
||||
* where n is between 1 and 100, and with very poor results below about 50
|
||||
*/
|
||||
define('JPEG_QUALITY', 100);
|
||||
|
||||
/**
|
||||
* [system] png_quality = n where is between 0 (uncompressed) to 9
|
||||
* system.png_quality = n where is between 0 (uncompressed) to 9
|
||||
*/
|
||||
define('PNG_QUALITY', 8);
|
||||
|
||||
|
@ -73,10 +73,12 @@ define('PNG_QUALITY', 8);
|
|||
* this length (on the longest side, the other side will be scaled appropriately).
|
||||
* Modify this value using
|
||||
*
|
||||
* [system]
|
||||
* max_image_length = n;
|
||||
* 'system' => [
|
||||
* 'max_image_length' => 'n',
|
||||
* ...
|
||||
* ],
|
||||
*
|
||||
* in config/local.ini.php
|
||||
* in config/local.config.php
|
||||
*
|
||||
* If you don't want to set a maximum length, set to -1. The default value is
|
||||
* defined by 'MAX_IMAGE_LENGTH' below.
|
||||
|
|
12
config/addon-sample.config.php
Normal file
12
config/addon-sample.config.php
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
|
||||
// Addon configuration
|
||||
|
||||
// Copy this configuration file to addon.config.php and edit it if you want to configure addons, see below example for the twitter addon
|
||||
|
||||
return [
|
||||
'twitter' => [
|
||||
'consumerkey' => 'localhost',
|
||||
'consumersecret' => 'mysqlusername',
|
||||
],
|
||||
];
|
|
@ -1,10 +0,0 @@
|
|||
<?php return <<<INI
|
||||
|
||||
; Copy this configuration file to addon.ini.php and edit it if you want to configure addons, see below example for the twitter addon
|
||||
|
||||
;[twitter]
|
||||
;consumerkey = localhost
|
||||
;consumersecret = mysqlusername
|
||||
|
||||
INI;
|
||||
// Keep this line
|
|
@ -1,429 +0,0 @@
|
|||
<?php return <<<INI
|
||||
|
||||
; CONFIG.INI.PHP
|
||||
|
||||
; This file declares the default values for the base config of Friendica.
|
||||
; These configuration values aren't accessible from the admin settings page and custom values must be set in config/local.ini.php
|
||||
|
||||
; Please don't edit this file directly as its content may change in the upcoming versions.
|
||||
|
||||
[database]
|
||||
|
||||
; host (String)
|
||||
; Hostname or IP address of the database server.
|
||||
; Can contain the port number with the syntax "hostname:port".
|
||||
hostname =
|
||||
|
||||
; user (String)
|
||||
; Database user name. Please don't use "root".
|
||||
username =
|
||||
|
||||
; pass (String)
|
||||
; Database user password. Please don't use empty passwords.
|
||||
password =
|
||||
|
||||
; base (String)
|
||||
; Database name.
|
||||
database =
|
||||
|
||||
; charset (String)
|
||||
; Database connexion charset. Changing this value will likely corrupt special characters.
|
||||
charset = utf8mb4
|
||||
|
||||
[config]
|
||||
|
||||
; admin_email (Comma-separated list)
|
||||
; In order to perform system administration via the admin panel, this must precisely match the email address of the person logged in.
|
||||
admin_email =
|
||||
|
||||
; admin_nickname (String)
|
||||
; Nickname of the main admin user, used if there are more than one admin user defined in config.admin_email.
|
||||
admin_nickname =
|
||||
|
||||
; max_import_size (Integer)
|
||||
; Maximum body size of DFRN and Mail messages in characters. 0 is unlimited.
|
||||
max_import_size = 200000
|
||||
|
||||
; php_path (String)
|
||||
; Location of PHP command line processor.
|
||||
php_path = php
|
||||
|
||||
[system]
|
||||
|
||||
; allowed_link_protocols (Array)
|
||||
; Allowed protocols in links URLs, add at your own risk. http is always allowed.
|
||||
allowed_link_protocols[0] = ftp
|
||||
allowed_link_protocols[1] = ftps
|
||||
allowed_link_protocols[2] = mailto
|
||||
allowed_link_protocols[3] = cid
|
||||
allowed_link_protocols[4] = gopher
|
||||
|
||||
; always_show_preview (Boolean)
|
||||
; Only show small preview picures.
|
||||
always_show_preview = false
|
||||
|
||||
; archival_days (Integer)
|
||||
; Number of days that we try to deliver content before we archive a contact.
|
||||
archival_days = 32
|
||||
|
||||
; auth_cookie_lifetime (Integer)
|
||||
; Number of days that should pass without any activity before a user who chose "Remember me" when logging in is considered logged out.
|
||||
auth_cookie_lifetime = 7
|
||||
|
||||
; block_local_dir (Boolean)
|
||||
; Deny public access to the local user directory.
|
||||
block_local_dir = false
|
||||
|
||||
; cache_driver (database|memcache|memcached|redis)
|
||||
; Whether to use Memcache or Memcached or Redis to store temporary cache.
|
||||
cache_driver = database
|
||||
|
||||
; config_adapter (jit|preload)
|
||||
; Allow to switch the configuration adapter to improve performances at the cost of memory consumption.
|
||||
config_adapter = jit
|
||||
|
||||
; curl_range_bytes (Integer)
|
||||
; Maximum number of bytes that should be fetched. Default is 0, which mean "no limit".
|
||||
curl_range_bytes = 0
|
||||
|
||||
; crawl_permit_period (Integer)
|
||||
; Period in seconds between allowed searches when the number of free searches is reached and "permit_crawling" is activated.
|
||||
crawl_permit_period = 60
|
||||
|
||||
; db_log (Path)
|
||||
; Name of a logfile to log slow database queries.
|
||||
db_log =
|
||||
|
||||
; db_log_index (Path)
|
||||
; Name of a logfile to log queries with bad indexes.
|
||||
db_log_index =
|
||||
|
||||
; db_log_index_watch (Comma-separated list)
|
||||
; Watchlist of indexes to watch.
|
||||
db_log_index_watch =
|
||||
|
||||
; db_log_index_blacklist (Comma-separated list)
|
||||
; Blacklist of indexes that shouldn't be watched.
|
||||
db_log_index_blacklist =
|
||||
|
||||
; db_loglimit (Integer)
|
||||
; If a database call lasts longer than this value in seconds it is logged.
|
||||
; Inactive if system.db_log is empty.
|
||||
db_loglimit = 10
|
||||
|
||||
; db_loglimit_index (Integer)
|
||||
; Number of index rows needed to be logged for indexes on the watchlist. 0 to disable.
|
||||
db_loglimit_index = 0
|
||||
|
||||
; db_loglimit_index_high (Integer)
|
||||
; Number of index rows to be logged anyway (for any index). 0 to disable.
|
||||
db_loglimit_index_high = 0
|
||||
|
||||
; dbclean_expire_conversation (Integer)
|
||||
; When DBClean is enabled, any entry in the conversation table will be deleted after this many days.
|
||||
: This data is used for ActivityPub, so it shouldn't be lower than the average duration of a discussion.
|
||||
dbclean_expire_conversation = 90
|
||||
|
||||
; dbclean-expire-limit (Integer)
|
||||
; This defines the number of items that are to be deleted in a single call.
|
||||
; Reduce this value when you are getting memory issues.
|
||||
dbclean-expire-limit = 1000
|
||||
|
||||
; diaspora_test (Boolean)
|
||||
; For development only. Disables the message transfer.
|
||||
diaspora_test = false
|
||||
|
||||
; disable_email_validation (Boolean)
|
||||
; Disables the check if a mail address is in a valid format and can be resolved via DNS.
|
||||
disable_email_validation = false
|
||||
|
||||
; disable_url_validation (Boolean)
|
||||
; Disables the DNS lookup of an URL.
|
||||
disable_url_validation = false
|
||||
|
||||
; disable_password_exposed (Boolean)
|
||||
; Disable the exposition check against the remote haveibeenpwned API on password change.
|
||||
disable_password_exposed = false
|
||||
|
||||
; disable_polling (Boolean)
|
||||
; Disable the polling of DFRN and OStatus contacts through onepoll.php.
|
||||
disable_polling = false
|
||||
|
||||
; dlogfile (Path)
|
||||
; location of the developer log file.
|
||||
dlogfile =
|
||||
|
||||
; dlogip (String)
|
||||
; restricts develop log writes to requests originating from this IP address.
|
||||
dlogip =
|
||||
|
||||
; free_crawls (Integer)
|
||||
; Number of "free" searches when system.permit_crawling is activated.
|
||||
free_crawls = 10
|
||||
|
||||
; frontend_worker_timeout (Integer)
|
||||
; Value in minutes after we think that a frontend task was killed by the webserver.
|
||||
frontend_worker_timeout = 10
|
||||
|
||||
; groupedit_image_limit (Integer)
|
||||
; Number of contacts at which the group editor should switch from display the profile pictures of the contacts to only display the names.
|
||||
; This can alternatively be set on a per account basis in the pconfig table.
|
||||
groupedit_image_limit = 400
|
||||
|
||||
; hsts (Boolean)
|
||||
; Enables the sending of HTTP Strict Transport Security headers.
|
||||
hsts = false
|
||||
|
||||
; ignore_cache (Boolean)
|
||||
; For development only. Disables the item cache.
|
||||
ignore_cache = false
|
||||
|
||||
; instances_social_key (String)
|
||||
; Key to the API of https://instances.social which retrieves data about mastodon servers.
|
||||
; See https://instances.social/api/token to get an API key.
|
||||
instances_social_key =
|
||||
|
||||
; ipv4_resolve (Boolean)
|
||||
; Resolve IPV4 addresses only. Don't resolve to IPV6.
|
||||
ipv4_resolve = false
|
||||
|
||||
; invitation_only (Boolean)
|
||||
; If set true registration is only possible after a current member of the node has send an invitation.
|
||||
invitation_only = false
|
||||
|
||||
; like_no_comment (Boolean)
|
||||
; Don't update the "commented" value of an item when it is liked.
|
||||
like_no_comment = false
|
||||
|
||||
; local_block (Boolean)
|
||||
; Used in conjunction with "block_public".
|
||||
local_block = false
|
||||
|
||||
; local_search (Boolean)
|
||||
; Blocks search for users who are not logged in to prevent crawlers from blocking your system.
|
||||
local_search = false
|
||||
|
||||
; local_tags (Boolean)
|
||||
; If activated, all hashtags will point to the local server.
|
||||
local_tags = false
|
||||
|
||||
; max_batch_queue (Integer)
|
||||
; Maximum number of batched queue items for a single contact before subsequent messages are discarded.
|
||||
max_batch_queue = 1000
|
||||
|
||||
; max_connections (Integer)
|
||||
; The maximum number of database connections which can be in use before the worker process is deferred to its next interval.
|
||||
; When the system can't detect the maximum numbers of connection then this value can be used. Use 0 for auto-detection.
|
||||
max_connections = 0
|
||||
|
||||
; max_connections_level (Integer 0-100)
|
||||
; The maximum percentage of connections that are allowed to let the worker start.
|
||||
max_connections_level = 75
|
||||
|
||||
; max_contact_queue (Integer)
|
||||
; Maximum number of queue items for a single contact before subsequent messages are discarded.
|
||||
max_contact_queue = 500
|
||||
|
||||
; max_image_length (Integer)
|
||||
; An alternate way of limiting picture upload sizes.
|
||||
; Specify the maximum pixel length that pictures are allowed to be (for non-square pictures, it will apply to the longest side).
|
||||
; Pictures longer than this length will be resized to be this length (on the longest side, the other side will be scaled appropriately).
|
||||
; If you don't want to set a maximum length, set to -1.
|
||||
max_image_length = -1
|
||||
|
||||
; max_processes_backend (Integer)
|
||||
; Maximum number of concurrent database processes for background tasks.
|
||||
max_processes_backend = 5
|
||||
|
||||
; max_processes_frontend (Integer)
|
||||
; Maximum number of concurrent database processes for foreground tasks.
|
||||
max_processes_frontend = 20
|
||||
|
||||
; maximagesize (Integer)
|
||||
; Maximum size in bytes of an uploaded photo.
|
||||
maximagesize = 800000
|
||||
|
||||
; memcache_host (String)
|
||||
; Host name of the memcache daemon.
|
||||
memcache_host = 127.0.0.1
|
||||
|
||||
; memcache_port (Integer)
|
||||
; Port number of the memcache daemon.
|
||||
memcache_port = 11211
|
||||
|
||||
; memcached_hosts (Array)
|
||||
; Array of Memcached servers info "host, port(, weight)".
|
||||
memcached_hosts[0] = 127.0.0.1,11211
|
||||
|
||||
; min_poll_interval (Integer)
|
||||
; minimal distance in minutes between two polls for a contact. Reasonable values are between 1 and 59.
|
||||
min_poll_interval = 1
|
||||
|
||||
; no_count (Boolean)
|
||||
; Don't do count calculations (currently only when showing albums).
|
||||
no_count = false
|
||||
|
||||
; no_oembed (Boolean)
|
||||
; Don't use OEmbed to fetch more information about a link.
|
||||
no_oembed = false
|
||||
|
||||
; no_smilies (Boolean)
|
||||
; Don't show smilies.
|
||||
no_smilies = false
|
||||
|
||||
; no_view_full_size (Boolean)
|
||||
; Don't add the link "View full size" under a resized image.
|
||||
no_view_full_size = false
|
||||
|
||||
; optimize_items (Boolean)
|
||||
; Triggers an SQL command to optimize the item table before expiring items.
|
||||
optimize_items = false
|
||||
|
||||
; paranoia (Boolean)
|
||||
; Log out users if their IP address changed.
|
||||
paranoia = false
|
||||
|
||||
; permit_crawling (Boolean)
|
||||
; Restricts the search for not logged in users to one search per minute.
|
||||
permit_crawling = false
|
||||
|
||||
; pidfile (Path)
|
||||
; Daemon pid file path. For example: pidfile = /path/to/daemon.pid
|
||||
pidfile =
|
||||
|
||||
; png_quality (Integer)
|
||||
; Sets the ImageMagick compression level for PNG images. Values ranges from 0 (uncompressed) to 9 (most compressed).
|
||||
png_quality = 8
|
||||
|
||||
; profiler (Boolean)
|
||||
; Enable internal timings to help optimize code. Needed for "rendertime" addon.
|
||||
profiler = false
|
||||
|
||||
; proxy_cache_time (Integer)
|
||||
; Period in seconds after which the cache is cleared.
|
||||
proxy_cache_time = 86400
|
||||
|
||||
; pushpoll_frequency (Integer)
|
||||
; Frequency of contact poll for subhub contact using the DFRM or OStatus network.
|
||||
; Available values:
|
||||
; - 5 = every month
|
||||
; - 4 = every week
|
||||
; - 3 = every day
|
||||
; - 2 = twice a day
|
||||
; - 1 = every hour
|
||||
; - 0 = every minute
|
||||
pushpoll_frequency = 3
|
||||
|
||||
; queue_no_dead_check (Boolean)
|
||||
; Ignore if the target contact or server seems to be dead during queue delivery.
|
||||
queue_no_dead_check = false
|
||||
|
||||
; redis_host (String)
|
||||
; Host name of the redis daemon.
|
||||
redis_host = 127.0.0.1
|
||||
|
||||
; redis_port (String)
|
||||
; Port number of the redis daemon.
|
||||
redis_port = 6379
|
||||
|
||||
; session_handler (database|cache|native)
|
||||
; Whether to use Cache to store session data or to use PHP native session storage.
|
||||
session_handler = database
|
||||
|
||||
; remove_multiplicated_lines (Boolean)
|
||||
; If enabled, multiple linefeeds in items are stripped to a single one.
|
||||
remove_multiplicated_lines = false
|
||||
|
||||
; sendmail_params (Boolean)
|
||||
; Normal sendmail command parameters will be added when the PHP mail() function is called for sending e-mails.
|
||||
; This ensures the Sender Email address setting is applied to the message envelope rather than the host's default address.
|
||||
; Set to false if your non-sendmail agent is incompatible, or to restore old behavior of using the host address.
|
||||
sendmail_params = true
|
||||
|
||||
; show_global_community_hint (Boolean)
|
||||
; When the global community page is enabled, use this option to display a hint above the stream, that this is a collection of all public top-level postings that arrive on your node.
|
||||
show_global_community_hint = false
|
||||
|
||||
; show_unsupported_addons (Boolean)
|
||||
; Show all addons including the unsupported ones.
|
||||
show_unsupported_addons = false
|
||||
|
||||
; show_unsupported_themes (Boolean)
|
||||
; Show all themes including the unsupported ones.
|
||||
show_unsupported_themes = false
|
||||
|
||||
; throttle_limit_day (Integer)
|
||||
; Maximum number of posts that a user can send per day with the API. 0 to disable daily throttling.
|
||||
throttle_limit_day = 0
|
||||
|
||||
; throttle_limit_week (Integer)
|
||||
; Maximum number of posts that a user can send per week with the API. 0 to disable weekly throttling.
|
||||
throttle_limit_week = 0
|
||||
|
||||
; throttle_limit_month (Integer)
|
||||
; Maximum number of posts that a user can send per month with the API. 0 to disable monthly throttling.
|
||||
throttle_limit_month = 0
|
||||
|
||||
; urlpath (String)
|
||||
; If you are using a subdirectory of your domain you will need to put the relative path (from the root of your domain) here.
|
||||
; For instance if your URL is 'http://example.com/directory/subdirectory', set urlpath to 'directory/subdirectory'.
|
||||
urlpath =
|
||||
|
||||
; username_min_length (Integer)
|
||||
; The minimum character length a username can be.
|
||||
; This length is check once the username has been trimmed and multiple spaces have been collapsed into one.
|
||||
; Minimum for this config value is 1. Maximum is 64 as the resulting profile URL mustn't be longer than 255 chars.
|
||||
username_min_length = 3
|
||||
|
||||
; username_max_length (Integer)
|
||||
; The maximum character length a username can be.
|
||||
; This length is check once the username has been trimmed and multiple spaces have been collapsed into one.
|
||||
; Minimum for this config value is 1. Maximum is 64 as the resulting profile URL mustn't be longer than 255 chars.
|
||||
username_max_length = 48
|
||||
|
||||
; worker_cooldown (Integer)
|
||||
; Cooldown period in seconds after each worker function call.
|
||||
worker_cooldown = 0
|
||||
|
||||
; worker_debug (Boolean)
|
||||
; If enabled, it prints out the number of running processes split by priority.
|
||||
worker_debug = false
|
||||
|
||||
; worker_fetch_limit (Integer)
|
||||
; Number of worker tasks that are fetched in a single query.
|
||||
worker_fetch_limit = 1
|
||||
|
||||
; worker_load_exponent (Integer)
|
||||
; Default 3, which allows only 25% of the maximum worker queues when server load reaches around 37% of maximum load.
|
||||
; For a linear response where 25% of worker queues are allowed at 75% of maximum load, set this to 1.
|
||||
; Setting 0 would allow maximum worker queues at all times, which is not recommended.
|
||||
worker_load_exponent = 3
|
||||
|
||||
; xrd_timeout (Integer)
|
||||
; Timeout in seconds for fetching the XRD links.
|
||||
xrd_timeout = 20
|
||||
|
||||
[experimental]
|
||||
|
||||
; exp_themes (Boolean)
|
||||
; Show experimental themes in user settings.
|
||||
exp_themes = false
|
||||
|
||||
[theme]
|
||||
|
||||
; hide_eventlist (Boolean)
|
||||
; Don't show the birthdays and events on the profile and network page.
|
||||
hide_eventlist = false
|
||||
|
||||
[jabber]
|
||||
|
||||
; debug (Boolean)
|
||||
; Enable debug level for the jabber account synchronisation.
|
||||
debug = false
|
||||
|
||||
; lockpath (Path)
|
||||
; Must be writable by the ejabberd process. if set then it will prevent the running of multiple processes.
|
||||
lockpath =
|
||||
|
||||
INI;
|
||||
// Keep this line
|
424
config/defaults.config.php
Normal file
424
config/defaults.config.php
Normal file
|
@ -0,0 +1,424 @@
|
|||
<?php
|
||||
|
||||
// CONFIG.PHP
|
||||
|
||||
/* This file declares the default values for the base config of Friendica.
|
||||
*
|
||||
* These configuration values aren't accessible from the admin settings page and custom values must be set in config/local.config.php
|
||||
*
|
||||
* Please don't edit this file directly as its content may change in the upcoming versions.
|
||||
*/
|
||||
|
||||
return [
|
||||
'database' => [
|
||||
// host (String)
|
||||
// Hostname or IP address of the database server.
|
||||
// Can contain the port number with the syntax "hostname:port".
|
||||
'hostname' => '',
|
||||
|
||||
// user (String)
|
||||
// Database user name. Please don't use "root".
|
||||
'username' => '',
|
||||
|
||||
// pass (String)
|
||||
// Database user password. Please don't use empty passwords.
|
||||
'password' => '',
|
||||
|
||||
// base (String)
|
||||
// Database name.
|
||||
'database' => '',
|
||||
|
||||
// charset (String)
|
||||
// Database connexion charset. Changing this value will likely corrupt special characters.
|
||||
'charset' => 'utf8mb4',
|
||||
],
|
||||
'config' => [
|
||||
// admin_email (Comma-separated list)
|
||||
// In order to perform system administration via the admin panel,
|
||||
// this must precisely match the email address of the person logged in.
|
||||
'admin_email' => '',
|
||||
|
||||
// admin_nickname (String)
|
||||
// Nickname of the main admin user, used if there are more than one admin user defined in config => admin_email.
|
||||
'admin_nickname' => '',
|
||||
|
||||
// max_import_size (Integer)
|
||||
// Maximum body size of DFRN and Mail messages in characters. 0 is unlimited.
|
||||
'max_import_size' => 200000,
|
||||
|
||||
// php_path (String)
|
||||
// Location of PHP command line processor.
|
||||
'php_path' => 'php',
|
||||
],
|
||||
'system' => [
|
||||
// allowed_link_protocols (Array)
|
||||
// Allowed protocols in links URLs, add at your own risk. http is always allowed.
|
||||
'allowed_link_protocols' => ['ftp', 'ftps', 'mailto', 'cid', 'gopher'],
|
||||
|
||||
// always_show_preview (Boolean)
|
||||
// Only show small preview pictures.
|
||||
'always_show_preview' => false,
|
||||
|
||||
// archival_days (Integer)
|
||||
// Number of days that we try to deliver content before we archive a contact.
|
||||
'archival_days' => 32,
|
||||
|
||||
// auth_cookie_lifetime (Integer)
|
||||
// Number of days that should pass without any activity before a user who
|
||||
// chose "Remember me" when logging in is considered logged out.
|
||||
'auth_cookie_lifetime' => 7,
|
||||
|
||||
// block_local_dir (Boolean)
|
||||
// Deny public access to the local user directory.
|
||||
'block_local_dir' => false,
|
||||
|
||||
// cache_driver (database|memcache|memcached|redis)
|
||||
// Whether to use Memcache or Memcached or Redis to store temporary cache.
|
||||
'cache_driver' => 'database',
|
||||
|
||||
// config_adapter (jit|preload)
|
||||
// Allow to switch the configuration adapter to improve performances at the cost of memory consumption.
|
||||
'config_adapter' => 'jit',
|
||||
|
||||
// curl_range_bytes (Integer)
|
||||
// Maximum number of bytes that should be fetched. Default is 0, which mean "no limit".
|
||||
'curl_range_bytes' => 0,
|
||||
|
||||
// crawl_permit_period (Integer)
|
||||
// Period in seconds between allowed searches when the number of free searches is reached and "permit_crawling" is activated.
|
||||
'crawl_permit_period' => 60,
|
||||
|
||||
// db_log (Path)
|
||||
// Name of a logfile to log slow database queries.
|
||||
'db_log' => '',
|
||||
|
||||
// db_log_index (Path)
|
||||
// Name of a logfile to log queries with bad indexes.
|
||||
'db_log_index' => '',
|
||||
|
||||
// db_log_index_watch (Comma-separated list)
|
||||
// Watchlist of indexes to watch.
|
||||
'db_log_index_watch' => '',
|
||||
|
||||
// db_log_index_blacklist (Comma-separated list)
|
||||
// Blacklist of indexes that shouldn't be watched.
|
||||
'db_log_index_blacklist' => '',
|
||||
|
||||
// db_loglimit (Integer)
|
||||
// If a database call lasts longer than this value in seconds it is logged.
|
||||
// Inactive if system => db_log is empty.
|
||||
'db_loglimit' => 10,
|
||||
|
||||
// db_loglimit_index (Integer)
|
||||
// Number of index rows needed to be logged for indexes on the watchlist. 0 to disable.
|
||||
'db_loglimit_index' => 0,
|
||||
|
||||
// db_loglimit_index_high (Integer)
|
||||
// Number of index rows to be logged anyway (for any index). 0 to disable.
|
||||
'db_loglimit_index_high' => 0,
|
||||
|
||||
// dbclean_expire_conversation (Integer)
|
||||
// When DBClean is enabled, any entry in the conversation table will be deleted after this many days.
|
||||
// This data is used for ActivityPub, so it shouldn't be lower than the average duration of a discussion.
|
||||
'dbclean_expire_conversation' => 90,
|
||||
|
||||
// dbclean-expire-limit (Integer)
|
||||
// This defines the number of items that are to be deleted in a single call.
|
||||
// Reduce this value when you are getting memory issues.
|
||||
'dbclean-expire-limit' => 1000,
|
||||
|
||||
// diaspora_test (Boolean)
|
||||
// For development only. Disables the message transfer.
|
||||
'diaspora_test' => false,
|
||||
|
||||
// disable_email_validation (Boolean)
|
||||
// Disables the check if a mail address is in a valid format and can be resolved via DNS.
|
||||
'disable_email_validation' => false,
|
||||
|
||||
// disable_url_validation (Boolean)
|
||||
// Disables the DNS lookup of an URL.
|
||||
'disable_url_validation' => false,
|
||||
|
||||
// disable_password_exposed (Boolean)
|
||||
// Disable the exposition check against the remote haveibeenpwned API on password change.
|
||||
'disable_password_exposed' => false,
|
||||
|
||||
// disable_polling (Boolean)
|
||||
// Disable the polling of DFRN and OStatus contacts through onepoll.php.
|
||||
'disable_polling' => false,
|
||||
|
||||
// dlogfile (Path)
|
||||
// location of the developer log file.
|
||||
'dlogfile' => '',
|
||||
|
||||
// dlogip (String)
|
||||
// restricts develop log writes to requests originating from this IP address.
|
||||
'dlogip' => '',
|
||||
|
||||
// free_crawls (Integer)
|
||||
// Number of "free" searches when system => permit_crawling is enabled.
|
||||
'free_crawls' => 10,
|
||||
|
||||
// frontend_worker_timeout (Integer)
|
||||
// Value in minutes after we think that a frontend task was killed by the webserver.
|
||||
'frontend_worker_timeout' => 10,
|
||||
|
||||
// groupedit_image_limit (Integer)
|
||||
// Number of contacts at which the group editor should switch from display the profile pictures of the contacts to only display the names.
|
||||
// This can alternatively be set on a per account basis in the pconfig table.
|
||||
'groupedit_image_limit' => 400,
|
||||
|
||||
// hsts (Boolean)
|
||||
// Enables the sending of HTTP Strict Transport Security headers.
|
||||
'hsts' => false,
|
||||
|
||||
// ignore_cache (Boolean)
|
||||
// For development only. Disables the item cache.
|
||||
'ignore_cache' => false,
|
||||
|
||||
// instances_social_key (String)
|
||||
// Key to the API of https://instances.social which retrieves data about mastodon servers.
|
||||
// See https://instances.social/api/token to get an API key.
|
||||
'instances_social_key' => '',
|
||||
|
||||
// ipv4_resolve (Boolean)
|
||||
// Resolve IPV4 addresses only. Don't resolve to IPV6.
|
||||
'ipv4_resolve' => false,
|
||||
|
||||
// invitation_only (Boolean)
|
||||
// If set true registration is only possible after a current member of the node has send an invitation.
|
||||
'invitation_only' => false,
|
||||
|
||||
// like_no_comment (Boolean)
|
||||
// Don't update the "commented" value of an item when it is liked.
|
||||
'like_no_comment' => false,
|
||||
|
||||
// local_block (Boolean)
|
||||
// Used in conjunction with "block_public".
|
||||
'local_block' => false,
|
||||
|
||||
// local_search (Boolean)
|
||||
// Blocks search for users who are not logged in to prevent crawlers from blocking your system.
|
||||
'local_search' => false,
|
||||
|
||||
// local_tags (Boolean)
|
||||
// If activated, all hashtags will point to the local server.
|
||||
'local_tags' => false,
|
||||
|
||||
// max_batch_queue (Integer)
|
||||
// Maximum number of batched queue items for a single contact before subsequent messages are discarded.
|
||||
'max_batch_queue' => 1000,
|
||||
|
||||
// max_connections (Integer)
|
||||
// The maximum number of database connections which can be in use before the worker process is deferred to its next interval.
|
||||
// When the system can't detect the maximum numbers of connection then this value can be used. Use 0 for auto-detection.
|
||||
'max_connections' => 0,
|
||||
|
||||
// max_connections_level (Integer 0-100)
|
||||
// The maximum percentage of connections that are allowed to let the worker start.
|
||||
'max_connections_level' => 75,
|
||||
|
||||
// max_contact_queue (Integer)
|
||||
// Maximum number of queue items for a single contact before subsequent messages are discarded.
|
||||
'max_contact_queue' => 500,
|
||||
|
||||
// max_image_length (Integer)
|
||||
// An alternate way of limiting picture upload sizes.
|
||||
// Specify the maximum pixel length that pictures are allowed to be (for non-square pictures, it will apply to the longest side).
|
||||
// Pictures longer than this length will be resized to be this length (on the longest side, the other side will be scaled appropriately).
|
||||
// If you don't want to set a maximum length, set to -1.
|
||||
'max_image_length' => -1,
|
||||
|
||||
// max_processes_backend (Integer)
|
||||
// Maximum number of concurrent database processes for background tasks.
|
||||
'max_processes_backend' => 5,
|
||||
|
||||
// max_processes_frontend (Integer)
|
||||
// Maximum number of concurrent database processes for foreground tasks.
|
||||
'max_processes_frontend' => 20,
|
||||
|
||||
// maximagesize (Integer)
|
||||
// Maximum size in bytes of an uploaded photo.
|
||||
'maximagesize' => 800000,
|
||||
|
||||
// memcache_host (String)
|
||||
// Host name of the memcache daemon.
|
||||
'memcache_host' => '127.0.0.1',
|
||||
|
||||
// memcache_port (Integer)
|
||||
// Port number of the memcache daemon.
|
||||
'memcache_port' => 11211,
|
||||
|
||||
// memcached_hosts (Array)
|
||||
// Array of Memcached servers info [host, port(, weight)], see Memcached::addServers.
|
||||
'memcached_hosts' => [
|
||||
['127.0.0.1', '11211'],
|
||||
],
|
||||
|
||||
// min_poll_interval (Integer)
|
||||
// minimal distance in minutes between two polls for a contact. Reasonable values are between 1 and 59.
|
||||
'min_poll_interval' => 1,
|
||||
|
||||
// no_count (Boolean)
|
||||
// Don't do count calculations (currently only when showing photo albums).
|
||||
'no_count' => false,
|
||||
|
||||
// no_oembed (Boolean)
|
||||
// Don't use OEmbed to fetch more information about a link.
|
||||
'no_oembed' => false,
|
||||
|
||||
// no_smilies (Boolean)
|
||||
// Don't show smilies.
|
||||
'no_smilies' => false,
|
||||
|
||||
// no_view_full_size (Boolean)
|
||||
// Don't add the link "View full size" under a resized image.
|
||||
'no_view_full_size' => false,
|
||||
|
||||
// optimize_items (Boolean)
|
||||
// Triggers an SQL command to optimize the item table before expiring items.
|
||||
'optimize_items' => false,
|
||||
|
||||
// paranoia (Boolean)
|
||||
// Log out users if their IP address changed.
|
||||
'paranoia' => false,
|
||||
|
||||
// permit_crawling (Boolean)
|
||||
// Restricts the search for not logged in users to one search per minute.
|
||||
'permit_crawling' => false,
|
||||
|
||||
// pidfile (Path)
|
||||
// Daemon pid file path. For example: pidfile = /path/to/daemon.pid
|
||||
'pidfile' => '',
|
||||
|
||||
// png_quality (Integer)
|
||||
// Sets the ImageMagick compression level for PNG images. Values ranges from 0 (uncompressed) to 9 (most compressed).
|
||||
'png_quality' => 8,
|
||||
|
||||
// profiler (Boolean)
|
||||
// Enable internal timings to help optimize code. Needed for "rendertime" addon.
|
||||
'profiler' => false,
|
||||
|
||||
// proxy_cache_time (Integer)
|
||||
// Period in seconds after which the cache is cleared.
|
||||
'proxy_cache_time' => 86400,
|
||||
|
||||
// pushpoll_frequency (Integer)
|
||||
// Frequency of contact poll for subhub contact using the DFRM or OStatus network.
|
||||
// Available values:
|
||||
// - 5 = every month
|
||||
// - 4 = every week
|
||||
// - 3 = every day
|
||||
// - 2 = twice a day
|
||||
// - 1 = every hour
|
||||
// - 0 = every minute
|
||||
'pushpoll_frequency' => 3,
|
||||
|
||||
// queue_no_dead_check (Boolean)
|
||||
// Ignore if the target contact or server seems to be dead during queue delivery.
|
||||
'queue_no_dead_check' => false,
|
||||
|
||||
// redis_host (String)
|
||||
// Host name of the redis daemon.
|
||||
'redis_host' => '127.0.0.1',
|
||||
|
||||
// redis_port (String)
|
||||
// Port number of the redis daemon.
|
||||
'redis_port' => 6379,
|
||||
|
||||
// session_handler (database|cache|native)
|
||||
// Whether to use Cache to store session data or to use PHP native session storage.
|
||||
'session_handler' => 'database',
|
||||
|
||||
// remove_multiplicated_lines (Boolean)
|
||||
// If enabled, multiple linefeeds in items are stripped to a single one.
|
||||
'remove_multiplicated_lines' => false,
|
||||
|
||||
// sendmail_params (Boolean)
|
||||
// Normal sendmail command parameters will be added when the PHP mail() function is called for sending e-mails.
|
||||
// This ensures the Sender Email address setting is applied to the message envelope rather than the host's default address.
|
||||
// Set to false if your non-sendmail agent is incompatible, or to restore old behavior of using the host address.
|
||||
'sendmail_params' => true,
|
||||
|
||||
// show_global_community_hint (Boolean)
|
||||
// When the global community page is enabled, use this option to display a hint above the stream, that this is a collection of all public top-level postings that arrive on your node.
|
||||
'show_global_community_hint' => false,
|
||||
|
||||
// show_unsupported_addons (Boolean)
|
||||
// Show all addons including the unsupported ones.
|
||||
'show_unsupported_addons' => false,
|
||||
|
||||
// show_unsupported_themes (Boolean)
|
||||
// Show all themes including the unsupported ones.
|
||||
'show_unsupported_themes' => false,
|
||||
|
||||
// throttle_limit_day (Integer)
|
||||
// Maximum number of posts that a user can send per day with the API. 0 to disable daily throttling.
|
||||
'throttle_limit_day' => 0,
|
||||
|
||||
// throttle_limit_week (Integer)
|
||||
// Maximum number of posts that a user can send per week with the API. 0 to disable weekly throttling.
|
||||
'throttle_limit_week' => 0,
|
||||
|
||||
// throttle_limit_month (Integer)
|
||||
// Maximum number of posts that a user can send per month with the API. 0 to disable monthly throttling.
|
||||
'throttle_limit_month' => 0,
|
||||
|
||||
// urlpath (String)
|
||||
// If you are using a subdirectory of your domain you will need to put the relative path (from the root of your domain) here.
|
||||
// For instance if your URL is 'http://example.com/directory/subdirectory', set urlpath to 'directory/subdirectory'.
|
||||
'urlpath' => '',
|
||||
|
||||
// username_min_length (Integer)
|
||||
// The minimum character length a username can be.
|
||||
// This length is check once the username has been trimmed and multiple spaces have been collapsed into one.
|
||||
// Minimum for this config value is 1. Maximum is 64 as the resulting profile URL mustn't be longer than 255 chars.
|
||||
'username_min_length' => 3,
|
||||
|
||||
// username_max_length (Integer)
|
||||
// The maximum character length a username can be.
|
||||
// This length is check once the username has been trimmed and multiple spaces have been collapsed into one.
|
||||
// Minimum for this config value is 1. Maximum is 64 as the resulting profile URL mustn't be longer than 255 chars.
|
||||
'username_max_length' => 48,
|
||||
|
||||
// worker_cooldown (Integer)
|
||||
// Cooldown period in seconds after each worker function call.
|
||||
'worker_cooldown' => 0,
|
||||
|
||||
// worker_debug (Boolean)
|
||||
// If enabled, it prints out the number of running processes split by priority.
|
||||
'worker_debug' => false,
|
||||
|
||||
// worker_fetch_limit (Integer)
|
||||
// Number of worker tasks that are fetched in a single query.
|
||||
'worker_fetch_limit' => 1,
|
||||
|
||||
// worker_load_exponent (Integer)
|
||||
// Default 3, which allows only 25% of the maximum worker queues when server load reaches around 37% of maximum load.
|
||||
// For a linear response where 25% of worker queues are allowed at 75% of maximum load, set this to 1.
|
||||
// Setting 0 would allow maximum worker queues at all times, which is not recommended.
|
||||
'worker_load_exponent' => 3,
|
||||
|
||||
// xrd_timeout (Integer)
|
||||
// Timeout in seconds for fetching the XRD links.
|
||||
'xrd_timeout' => 20,
|
||||
],
|
||||
'experimental' => [
|
||||
// exp_themes (Boolean)
|
||||
// Show experimental themes in user settings.
|
||||
'exp_themes' => false,
|
||||
],
|
||||
'theme' => [
|
||||
// hide_eventlist (Boolean)
|
||||
// Don't show the birthdays and events on the profile and network page.
|
||||
'hide_eventlist' => false,
|
||||
],
|
||||
'jabber' => [
|
||||
// debug (Boolean)
|
||||
// Enable debug level for the jabber account synchronisation.
|
||||
'debug' => false,
|
||||
// lockpath (Path)
|
||||
// Must be writable by the ejabberd process. if set then it will prevent the running of multiple processes.
|
||||
'lockpath' => '',
|
||||
],
|
||||
];
|
44
config/local-sample.config.php
Normal file
44
config/local-sample.config.php
Normal file
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
|
||||
// Local configuration
|
||||
|
||||
/* If automatic system installation fails:
|
||||
*
|
||||
* Copy this file to local.config.php
|
||||
*
|
||||
* Why local.config.php? Because it contains sensitive information which could
|
||||
* give somebody complete control of your database. Apache's default
|
||||
* configuration will interpret any .php file as a script and won't show the values
|
||||
*
|
||||
* Then set the following for your MySQL installation
|
||||
*
|
||||
* If you're unsure about what any of the config keys below do, please check the config/defaults.config.php file for
|
||||
* detailed documentation of their data type and behavior.
|
||||
*/
|
||||
|
||||
return [
|
||||
'database' => [
|
||||
'hostname' => 'localhost',
|
||||
'username' => 'mysqlusername',
|
||||
'password' => 'mysqlpassword',
|
||||
'database' => 'mysqldatabasename',
|
||||
'charset' => 'utf8mb4',
|
||||
],
|
||||
|
||||
// ****************************************************************
|
||||
// The configuration below will be overruled by the admin panel.
|
||||
// Changes made below will only have an effect if the database does
|
||||
// not contain any configuration for the friendica system.
|
||||
// ****************************************************************
|
||||
|
||||
'config' => [
|
||||
'admin_email' => '',
|
||||
'sitename' => 'Friendica Social Network',
|
||||
'register_policy' => REGISTER_OPEN,
|
||||
'register_text' => '',
|
||||
],
|
||||
'system' => [
|
||||
'default_timezone' => 'UTC',
|
||||
'language' => 'en',
|
||||
],
|
||||
];
|
|
@ -1,41 +0,0 @@
|
|||
<?php return <<<INI
|
||||
|
||||
; If automatic system installation fails:
|
||||
|
||||
; Copy this file to local.ini.php
|
||||
|
||||
; Why local.ini.php? Because it contains sensitive information which could
|
||||
; give somebody complete control of your database. Apache's default
|
||||
; configuration will interpret any .php file as a script and won't show the values
|
||||
|
||||
; Then set the following for your MySQL installation
|
||||
|
||||
[database]
|
||||
hostname = localhost
|
||||
username = mysqlusername
|
||||
password = mysqlpassword
|
||||
database = mysqldatabasename
|
||||
charset = utf8mb4
|
||||
|
||||
|
||||
; ****************************************************************
|
||||
; The configuration below will be overruled by the admin panel.
|
||||
; Changes made below will only have an effect if the database does
|
||||
; not contain any configuration for the friendica system.
|
||||
; ****************************************************************
|
||||
|
||||
[config]
|
||||
admin_email =
|
||||
|
||||
sitename = Friendica Social Network
|
||||
|
||||
register_policy = REGISTER_OPEN
|
||||
register_text =
|
||||
|
||||
[system]
|
||||
default_timezone = UTC
|
||||
|
||||
language = en
|
||||
|
||||
INI;
|
||||
// Keep this line
|
113
config/settings.config.php
Normal file
113
config/settings.config.php
Normal file
|
@ -0,0 +1,113 @@
|
|||
<?php
|
||||
|
||||
// SETTINGS.PHP
|
||||
|
||||
/* This file declares the default values for the admin settings of Friendica.
|
||||
*
|
||||
* These values will be overridden by the admin settings page.
|
||||
*
|
||||
* Please don't edit this file directly as its content may change in the upcoming versions.
|
||||
*/
|
||||
|
||||
return [
|
||||
'config' => [
|
||||
// info (String)
|
||||
// Plaintext description of this node, used in the /friendica module.
|
||||
'info' => '',
|
||||
|
||||
// register_policy (Constant)
|
||||
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
|
||||
// Be certain to create your own personal account before setting REGISTER_CLOSED.
|
||||
// REGISTER_APPROVE requires you set system.admin_email to the email address of an already registered person who can authorize and/or approve/deny the request.
|
||||
'register_policy' => REGISTER_CLOSED,
|
||||
|
||||
// register_text (String)
|
||||
// Will be displayed prominently on the registration page.
|
||||
'register_text' => '',
|
||||
|
||||
// sitename (String)
|
||||
// Displayed server name.
|
||||
'sitename' => 'Friendica Social Network',
|
||||
],
|
||||
'system' => [
|
||||
// account_abandon_days (Integer)
|
||||
// Will not waste system resources polling external sites for abandonded accounts.
|
||||
// Enter 0 for no time limit.
|
||||
'account_abandon_days' => 0,
|
||||
|
||||
// addon (Comma-separated list)
|
||||
// Manual list of addons which are enabled on this system.
|
||||
'addon' => '',
|
||||
|
||||
// allowed_themes (Comma-separated list)
|
||||
// Themes users can change to in their settings.
|
||||
'allowed_themes' => 'quattro,vier,duepuntozero,smoothly',
|
||||
|
||||
// default_timezone (String)
|
||||
// Choose a default timezone. See https://secure.php.net/manual/en/timezones.php
|
||||
// It only applies to timestamps for anonymous viewers.
|
||||
'default_timezone' => 'UTC',
|
||||
|
||||
// directory (String)
|
||||
// URL of the global directory.
|
||||
'directory' => 'https://dir.friendica.social',
|
||||
|
||||
// forbidden_nicknames (Comma-separated list)
|
||||
// Prevents users from registering the specified nicknames on this node.
|
||||
// Default value comprises classic role names from RFC 2142.
|
||||
'forbidden_nicknames' => 'info, marketing, sales, support, abuse, noc, security, postmaster, hostmaster, usenet, news, webmaster, www, uucp, ftp, root, sysop',
|
||||
|
||||
// jpeg_quality (Integer)
|
||||
// Sets the ImageMagick quality level for JPEG images. Values ranges from 50 (awful) to 100 (near perfect).
|
||||
'jpeg_quality' => 100,
|
||||
|
||||
// language (String)
|
||||
// System default languague, inluding admin-created user default language.
|
||||
// Two-letters ISO 639-1 code.
|
||||
'language' => 'en',
|
||||
|
||||
// max_image_length (Integer)
|
||||
// An alternate way of limiting picture upload sizes.
|
||||
// Specify the maximum pixel length that pictures are allowed to be (for non-square pictures, it will apply to the longest side).
|
||||
// Pictures longer than this length will be resized to be this length (on the longest side, the other side will be scaled appropriately).
|
||||
// If you don't want to set a maximum length, set to -1.
|
||||
'max_image_length' => -1,
|
||||
|
||||
// maximagesize (Integer)
|
||||
// Maximum size in bytes of an uploaded photo.
|
||||
'maximagesize' => 800000,
|
||||
|
||||
// no_regfullname (Boolean)
|
||||
// Allow pseudonyms (true) or enforce a space between first name and last name in Full name, as an anti spam measure (false).
|
||||
'no_regfullname' => true,
|
||||
|
||||
// optimize_max_tablesize (Integer)
|
||||
// Maximum table size (in MB) for the automatic optimization.
|
||||
// -1 to disable automatic optimization.
|
||||
// 0 to use internal default (100MB)
|
||||
'optimize_max_tablesize' => -1,
|
||||
|
||||
// rino_encrypt (Integer)
|
||||
// Server-to-server private message encryption (RINO).
|
||||
// Encryption will only be provided if this setting is set to a non zero value on both servers.
|
||||
// Set to 0 to disable, 2 to enable, 1 is deprecated but won't need mcrypt.
|
||||
'rino_encrypt' => 2,
|
||||
|
||||
// temppath (String)
|
||||
// Custom temporary file directory
|
||||
'temppath' => '',
|
||||
|
||||
// theme (String)
|
||||
// System theme name.
|
||||
'theme' => 'vier',
|
||||
|
||||
// url (String)
|
||||
// The fully-qualified URL of this Friendica node.
|
||||
// Used by the worker in a non-HTTP execution environment.
|
||||
'url' => '',
|
||||
],
|
||||
|
||||
// Used in the admin settings to lock certain features
|
||||
'featurelock' => [
|
||||
],
|
||||
];
|
|
@ -1,112 +0,0 @@
|
|||
<?php return <<<INI
|
||||
|
||||
; SETTINGS.INI.PHP
|
||||
|
||||
; This file declares the default values for the admin settings of Friendica.
|
||||
; These values will be overriden by the admin settings page.
|
||||
|
||||
; Please don't edit this file directly as its content may change in the upcoming versions.
|
||||
|
||||
[config]
|
||||
|
||||
; info (String)
|
||||
; Plaintext description of this node, used in the /friendica module.
|
||||
info =
|
||||
|
||||
; register_policy (Constant)
|
||||
; Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
|
||||
; Be certain to create your own personal account before setting REGISTER_CLOSED.
|
||||
; REGISTER_APPROVE requires you set system.admin_email to the email address of an already registered person who can authorize and/or approve/deny the request.
|
||||
register_policy = REGISTER_CLOSED
|
||||
|
||||
; register_text (String)
|
||||
; Will be displayed prominently on the registration page.
|
||||
register_text = ''
|
||||
|
||||
; sitename (String)
|
||||
; Displayed server name.
|
||||
sitename = "Friendica Social Network"
|
||||
|
||||
[system]
|
||||
|
||||
; account_abandon_days (Integer)
|
||||
; Will not waste system resources polling external sites for abandonded accounts.
|
||||
; Enter 0 for no time limit.
|
||||
account_abandon_days = 0
|
||||
|
||||
; addon (Comma-separated list)
|
||||
; Manual list of addons which are enabled on this system.
|
||||
addon =
|
||||
|
||||
; allowed_themes (Comma-separated list)
|
||||
; Themes users can change to in their settings.
|
||||
allowed_themes = 'quattro,vier,duepuntozero,smoothly'
|
||||
|
||||
; default_timezone (String)
|
||||
; Choose a default timezone. See https://secure.php.net/manual/en/timezones.php
|
||||
; It only applies to timestamps for anonymous viewers.
|
||||
default_timezone = UTC
|
||||
|
||||
; directory (String)
|
||||
; URL of the global directory.
|
||||
directory = https://dir.friendica.social
|
||||
|
||||
; forbidden_nicknames (Comma-separated list)
|
||||
; Prevents users from registering the specified nicknames on this node.
|
||||
; Default value comprises classic role names from RFC 2142.
|
||||
forbidden_nicknames = info, marketing, sales, support, abuse, noc, security, postmaster, hostmaster, usenet, news, webmaster, www, uucp, ftp, root, sysop
|
||||
|
||||
; jpeg_quality (Integer)
|
||||
; Sets the ImageMagick quality level for JPEG images. Values ranges from 50 (awful) to 100 (near perfect).
|
||||
jpeg_quality = 100
|
||||
|
||||
; language (String)
|
||||
; System default languague, inluding admin-created user default language.
|
||||
; Two-letters ISO 639-1 code.
|
||||
language = en
|
||||
|
||||
; max_image_length (Integer)
|
||||
; An alternate way of limiting picture upload sizes.
|
||||
; Specify the maximum pixel length that pictures are allowed to be (for non-square pictures, it will apply to the longest side).
|
||||
; Pictures longer than this length will be resized to be this length (on the longest side, the other side will be scaled appropriately).
|
||||
; If you don't want to set a maximum length, set to -1.
|
||||
max_image_length = -1
|
||||
|
||||
; maximagesize (Integer)
|
||||
; Maximum size in bytes of an uploaded photo.
|
||||
maximagesize = 800000
|
||||
|
||||
; no_regfullname (Boolean)
|
||||
; Allow pseudonyms (true) or enforce a space between firstname and lastname in Full name, as an antispam measure (false).
|
||||
no_regfullname = true
|
||||
|
||||
; optimize_max_tablesize (Integer)
|
||||
; Maximum table size (in MB) for the automatic optimization.
|
||||
; -1 to disable automatic optimization.
|
||||
; 0 to use internal default (100MB)
|
||||
optimize_max_tablesize = -1
|
||||
|
||||
; rino_encrypt (Integer)
|
||||
; Server-to-server private message encryption (RINO).
|
||||
; Encryption will only be provided if this setting is set to a non zero value on both servers.
|
||||
; Set to 0 to disable, 2 to enable, 1 is deprecated but wont need mcrypt.
|
||||
rino_encrypt = 2
|
||||
|
||||
; temppath (String)
|
||||
; Custom temporary file directory
|
||||
temppath =
|
||||
|
||||
; theme (String)
|
||||
; System theme name.
|
||||
theme = vier
|
||||
|
||||
; url (String)
|
||||
; The fully-qualified URL of this Friendica node.
|
||||
; Used by the worker in a non-HTTP execution environment.
|
||||
url =
|
||||
|
||||
; Used in the admin settings to lock certain features
|
||||
[featurelock]
|
||||
|
||||
INI;
|
||||
// Keep this line
|
204
doc/Config.md
204
doc/Config.md
|
@ -1,55 +1,54 @@
|
|||
Config values that can only be set in config/local.ini.php
|
||||
Config values that can only be set in config/local.config.php
|
||||
==========================================================
|
||||
|
||||
* [Home](help)
|
||||
|
||||
Friendica's configuration is done in two places: in INI configuration files and in the `config` database table.
|
||||
Friendica's configuration is done in two places: in PHP array configuration files and in the `config` database table.
|
||||
Database config values overwrite the same file config values.
|
||||
|
||||
## File configuration
|
||||
|
||||
WARNING: some characters `?{}|&~![()^"` should not be used in the keys or values. If one of those character is required put the value between double quotes (eg. password = "let&me&in")
|
||||
The configuration format for file configuration is an INI string returned from a PHP file.
|
||||
This prevents your webserver from displaying your private configuration it interprets the configuration files and displays nothing.
|
||||
The configuration format for file configuration is an array returned from a PHP file.
|
||||
This prevents your webserver from displaying your private configuration. It interprets the configuration files and displays nothing.
|
||||
|
||||
A typical configuration file looks like this:
|
||||
|
||||
```php
|
||||
<?php return <<<INI
|
||||
<?php
|
||||
|
||||
; Comment line
|
||||
/*
|
||||
* Comment block
|
||||
*/
|
||||
|
||||
[section1]
|
||||
key = value
|
||||
empty_key =
|
||||
|
||||
[section2]
|
||||
array[] = value0
|
||||
array[] = value1
|
||||
array[] = value2
|
||||
|
||||
INI;
|
||||
// Keep this line
|
||||
return [
|
||||
'section1' => [
|
||||
// Comment line
|
||||
'key' => 'value',
|
||||
],
|
||||
'section2' => [
|
||||
'array' => ['value0', 'value1', 'value2'],
|
||||
],
|
||||
];
|
||||
```
|
||||
|
||||
### Configuration location
|
||||
|
||||
The `config` directory holds key configuration files:
|
||||
|
||||
- `config.ini.php` holds the default values for all the configuration keys that can only be set in `local.ini.php`.
|
||||
- `settings.ini.php` holds the default values for some configuration keys that are set through the admin settings page.
|
||||
- `local.ini.php` holds the current node custom configuration.
|
||||
- `addon.ini.php` is optional and holds the custom configuration for specific addons.
|
||||
- `defaults.config.php` holds the default values for all the configuration keys that can only be set in `local.config.php`.
|
||||
- `settings.config.php` holds the default values for some configuration keys that are set through the admin settings page.
|
||||
- `local.config.php` holds the current node custom configuration.
|
||||
- `addon.config.php` is optional and holds the custom configuration for specific addons.
|
||||
|
||||
Addons can define their own default configuration values in `addon/[addon]/config/[addon].ini.php` which is loaded when the addon is activated.
|
||||
Addons can define their own default configuration values in `addon/[addon]/config/[addon].config.php` which is loaded when the addon is activated.
|
||||
|
||||
#### Migrating from .htconfig.php to config/local.ini.php
|
||||
#### Migrating from .htconfig.php to config/local.config.php
|
||||
|
||||
The legacy `.htconfig.php` configuration file is still supported, but is deprecated and will be removed in a subsequent Friendica release.
|
||||
|
||||
The migration is pretty straightforward:
|
||||
If you had any addon-specific configuration in your `.htconfig.php`, just copy `config/addon-sample.ini.php` to `config/addon.ini.php` and move your configuration values.
|
||||
Afterwards, copy `config/local-sample.ini.php` to `config/local.ini.php`, move the remaining configuration values to it according to the following conversion chart, then rename your `.htconfig.php` to check your node is working as expected before deleting it.
|
||||
If you had any addon-specific configuration in your `.htconfig.php`, just copy `config/addon-sample.config.php` to `config/addon.config.php` and move your configuration values.
|
||||
Afterwards, copy `config/local-sample.config.php` to `config/local.config.php`, move the remaining configuration values to it according to the following conversion chart, then rename your `.htconfig.php` to check your node is working as expected before deleting it.
|
||||
|
||||
<style>
|
||||
table.config {
|
||||
|
@ -81,7 +80,7 @@ table.config > * > tr > th {
|
|||
<thead>
|
||||
<tr>
|
||||
<th>.htconfig.php</th>
|
||||
<th>config/local.ini.php</th>
|
||||
<th>config/local.config.php</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -94,25 +93,25 @@ $db_data = 'mysqldatabasename';
|
|||
$a->config["system"]["db_charset"] = 'utf8mb4';
|
||||
</pre></td>
|
||||
<td><pre>
|
||||
[database]
|
||||
hostname = localhost
|
||||
username = mysqlusername
|
||||
password = mysqlpassword
|
||||
database = mysqldatabasename
|
||||
charset = utf8mb4
|
||||
'database' => [
|
||||
'hostname' => 'localhost',
|
||||
'username' => 'mysqlusername',
|
||||
'password' => 'mysqlpassword',
|
||||
'database' => 'database',
|
||||
'charset' => 'utf8mb4',
|
||||
|