]> git.mxchange.org Git - friendica.git/blob - doc/Settings.md
Merge pull request #2315 from silke/documentation
[friendica.git] / doc / Settings.md
1 Settings
2 ===
3 Here are some of the built-in features which don't have an exposed interface or are otherwise undocumented.
4 Configuration settings are stored in the file ".htconfig.php".
5 Edit this file with a text editor to make the desired changes.
6 Several system settings are already documented in that file and will not be covered here. 
7
8 Hot Keys
9 ---
10
11 Friendica traps the following keyboard events:
12
13 * [Pause] - Pauses "Ajax" update activity. This is the process that provides updates without reloading the page. You may wish to pause it to reduce network usage and/or as a debugging aid for javascript developers. A pause indicator will appear at the lower right hand corner of the page. Hit the [pause] key once again to resume.
14 * [F8] - Displays a language selector
15
16
17 Birthday Notifications
18 ---
19
20 Birthday events are published on your Home page for any friends having a birthday in the coming 6 days.
21 In order for your birthday to be discoverable by all of your friends, you must set your birthday (at least the month and day) in your default profile.
22 You are not required to provide the year.
23
24 System settings
25 ---
26
27 **Settings should be done in the admin panel** (/admin).
28 Those settings found in the database, will always override the settings added to the ``.htconfig.php`` file.
29
30 ###Language
31
32 Please see util/README for information on creating language translations.
33
34 Config:
35
36         $a->config['system']['language'] = 'name';
37
38 ###System Theme
39
40 Choose a theme to be the default system theme. This can be over-ridden by user profiles.
41 Default theme is "default".
42
43 Config:
44
45         $a->config['system']['theme'] = 'theme-name';
46
47 ###Proxy Configuration Settings
48
49 If your site uses a proxy to connect to the internet, you may use these settings to communicate with the outside world.
50 The outside world still needs to be able to see your website, or this will not be very useful.
51
52 Config:
53
54         $a->config['system']['proxy'] = "http://proxyserver.domain:port";
55         $a->config['system']['proxyuser'] = "username:password";
56
57 ###Network Timeout
58
59 How long to wait on a network communication before timing out.
60 Value is in seconds.
61 Default is 60 seconds.
62 Set to 0 for unlimited (not recommended).
63
64 Config:
65
66         $a->config['system']['curl_timeout'] = 60;
67
68 ###Banner/Logo
69
70 Set the content for the site banner.
71 The default logo is the Friendica logo and name.
72 You may wish to provide HTML/CSS to style and/or position this content, as it may not be themed by default. 
73
74 Config:
75
76         $a->config['system']['banner'] = '<span id="logo-text">My Great Website</span>';
77
78 ###Maximum Image Size
79
80 Maximum size in bytes of uploaded images.
81 The default is set to 0, which means no limits.
82
83 Config:
84
85         $a->config['system']['maximagesize'] = 1000000;
86
87 ###UTF-8 Regular Expressions
88
89 During registrations, full names are checked using UTF-8 regular expressions.
90 This requires PHP to have been compiled with a special setting to allow UTF-8 expressions.
91 If you are completely unable to register accounts, set no_utf to true.
92 The default is set to false (meaning UTF8 regular expressions are supported and working).
93  
94 Config:
95
96         $a->config['system']['no_utf'] = true;
97
98 ###Check Full Names
99
100 You may find a lot of spammers trying to register on your site.
101 During testing we discovered that since these registrations were automatic, the "Full Name" field was often set to just an account name with no space between first and last name.
102 If you would like to support people with only one name as their full name, you may change this setting to true.
103 Default is false.
104  
105 Config:
106
107         $a->config['system']['no_regfullname'] = true;
108
109 ###OpenID
110
111 By default, OpenID may be used for both registration and logins.
112 If you do not wish to make OpenID facilities available on your system (at all), set 'no_openid' to true.
113 Default is false.
114
115 Config:
116
117         $a->config['system']['no_openid'] = true;
118
119 ###Multiple Registrations
120
121 The ability to create "Pages" requires a person to register more than once.
122 Your site configuration can block registration (or require approval to register).
123 By default, logged in users can register additional accounts for use as pages.
124 These will still require approval if REGISTER_APPROVE is selected.
125 You may prohibit logged in users from creating additional accounts by setting 'block_extended_register' to true.
126 Default is false.
127  
128 Config:
129
130         $a->config['system']['block_extended_register'] = true;
131
132 Security settings
133 ---
134
135 ###Verify SSL Certitificates
136
137 By default Friendica allows SSL communication between websites that have "self-signed" SSL certificates.
138 For the widest compatibility with browsers and other networks we do not recommend using self-signed certificates, but we will not prevent you from using them.
139 SSL encrypts all the data transmitted between sites (and to your browser). This allows you to have completely encrypted communications, and also protect your login session from hijacking.
140 Self-signed certificates can be generated for free, without paying top-dollar for a website SSL certificate. 
141 However these aren't looked upon favourably in the security community because they can be subject to so-called "man-in-the-middle" attacks.
142 If you wish, you can turn on strict certificate checking.
143 This will mean you cannot connect (at all) to self-signed SSL sites.
144
145 Config:
146
147         $a->config['system']['verifyssl'] = true;
148
149 Corporate/Edu enhancements
150 ---
151
152 ###Allowed Friend Domains
153
154 Comma separated list of domains which are allowed to establish friendships with this site.
155 Wildcards are accepted.
156 (Wildcard support on Windows platforms requires PHP5.3).
157 By default, any (valid) domain may establish friendships with this site.
158
159 Config:
160
161         $a->config['system']['allowed_sites'] = "sitea.com, *siteb.com";
162
163 ###Allowed Email Domains
164
165 Comma separated list of domains which are allowed in email addresses for registrations to this site.
166 This can lockout those who are not part of this organisation from registering here.
167 Wildcards are accepted.
168 (Wildcard support on Windows platforms requires PHP5.3).
169 By default, any (valid) email address is allowed in registrations.  
170
171 Config:
172
173         $a->config['system']['allowed_email'] = "sitea.com, *siteb.com";
174
175 ###Block Public
176
177 Set to true to block public access to all otherwise public personal pages on this site unless you are currently logged in.
178 This blocks the viewing of profiles, friends, photos, the site directory and search pages to unauthorised persons.
179 A side effect is that entries from this site will not appear in the global directory.
180 We recommend specifically disabling that also (setting is described elsewhere on this page).
181 Note: this is specifically for sites that desire to be "standalone" and do not wish to be connected to any other Friendica sites.
182 Unauthorised persons will also not be able to request friendship with site members.
183 Default is false.
184 Available in version 2.2 or greater.
185  
186 Config:
187
188         $a->config['system']['block_public'] = true;
189
190 ###Force Publish
191
192 By default, each user can choose on their Settings page whether or not to have their profile published in the site directory.
193 This setting forces all profiles on this site to be listed in the site directory and there is no option provided to the user to change it.
194 Default is false.
195  
196 Config:
197
198         $a->config['system']['publish_all'] = true;
199
200 ###Global Directory
201
202 This configures the URL to update the global directory, and is supplied in the default configuration.
203 The undocumented part is that if this is not set, the global directory is completely unavailable to the application.
204 This allows a private community to be completely isolated from the global network. 
205
206         $a->config['system']['directory'] = 'http://dir.friendi.ca';
207
208 Developer Settings
209 ---
210
211 ### Debugging
212 Most useful when debugging protocol exchanges and tracking down other communications issues. 
213
214 Config:
215
216         $a->config['system']['debugging'] = true;
217         $a->config['system']['logfile'] = 'logfile.out';
218         $a->config['system']['loglevel'] = LOGGER_DEBUG;
219
220 Turns on detailed debugging logs which will be stored in 'logfile.out' (which must be writeable by the webserver).
221 LOGGER_DEBUG will show a good deal of information about system activity but will not include detailed data.
222 You may also select LOGGER_ALL but due to the volume of information we recommend only enabling this when you are tracking down a specific problem.
223 Other log levels are possible but are not being used at the present time. 
224
225 Please be aware that turning on the logging can fill up the disk space on your server relatively quick.
226 You should take preventions with e.g. [logrotate](https://en.wikipedia.org/wiki/Log_rotation) or similar tools.
227
228 ###PHP error logging
229
230 Use the following settings to redirect PHP errors to a file. 
231
232 Config:
233
234         error_reporting(E_ERROR | E_WARNING | E_PARSE );
235         ini_set('error_log','php.out');
236         ini_set('log_errors','1');
237         ini_set('display_errors', '0');
238
239 This will put all PHP errors in the file php.out (which must be writeable by the webserver).
240 Undeclared variables are occasionally referenced in the program and therefore we do not recommend using E_NOTICE or E_ALL.
241 The vast majority of issues reported at these levels are completely harmless.
242 Please report to the developers any errors you encounter in the logs using the recommended settings above.
243 They generally indicate issues which need to be resolved. 
244
245 If you encounter a blank (white) page when using the application, view the PHP logs - as this almost always indicates an error has occurred.
246
247 *Note*: PHP logging cannot be activated from the admin panel but has to be configured from the ``.htconfig.php`` file.