- Config values that can only be set in config/local.config.php
- ==========================================================
-
- * [Home](help)
-
- 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
-
- 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
-
- /*
- * Comment block
- */
-
- return [
- 'section1' => [
- // Comment line
- 'key' => 'value',
- ],
- 'section2' => [
- 'array' => ['value0', 'value1', 'value2'],
- ],
- ];
- ```
-
- ### Configuration location
-
- The `config` directory holds key configuration files:
-
- - `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].config.php` which is loaded when the addon is activated.
-
- #### 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.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 {
- 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.config.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' => 'database',
- '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', 'value2', '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->config['register_policy'] = REGISTER_CLOSED;
- </pre></td>
- <td><pre>
- 'config' => [
- 'register_policy' => \Friendica\Module\Register::CLOSED,
- ],
- </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>
- 'system' => [
- 'language' => 'value',
- ],
- </pre></td>
- </tr>
- </tbody>
- </table>
-
- #### Migrating from config/local.ini.php to config/local.config.php
-
- The legacy `config/local.ini.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 `config/addon.ini.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 `config/local.ini.php` file to check your node is working as expected before deleting it.
-
- <table class="config">
- <thead>
- <tr>
- <th>config/local.ini.php</th>
- <th>config/local.config.php</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><pre>
- [database]
- hostname = localhost
- username = mysqlusername
- password = mysqlpassword
- database = mysqldatabasename
- charset = utf8mb4
- </pre></td>
- <td><pre>
- 'database' => [
- 'hostname' => 'localhost',
- 'username' => 'mysqlusername',
- 'password' => 'mysqlpassword',
- 'database' => 'database',
- 'charset' => 'utf8mb4',
- ],
- </pre></td>
- </tr>
- <tr>
- <td><pre>
- [section]
- key = value
- </pre></td>
- <td><pre>
- 'section' => [
- 'key' => 'value',
- ],
- </pre></td>
- </tr>
- <tr>
- <td><pre>
- [config]
- register_policty = REGISTER_CLOSED
- </pre></td>
- <td><pre>
- 'config' => [
- 'register_policy' => \Friendica\Module\Register::CLOSED,
- ],
- </pre></td>
- </tr>
- <tr>
- <td><pre>
- [section]
- key[] = value1
- key[] = value2
- key[] = value3
- </pre></td>
- <td><pre>
- 'section' => [
- 'key' => ['value1', 'value2', 'value3'],
- ],
- </pre></td>
- </tr>
- </tbody>
- </table>
-
-
-
- ### Database Settings
-
- 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
-
- ## Config values that can only be set in config/local.config.php
-
- 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.
- Or it triggers something that isn't expected to be of public interest.
- Or it is for testing purposes only.
-
- **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.
-
- These configurations keys and their default value are listed in `config/defaults.config.php` and should be overwritten in `config/local.config.php`.
-
- ## Administrator Options
-
- Enabling the admin panel for an account, and thus making the account holder admin of the node, is done by setting the variable
-
- 'config' => [
- 'admin_email' => 'someone@example.com',
- ]
-
-
- Where you have to match the email address used for the account with the one you enter to the `config/local.config.php` file.
- If more then one account should be able to access the admin panel, separate the email addresses with a comma.
-
- 'config' => [
- 'admin_email' => 'someone@example.com,someoneelse@example.com',
- ]
-
- If you want to have a more personalized closing line for the notification emails you can set a variable for the `admin_name`.
-
- 'config' => [
- 'admin_name' => 'Marvin',
- ]
|