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