Config values that can only be set in config/local.ini.php ========================================================== * [Home](help) 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. ## 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. A typical configuration file looks like this: ```php 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% }
.htconfig.php config/local.ini.php
$db_host = 'localhost';
$db_user = 'mysqlusername';
$db_pass = 'mysqlpassword';
$db_data = 'mysqldatabasename';
$a->config["system"]["db_charset"] = 'utf8mb4';
[database]
hostname = localhost
username = mysqlusername
password = mysqlpassword
database = mysqldatabasename
charset = utf8mb4
$a->config["section"]["key"] = "value";
[section]
key = value
$a->config["section"]["key"] = array(
	"value1",
	"value2",
	"value3"
);
[section]
key[] = value1
key[] = value2
key[] = value3
$a->config["key"] = "value";
[config]
key = value
$a->path = "value";
[system]
urlpath = value
$default_timezone = "value";
[system]
default_timezone = value
$pidfile = "value";
[system]
pidfile = value
$lang = "value";
[system]
language = value
### 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.ini.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/config.ini.php` and should be ovewritten in `config/local.ini.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.ini.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