2018-06-29 00:26:00 -04:00
Config values that can only be set in config/local.ini.php
==========================================================
2015-10-04 06:02:44 -04:00
2016-12-06 09:03:57 -05:00
* [Home ](help )
2018-06-27 23:07:38 -04:00
Friendica's configuration is done in two places: in INI configuration files and in the `config` database table.
Database config values overwrite the same file config values.
2018-07-17 02:03:39 -04:00
## File configuration
2018-06-27 23:07:38 -04:00
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.
A typical configuration file looks like this:
```php
< ?php return < < < INI
; Comment line
[section1]
key = value
empty_key =
[section2]
array[] = value0
array[] = value1
array[] = value2
INI;
// Keep this line
```
2018-07-17 02:03:39 -04:00
### Configuration location
2018-06-27 23:07:38 -04:00
2018-07-17 02:03:39 -04:00
The `config` directory holds key configuration files:
2018-06-27 23:07:38 -04:00
2018-07-17 02:03:39 -04:00
- `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.
Addons can define their own default configuration values in `addon/[addon]/config/[addon].ini.php` which is loaded when the addon is activated.
#### Migrating from .htconfig.php to config/local.ini.php
2018-06-27 23:07:38 -04:00
The legacy `.htconfig.php` configuration file is still supported, but is deprecated and will be removed in a subsequent Friendica release.
2018-07-17 02:03:39 -04:00
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.
2018-06-27 23:07:38 -04:00
< style >
table.config {
margin: 1em 0;
background-color: #f9f9f9 ;
border: 1px solid #aaa ;
border-collapse: collapse;
color: #000 ;
width: 100%;
}
table.config > tr > th,
table.config > tr > td,
table.config > * > tr > th,
table.config > * > tr > td {
border: 1px solid #aaa ;
padding: 0.2em 0.4em
}
table.config > tr > th,
table.config > * > tr > th {
background-color: #f2f2f2 ;
text-align: center;
width: 50%
}
< / style >
< table class = "config" >
< thead >
< tr >
< th > .htconfig.php< / th >
< th > config/local.ini.php< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < pre >
$db_host = 'localhost';
$db_user = 'mysqlusername';
$db_pass = 'mysqlpassword';
$db_data = 'mysqldatabasename';
$a->config["system"]["db_charset"] = 'utf8mb4';
< / pre > < / td >
< td > < pre >
[database]
hostname = localhost
username = mysqlusername
password = mysqlpassword
database = mysqldatabasename
charset = utf8mb4
< / pre > < / td >
< / tr >
< tr >
< td > < pre >
$a->config["section"]["key"] = "value";
< / pre > < / td >
< td > < pre >
[section]
key = value
< / pre > < / td >
< / tr >
< tr >
< td > < pre >
$a->config["section"]["key"] = array(
"value1",
"value2",
"value3"
);
< / pre > < / td >
< td > < pre >
[section]
key[] = value1
key[] = value2
key[] = value3
< / pre > < / td >
< / tr >
< tr >
< td > < pre >
$a->config["key"] = "value";
< / pre > < / td >
< td > < pre >
[config]
key = value
< / pre > < / td >
< / tr >
< tr >
< td > < pre >
$a->path = "value";
< / pre > < / td >
< td > < pre >
[system]
urlpath = value
< / pre > < / td >
< / tr >
< tr >
< td > < pre >
$default_timezone = "value";
< / pre > < / td >
< td > < pre >
[system]
default_timezone = value
< / pre > < / td >
< / tr >
< tr >
< td > < pre >
$pidfile = "value";
< / pre > < / td >
< td > < pre >
[system]
pidfile = value
< / pre > < / td >
< / tr >
< tr >
< td > < pre >
$lang = "value";
< / pre > < / td >
< td > < pre >
2018-07-17 02:03:39 -04:00
[system]
language = value
2018-06-27 23:07:38 -04:00
< / pre > < / td >
< / tr >
< / tbody >
< / table >
2018-07-17 02:03:39 -04:00
### Database Settings
2018-06-27 23:07:38 -04:00
The configuration variables database.hostname, database.username, database.password, database.database and database.charset are holding your credentials for the database connection.
If you need to specify a port to access the database, you can do so by appending ":portnumber" to the database.hostname variable.
[database]
hostname = your.mysqlhost.com:123456
If all of the following environment variables are set, Friendica will use them instead of the previously configured variables for the db:
MYSQL_HOST
MYSQL_PORT
MYSQL_USERNAME
MYSQL_PASSWORD
MYSQL_DATABASE
2018-07-17 02:03:39 -04:00
## Config values that can only be set in config/local.ini.php
2018-06-27 23:07:38 -04:00
2016-10-24 11:57:25 -04:00
There are some config values that haven't found their way into the administration page.
This has several reasons.
Maybe they are part of a current development that isn't considered stable and will be added later in the administration page when it is considered safe.
2017-09-24 05:00:16 -04:00
Or it triggers something that isn't expected to be of public interest.
Or it is for testing purposes only.
2015-10-04 06:02:44 -04:00
2016-10-24 11:57:25 -04:00
**Attention:** Please be warned that you shouldn't use one of these values without the knowledge what it could trigger.
Especially don't do that with undocumented values.
2015-10-04 06:02:44 -04:00
2018-07-17 02:03:39 -04:00
These configurations keys and their default value are listed in `config/config.ini.php` and should be ovewritten in `config/local.ini.php` .
## Administrator Options
2015-10-07 03:38:47 -04:00
2016-10-24 11:57:25 -04:00
Enabling the admin panel for an account, and thus making the account holder admin of the node, is done by setting the variable
2015-10-07 03:38:47 -04:00
2018-06-27 23:07:38 -04:00
[config]
admin_email = someone@example.com
2015-10-07 03:38:47 -04:00
2018-06-27 23:07:38 -04:00
Where you have to match the email address used for the account with the one you enter to the config/local.ini.php file.
If more then one account should be able to access the admin panel, separate the email addresses with a comma.
2015-10-07 03:38:47 -04:00
2018-06-27 23:07:38 -04:00
[config]
admin_email = someone@example.com,someoneelse@example.com
2015-10-07 03:38:47 -04:00
2016-10-24 11:57:25 -04:00
If you want to have a more personalized closing line for the notification emails you can set a variable for the admin_name.
2015-10-07 03:38:47 -04:00
2018-06-27 23:07:38 -04:00
[config]
admin_name = Marvin