| 1 |
Configuration options |
| 2 |
===================== |
| 3 |
|
| 4 |
The main configuration file for StatusNet (excepting configurations for |
| 5 |
dependency software) is config.php in your StatusNet directory. If you |
| 6 |
edit any other file in the directory, like lib/default.php (where most |
| 7 |
of the defaults are defined), you will lose your configuration options |
| 8 |
in any upgrade, and you will wish that you had been more careful. |
| 9 |
|
| 10 |
Starting with version 0.9.0, a Web based configuration panel has been |
| 11 |
added to StatusNet. The preferred method for changing config options is |
| 12 |
to use this panel. |
| 13 |
|
| 14 |
A command-line script, setconfig.php, can be used to set individual |
| 15 |
configuration options. It's in the scripts/ directory. |
| 16 |
|
| 17 |
Starting with version 0.7.1, you can put config files in the |
| 18 |
/etc/statusnet/ directory on your server, if it exists. Config files |
| 19 |
will be included in this order: |
| 20 |
|
| 21 |
* /etc/statusnet/statusnet.php - server-wide config |
| 22 |
* /etc/statusnet/<servername>.php - for a virtual host |
| 23 |
* /etc/statusnet/<servername>_<pathname>.php - for a path |
| 24 |
* INSTALLDIR/config.php - for a particular implementation |
| 25 |
|
| 26 |
Almost all configuration options are made through a two-dimensional |
| 27 |
associative array, cleverly named $config. A typical configuration |
| 28 |
line will be: |
| 29 |
|
| 30 |
$config['section']['option'] = value; |
| 31 |
|
| 32 |
For brevity, the following documentation describes each section and |
| 33 |
option. |
| 34 |
|
| 35 |
site |
| 36 |
---- |
| 37 |
|
| 38 |
This section is a catch-all for site-wide variables. |
| 39 |
|
| 40 |
name: the name of your site, like 'YourCompany Microblog'. |
| 41 |
server: the server part of your site's URLs, like 'example.net'. |
| 42 |
path: The path part of your site's URLs, like 'statusnet' or '' |
| 43 |
(installed in root). |
| 44 |
fancy: whether or not your site uses fancy URLs (see Fancy URLs |
| 45 |
section above). Default is false. |
| 46 |
logfile: full path to a file for StatusNet to save logging |
| 47 |
information to. You may want to use this if you don't have |
| 48 |
access to syslog. |
| 49 |
logdebug: whether to log additional debug info like backtraces on |
| 50 |
hard errors. Default false. |
| 51 |
locale_path: full path to the directory for locale data. Unless you |
| 52 |
store all your locale data in one place, you probably |
| 53 |
don't need to use this. |
| 54 |
language: default language for your site. Defaults to US English. |
| 55 |
Note that this is overridden if a user is logged in and has |
| 56 |
selected a different language. It is also overridden if the |
| 57 |
user is NOT logged in, but their browser requests a different |
| 58 |
langauge. Since pretty much everybody's browser requests a |
| 59 |
language, that means that changing this setting has little or |
| 60 |
no effect in practice. |
| 61 |
languages: A list of languages supported on your site. Typically you'd |
| 62 |
only change this if you wanted to disable support for one |
| 63 |
or another language: |
| 64 |
"unset($config['site']['languages']['de'])" will disable |
| 65 |
support for German. |
| 66 |
theme: Theme for your site (see Theme section). Two themes are |
| 67 |
provided by default: 'default' and 'stoica' (the one used by |
| 68 |
Identi.ca). It's appreciated if you don't use the 'stoica' theme |
| 69 |
except as the basis for your own. |
| 70 |
email: contact email address for your site. By default, it's extracted |
| 71 |
from your Web server environment; you may want to customize it. |
| 72 |
broughtbyurl: name of an organization or individual who provides the |
| 73 |
service. Each page will include a link to this name in the |
| 74 |
footer. A good way to link to the blog, forum, wiki, |
| 75 |
corporate portal, or whoever is making the service available. |
| 76 |
broughtby: text used for the "brought by" link. |
| 77 |
timezone: default timezone for message display. Users can set their |
| 78 |
own time zone. Defaults to 'UTC', which is a pretty good default. |
| 79 |
closed: If set to 'true', will disallow registration on your site. |
| 80 |
This is a cheap way to restrict accounts to only one |
| 81 |
individual or group; just register the accounts you want on |
| 82 |
the service, *then* set this variable to 'true'. |
| 83 |
inviteonly: If set to 'true', will only allow registration if the user |
| 84 |
was invited by an existing user. |
| 85 |
private: If set to 'true', anonymous users will be redirected to the |
| 86 |
'login' page. Also, API methods that normally require no |
| 87 |
authentication will require it. Note that this does not turn |
| 88 |
off registration; use 'closed' or 'inviteonly' for the |
| 89 |
behaviour you want. |
| 90 |
notice: A plain string that will appear on every page. A good place |
| 91 |
to put introductory information about your service, or info about |
| 92 |
upgrades and outages, or other community info. Any HTML will |
| 93 |
be escaped. |
| 94 |
logo: URL of an image file to use as the logo for the site. Overrides |
| 95 |
the logo in the theme, if any. |
| 96 |
ssllogo: URL of an image file to use as the logo on SSL pages. If unset, |
| 97 |
theme logo is used instead. |
| 98 |
ssl: Whether to use SSL and https:// URLs for some or all pages. |
| 99 |
Possible values are 'always' (use it for all pages), 'never' |
| 100 |
(don't use it for any pages), or 'sometimes' (use it for |
| 101 |
sensitive pages that include passwords like login and registration, |
| 102 |
but not for regular pages). Default to 'never'. |
| 103 |
sslserver: use an alternate server name for SSL URLs, like |
| 104 |
'secure.example.org'. You should be careful to set cookie |
| 105 |
parameters correctly so that both the SSL server and the |
| 106 |
"normal" server can access the session cookie and |
| 107 |
preferably other cookies as well. |
| 108 |
shorturllength: ignored. See 'url' section below. |
| 109 |
dupelimit: minimum time allowed for one person to say the same thing |
| 110 |
twice. Default 60s. Anything lower is considered a user |
| 111 |
or UI error. |
| 112 |
textlimit: default max size for texts in the site. Defaults to 0 (no limit). |
| 113 |
Can be fine-tuned for notices, messages, profile bios and group descriptions. |
| 114 |
|
| 115 |
db |
| 116 |
-- |
| 117 |
|
| 118 |
This section is a reference to the configuration options for |
| 119 |
DB_DataObject (see <http://ur1.ca/7xp>). The ones that you may want to |
| 120 |
set are listed below for clarity. |
| 121 |
|
| 122 |
database: a DSN (Data Source Name) for your StatusNet database. This is |
| 123 |
in the format 'protocol://username:password@hostname/databasename', |
| 124 |
where 'protocol' is 'mysql' or 'mysqli' (or possibly 'postgresql', if you |
| 125 |
really know what you're doing), 'username' is the username, |
| 126 |
'password' is the password, and etc. |
| 127 |
ini_yourdbname: if your database is not named 'statusnet', you'll need |
| 128 |
to set this to point to the location of the |
| 129 |
statusnet.ini file. Note that the real name of your database |
| 130 |
should go in there, not literally 'yourdbname'. |
| 131 |
db_driver: You can try changing this to 'MDB2' to use the other driver |
| 132 |
type for DB_DataObject, but note that it breaks the OpenID |
| 133 |
libraries, which only support PEAR::DB. |
| 134 |
debug: On a database error, you may get a message saying to set this |
| 135 |
value to 5 to see debug messages in the browser. This breaks |
| 136 |
just about all pages, and will also expose the username and |
| 137 |
password |
| 138 |
quote_identifiers: Set this to true if you're using postgresql. |
| 139 |
type: either 'mysql' or 'postgresql' (used for some bits of |
| 140 |
database-type-specific SQL in the code). Defaults to mysql. |
| 141 |
mirror: you can set this to an array of DSNs, like the above |
| 142 |
'database' value. If it's set, certain read-only actions will |
| 143 |
use a random value out of this array for the database, rather |
| 144 |
than the one in 'database' (actually, 'database' is overwritten). |
| 145 |
You can offload a busy DB server by setting up MySQL replication |
| 146 |
and adding the slaves to this array. Note that if you want some |
| 147 |
requests to go to the 'database' (master) server, you'll need |
| 148 |
to include it in this array, too. |
| 149 |
utf8: whether to talk to the database in UTF-8 mode. This is the default |
| 150 |
with new installations, but older sites may want to turn it off |
| 151 |
until they get their databases fixed up. See "UTF-8 database" |
| 152 |
above for details. |
| 153 |
schemacheck: when to let plugins check the database schema to add |
| 154 |
tables or update them. Values can be 'runtime' (default) |
| 155 |
or 'script'. 'runtime' can be costly (plugins check the |
| 156 |
schema on every hit, adding potentially several db |
| 157 |
queries, some quite long), but not everyone knows how to |
| 158 |
run a script. If you can, set this to 'script' and run |
| 159 |
scripts/checkschema.php whenever you install or upgrade a |
| 160 |
plugin. |
| 161 |
|
| 162 |
syslog |
| 163 |
------ |
| 164 |
|
| 165 |
By default, StatusNet sites log error messages to the syslog facility. |
| 166 |
(You can override this using the 'logfile' parameter described above). |
| 167 |
|
| 168 |
appname: The name that StatusNet uses to log messages. By default it's |
| 169 |
"statusnet", but if you have more than one installation on the |
| 170 |
server, you may want to change the name for each instance so |
| 171 |
you can track log messages more easily. |
| 172 |
priority: level to log at. Currently ignored. |
| 173 |
facility: what syslog facility to used. Defaults to LOG_USER, only |
| 174 |
reset if you know what syslog is and have a good reason |
| 175 |
to change it. |
| 176 |
|
| 177 |
queue |
| 178 |
----- |
| 179 |
|
| 180 |
You can configure the software to queue time-consuming tasks, like |
| 181 |
sending out SMS email or XMPP messages, for off-line processing. See |
| 182 |
'Queues and daemons' above for how to set this up. |
| 183 |
|
| 184 |
enabled: Whether to uses queues. Defaults to false. |
| 185 |
subsystem: Which kind of queueserver to use. Values include "db" for |
| 186 |
our hacked-together database queuing (no other server |
| 187 |
required) and "stomp" for a stomp server. |
| 188 |
stomp_server: "broker URI" for stomp server. Something like |
| 189 |
"tcp://hostname:61613". More complicated ones are |
| 190 |
possible; see your stomp server's documentation for |
| 191 |
details. |
| 192 |
queue_basename: a root name to use for queues (stomp only). Typically |
| 193 |
something like '/queue/sitename/' makes sense. If running |
| 194 |
multiple instances on the same server, make sure that |
| 195 |
either this setting or $config['site']['nickname'] are |
| 196 |
unique for each site to keep them separate. |
| 197 |
|
| 198 |
stomp_username: username for connecting to the stomp server; defaults |
| 199 |
to null. |
| 200 |
stomp_password: password for connecting to the stomp server; defaults |
| 201 |
to null. |
| 202 |
|
| 203 |
stomp_persistent: keep items across queue server restart, if enabled. |
| 204 |
Under ActiveMQ, the server configuration determines if and how |
| 205 |
persistent storage is actually saved. |
| 206 |
|
| 207 |
If using a message queue server other than ActiveMQ, you may |
| 208 |
need to disable this if it does not support persistence. |
| 209 |
|
| 210 |
stomp_transactions: use transactions to aid in error detection. |
| 211 |
A broken transaction will be seen quickly, allowing a message |
| 212 |
to be redelivered immediately if a daemon crashes. |
| 213 |
|
| 214 |
If using a message queue server other than ActiveMQ, you may |
| 215 |
need to disable this if it does not support transactions. |
| 216 |
|
| 217 |
stomp_acks: send acknowledgements to aid in flow control. |
| 218 |
An acknowledgement of successful processing tells the server |
| 219 |
we're ready for more and can help keep things moving smoothly. |
| 220 |
|
| 221 |
This should *not* be turned off when running with ActiveMQ, but |
| 222 |
if using another message queue server that does not support |
| 223 |
acknowledgements you might need to disable this. |
| 224 |
|
| 225 |
softlimit: an absolute or relative "soft memory limit"; daemons will |
| 226 |
restart themselves gracefully when they find they've hit |
| 227 |
this amount of memory usage. Defaults to 90% of PHP's global |
| 228 |
memory_limit setting. |
| 229 |
|
| 230 |
inboxes: delivery of messages to receiver's inboxes can be delayed to |
| 231 |
queue time for best interactive performance on the sender. |
| 232 |
This may however be annoyingly slow when using the DB queues, |
| 233 |
so you can set this to false if it's causing trouble. |
| 234 |
|
| 235 |
breakout: for stomp, individual queues are by default grouped up for |
| 236 |
best scalability. If some need to be run by separate daemons, |
| 237 |
etc they can be manually adjusted here. |
| 238 |
|
| 239 |
Default will share all queues for all sites within each group. |
| 240 |
Specify as <group>/<queue> or <group>/<queue>/<site>, |
| 241 |
using nickname identifier as site. |
| 242 |
|
| 243 |
'main/distrib' separate "distrib" queue covering all sites |
| 244 |
'xmpp/xmppout/mysite' separate "xmppout" queue covering just 'mysite' |
| 245 |
|
| 246 |
max_retries: for stomp, drop messages after N failed attempts to process. |
| 247 |
Defaults to 10. |
| 248 |
|
| 249 |
dead_letter_dir: for stomp, optional directory to dump data on failed |
| 250 |
queue processing events after discarding them. |
| 251 |
|
| 252 |
stomp_no_transactions: for stomp, the server does not support transactions, |
| 253 |
so do not try to user them. This is needed for http://www.morbidq.com/. |
| 254 |
|
| 255 |
stomp_no_acks: for stomp, the server does not support acknowledgements. |
| 256 |
so do not try to user them. This is needed for http://www.morbidq.com/. |
| 257 |
|
| 258 |
license |
| 259 |
------- |
| 260 |
|
| 261 |
The default license to use for your users notices. The default is the |
| 262 |
Creative Commons Attribution 3.0 license, which is probably the right |
| 263 |
choice for any public site. Note that some other servers will not |
| 264 |
accept notices if you apply a stricter license than this. |
| 265 |
|
| 266 |
type: one of 'cc' (for Creative Commons licenses), 'allrightsreserved' |
| 267 |
(default copyright), or 'private' (for private and confidential |
| 268 |
information). |
| 269 |
owner: for 'allrightsreserved' or 'private', an assigned copyright |
| 270 |
holder (for example, an employer for a private site). If |
| 271 |
not specified, will be attributed to 'contributors'. |
| 272 |
url: URL of the license, used for links. |
| 273 |
title: Title for the license, like 'Creative Commons Attribution 3.0'. |
| 274 |
image: A button shown on each page for the license. |
| 275 |
|
| 276 |
mail |
| 277 |
---- |
| 278 |
|
| 279 |
This is for configuring out-going email. We use PEAR's Mail module, |
| 280 |
see: http://pear.php.net/manual/en/package.mail.mail.factory.php |
| 281 |
|
| 282 |
backend: the backend to use for mail, one of 'mail', 'sendmail', and |
| 283 |
'smtp'. Defaults to PEAR's default, 'mail'. |
| 284 |
params: if the mail backend requires any parameters, you can provide |
| 285 |
them in an associative array. |
| 286 |
|
| 287 |
nickname |
| 288 |
-------- |
| 289 |
|
| 290 |
This is for configuring nicknames in the service. |
| 291 |
|
| 292 |
blacklist: an array of strings for usernames that may not be |
| 293 |
registered. A default array exists for strings that are |
| 294 |
used by StatusNet (e.g. 'doc', 'main', 'avatar', 'theme') |
| 295 |
but you may want to add others if you have other software |
| 296 |
installed in a subdirectory of StatusNet or if you just |
| 297 |
don't want certain words used as usernames. |
| 298 |
featured: an array of nicknames of 'featured' users of the site. |
| 299 |
Can be useful to draw attention to well-known users, or |
| 300 |
interesting people, or whatever. |
| 301 |
|
| 302 |
avatar |
| 303 |
------ |
| 304 |
|
| 305 |
For configuring avatar access. |
| 306 |
|
| 307 |
dir: Directory to look for avatar files and to put them into. |
| 308 |
Defaults to avatar subdirectory of install directory; if |
| 309 |
you change it, make sure to change path, too. |
| 310 |
path: Path to avatars. Defaults to path for avatar subdirectory, |
| 311 |
but you can change it if you wish. Note that this will |
| 312 |
be included with the avatar server, too. |
| 313 |
server: If set, defines another server where avatars are stored in the |
| 314 |
root directory. Note that the 'avatar' subdir still has to be |
| 315 |
writeable. You'd typically use this to split HTTP requests on |
| 316 |
the client to speed up page loading, either with another |
| 317 |
virtual server or with an NFS or SAMBA share. Clients |
| 318 |
typically only make 2 connections to a single server at a |
| 319 |
time <http://ur1.ca/6ih>, so this can parallelize the job. |
| 320 |
Defaults to null. |
| 321 |
ssl: Whether to access avatars using HTTPS. Defaults to null, meaning |
| 322 |
to guess based on site-wide SSL settings. |
| 323 |
|
| 324 |
public |
| 325 |
------ |
| 326 |
|
| 327 |
For configuring the public stream. |
| 328 |
|
| 329 |
localonly: If set to true, only messages posted by users of this |
| 330 |
service (rather than other services, filtered through OStatus) |
| 331 |
are shown in the public stream. Default true. |
| 332 |
blacklist: An array of IDs of users to hide from the public stream. |
| 333 |
Useful if you have someone making excessive Twitterfeed posts |
| 334 |
to the site, other kinds of automated posts, testing bots, etc. |
| 335 |
autosource: Sources of notices that are from automatic posters, and thus |
| 336 |
should be kept off the public timeline. Default empty. |
| 337 |
|
| 338 |
theme |
| 339 |
----- |
| 340 |
|
| 341 |
server: Like avatars, you can speed up page loading by pointing the |
| 342 |
theme file lookup to another server (virtual or real). |
| 343 |
Defaults to NULL, meaning to use the site server. |
| 344 |
dir: Directory where theme files are stored. Used to determine |
| 345 |
whether to show parts of a theme file. Defaults to the theme |
| 346 |
subdirectory of the install directory. |
| 347 |
path: Path part of theme URLs, before the theme name. Relative to the |
| 348 |
theme server. It may make sense to change this path when upgrading, |
| 349 |
(using version numbers as the path) to make sure that all files are |
| 350 |
reloaded by caching clients or proxies. Defaults to null, |
| 351 |
which means to use the site path + '/theme'. |
| 352 |
ssl: Whether to use SSL for theme elements. Default is null, which means |
| 353 |
guess based on site SSL settings. |
| 354 |
sslserver: SSL server to use when page is HTTPS-encrypted. If |
| 355 |
unspecified, site ssl server and so on will be used. |
| 356 |
sslpath: If sslserver if defined, path to use when page is HTTPS-encrypted. |
| 357 |
|
| 358 |
javascript |
| 359 |
---------- |
| 360 |
|
| 361 |
server: You can speed up page loading by pointing the |
| 362 |
theme file lookup to another server (virtual or real). |
| 363 |
Defaults to NULL, meaning to use the site server. |
| 364 |
path: Path part of Javascript URLs. Defaults to null, |
| 365 |
which means to use the site path + '/js/'. |
| 366 |
ssl: Whether to use SSL for JavaScript files. Default is null, which means |
| 367 |
guess based on site SSL settings. |
| 368 |
sslserver: SSL server to use when page is HTTPS-encrypted. If |
| 369 |
unspecified, site ssl server and so on will be used. |
| 370 |
sslpath: If sslserver if defined, path to use when page is HTTPS-encrypted. |
| 371 |
bustframes: If true, all web pages will break out of framesets. If false, |
| 372 |
can comfortably live in a frame or iframe... probably. Default |
| 373 |
to true. |
| 374 |
|
| 375 |
xmpp |
| 376 |
---- |
| 377 |
|
| 378 |
For configuring the XMPP sub-system. |
| 379 |
|
| 380 |
enabled: Whether to accept and send messages by XMPP. Default false. |
| 381 |
server: server part of XMPP ID for update user. |
| 382 |
port: connection port for clients. Default 5222, which you probably |
| 383 |
shouldn't need to change. |
| 384 |
user: username for the client connection. Users will receive messages |
| 385 |
from 'user'@'server'. |
| 386 |
resource: a unique identifier for the connection to the server. This |
| 387 |
is actually used as a prefix for each XMPP component in the system. |
| 388 |
password: password for the user account. |
| 389 |
host: some XMPP domains are served by machines with a different |
| 390 |
hostname. (For example, @gmail.com GTalk users connect to |
| 391 |
talk.google.com). Set this to the correct hostname if that's the |
| 392 |
case with your server. |
| 393 |
encryption: Whether to encrypt the connection between StatusNet and the |
| 394 |
XMPP server. Defaults to true, but you can get |
| 395 |
considerably better performance turning it off if you're |
| 396 |
connecting to a server on the same machine or on a |
| 397 |
protected network. |
| 398 |
debug: if turned on, this will make the XMPP library blurt out all of |
| 399 |
the incoming and outgoing messages as XML stanzas. Use as a |
| 400 |
last resort, and never turn it on if you don't have queues |
| 401 |
enabled, since it will spit out sensitive data to the browser. |
| 402 |
public: an array of JIDs to send _all_ notices to. This is useful for |
| 403 |
participating in third-party search and archiving services. |
| 404 |
|
| 405 |
invite |
| 406 |
------ |
| 407 |
|
| 408 |
For configuring invites. |
| 409 |
|
| 410 |
enabled: Whether to allow users to send invites. Default true. |
| 411 |
|
| 412 |
tag |
| 413 |
--- |
| 414 |
|
| 415 |
Miscellaneous tagging stuff. |
| 416 |
|
| 417 |
dropoff: Decay factor for tag listing, in seconds. |
| 418 |
Defaults to exponential decay over ten days; you can twiddle |
| 419 |
with it to try and get better results for your site. |
| 420 |
|
| 421 |
popular |
| 422 |
------- |
| 423 |
|
| 424 |
Settings for the "popular" section of the site. |
| 425 |
|
| 426 |
dropoff: Decay factor for popularity listing, in seconds. |
| 427 |
Defaults to exponential decay over ten days; you can twiddle |
| 428 |
with it to try and get better results for your site. |
| 429 |
|
| 430 |
daemon |
| 431 |
------ |
| 432 |
|
| 433 |
For daemon processes. |
| 434 |
|
| 435 |
piddir: directory that daemon processes should write their PID file |
| 436 |
(process ID) to. Defaults to /var/run/, which is where this |
| 437 |
stuff should usually go on Unix-ish systems. |
| 438 |
user: If set, the daemons will try to change their effective user ID |
| 439 |
to this user before running. Probably a good idea, especially if |
| 440 |
you start the daemons as root. Note: user name, like 'daemon', |
| 441 |
not 1001. |
| 442 |
group: If set, the daemons will try to change their effective group ID |
| 443 |
to this named group. Again, a name, not a numerical ID. |
| 444 |
|
| 445 |
memcached |
| 446 |
--------- |
| 447 |
|
| 448 |
You can get a significant boost in performance by caching some |
| 449 |
database data in memcached <http://www.danga.com/memcached/>. |
| 450 |
|
| 451 |
enabled: Set to true to enable. Default false. |
| 452 |
server: a string with the hostname of the memcached server. Can also |
| 453 |
be an array of hostnames, if you've got more than one server. |
| 454 |
base: memcached uses key-value pairs to store data. We build long, |
| 455 |
funny-looking keys to make sure we don't have any conflicts. The |
| 456 |
base of the key is usually a simplified version of the site name |
| 457 |
(like "Identi.ca" => "identica"), but you can overwrite this if |
| 458 |
you need to. You can safely ignore it if you only have one |
| 459 |
StatusNet site using your memcached server. |
| 460 |
port: Port to connect to; defaults to 11211. |
| 461 |
|
| 462 |
emailpost |
| 463 |
--------- |
| 464 |
|
| 465 |
For post-by-email. |
| 466 |
|
| 467 |
enabled: Whether to enable post-by-email. Defaults to true. You will |
| 468 |
also need to set up maildaemon.php. |
| 469 |
|
| 470 |
sms |
| 471 |
--- |
| 472 |
|
| 473 |
For SMS integration. |
| 474 |
|
| 475 |
enabled: Whether to enable SMS integration. Defaults to true. Queues |
| 476 |
should also be enabled. |
| 477 |
|
| 478 |
integration |
| 479 |
----------- |
| 480 |
|
| 481 |
A catch-all for integration with other systems. |
| 482 |
|
| 483 |
taguri: base for tag:// URIs. Defaults to site-server + ',2009'. |
| 484 |
|
| 485 |
inboxes |
| 486 |
------- |
| 487 |
|
| 488 |
For notice inboxes. |
| 489 |
|
| 490 |
enabled: No longer used. If you set this to something other than true, |
| 491 |
StatusNet will no longer run. |
| 492 |
|
| 493 |
throttle |
| 494 |
-------- |
| 495 |
|
| 496 |
For notice-posting throttles. |
| 497 |
|
| 498 |
enabled: Whether to throttle posting. Defaults to false. |
| 499 |
count: Each user can make this many posts in 'timespan' seconds. So, if count |
| 500 |
is 100 and timespan is 3600, then there can be only 100 posts |
| 501 |
from a user every hour. |
| 502 |
timespan: see 'count'. |
| 503 |
|
| 504 |
profile |
| 505 |
------- |
| 506 |
|
| 507 |
Profile management. |
| 508 |
|
| 509 |
biolimit: max character length of bio; 0 means no limit; null means to use |
| 510 |
the site text limit default. |
| 511 |
backup: whether users can backup their own profiles. Defaults to true. |
| 512 |
restore: whether users can restore their profiles from backup files. Defaults |
| 513 |
to true. |
| 514 |
delete: whether users can delete their own accounts. Defaults to false. |
| 515 |
move: whether users can move their accounts to another server. Defaults |
| 516 |
to true. |
| 517 |
|
| 518 |
newuser |
| 519 |
------- |
| 520 |
|
| 521 |
Options with new users. |
| 522 |
|
| 523 |
default: nickname of a user account to automatically subscribe new |
| 524 |
users to. Typically this would be system account for e.g. |
| 525 |
service updates or announcements. Users are able to unsub |
| 526 |
if they want. Default is null; no auto subscribe. |
| 527 |
welcome: nickname of a user account that sends welcome messages to new |
| 528 |
users. Can be the same as 'default' account, although on |
| 529 |
busy servers it may be a good idea to keep that one just for |
| 530 |
'urgent' messages. Default is null; no message. |
| 531 |
|
| 532 |
If either of these special user accounts are specified, the users should |
| 533 |
be created before the configuration is updated. |
| 534 |
|
| 535 |
snapshot |
| 536 |
-------- |
| 537 |
|
| 538 |
The software will, by default, send statistical snapshots about the |
| 539 |
local installation to a stats server on the status.net Web site. This |
| 540 |
data is used by the developers to prioritize development decisions. No |
| 541 |
identifying data about users or organizations is collected. The data |
| 542 |
is available to the public for review. Participating in this survey |
| 543 |
helps StatusNet developers take your needs into account when updating |
| 544 |
the software. |
| 545 |
|
| 546 |
run: string indicating when to run the statistics. Values can be 'web' |
| 547 |
(run occasionally at Web time), 'cron' (run from a cron script), |
| 548 |
or 'never' (don't ever run). If you set it to 'cron', remember to |
| 549 |
schedule the script to run on a regular basis. |
| 550 |
frequency: if run value is 'web', how often to report statistics. |
| 551 |
Measured in Web hits; depends on how active your site is. |
| 552 |
Default is 10000 -- that is, one report every 10000 Web hits, |
| 553 |
on average. |
| 554 |
reporturl: URL to post statistics to. Defaults to StatusNet developers' |
| 555 |
report system, but if they go evil or disappear you may |
| 556 |
need to update this to another value. Note: if you |
| 557 |
don't want to report stats, it's much better to |
| 558 |
set 'run' to 'never' than to set this value to something |
| 559 |
nonsensical. |
| 560 |
|
| 561 |
attachments |
| 562 |
----------- |
| 563 |
|
| 564 |
The software lets users upload files with their notices. You can configure |
| 565 |
the types of accepted files by mime types and a trio of quota options: |
| 566 |
per file, per user (total), per user per month. |
| 567 |
|
| 568 |
We suggest the use of the pecl file_info extension to handle mime type |
| 569 |
detection. |
| 570 |
|
| 571 |
supported: an array of mime types you accept to store and distribute, |
| 572 |
like 'image/gif', 'video/mpeg', 'audio/mpeg', etc. Make sure you |
| 573 |
setup your server to properly recognize the types you want to |
| 574 |
support. |
| 575 |
uploads: false to disable uploading files with notices (true by default). |
| 576 |
filecommand: The required MIME_Type library may need to use the 'file' |
| 577 |
command. It tries the one in the Web server's path, but if |
| 578 |
you're having problems with uploads, try setting this to the |
| 579 |
correct value. Note: 'file' must accept '-b' and '-i' options. |
| 580 |
|
| 581 |
For quotas, be sure you've set the upload_max_filesize and post_max_size |
| 582 |
in php.ini to be large enough to handle your upload. In httpd.conf |
| 583 |
(if you're using apache), check that the LimitRequestBody directive isn't |
| 584 |
set too low (it's optional, so it may not be there at all). |
| 585 |
|
| 586 |
file_quota: maximum size for a single file upload in bytes. A user can send |
| 587 |
any amount of notices with attachments as long as each attachment |
| 588 |
is smaller than file_quota. |
| 589 |
user_quota: total size in bytes a user can store on this server. Each user |
| 590 |
can store any number of files as long as their total size does |
| 591 |
not exceed the user_quota. |
| 592 |
monthly_quota: total size permitted in the current month. This is the total |
| 593 |
size in bytes that a user can upload each month. |
| 594 |
dir: directory accessible to the Web process where uploads should go. |
| 595 |
Defaults to the 'file' subdirectory of the install directory, which |
| 596 |
should be writeable by the Web user. |
| 597 |
server: server name to use when creating URLs for uploaded files. |
| 598 |
Defaults to null, meaning to use the default Web server. Using |
| 599 |
a virtual server here can speed up Web performance. |
| 600 |
path: URL path, relative to the server, to find files. Defaults to |
| 601 |
main path + '/file/'. |
| 602 |
ssl: whether to use HTTPS for file URLs. Defaults to null, meaning to |
| 603 |
guess based on other SSL settings. |
| 604 |
filecommand: command to use for determining the type of a file. May be |
| 605 |
skipped if fileinfo extension is installed. Defaults to |
| 606 |
'/usr/bin/file'. |
| 607 |
sslserver: if specified, this server will be used when creating HTTPS |
| 608 |
URLs. Otherwise, the site SSL server will be used, with /file/ path. |
| 609 |
sslpath: if this and the sslserver are specified, this path will be used |
| 610 |
when creating HTTPS URLs. Otherwise, the attachments|path value |
| 611 |
will be used. |
| 612 |
|
| 613 |
group |
| 614 |
----- |
| 615 |
|
| 616 |
Options for group functionality. |
| 617 |
|
| 618 |
maxaliases: maximum number of aliases a group can have. Default 3. Set |
| 619 |
to 0 or less to prevent aliases in a group. |
| 620 |
desclimit: maximum number of characters to allow in group descriptions. |
| 621 |
null (default) means to use the site-wide text limits. 0 |
| 622 |
means no limit. |
| 623 |
addtag: Whether to add a tag for the group nickname for every group post |
| 624 |
(pre-1.0.x behaviour). Defaults to false. |
| 625 |
|
| 626 |
oembed |
| 627 |
-------- |
| 628 |
|
| 629 |
oEmbed endpoint for multimedia attachments (links in posts). Will also |
| 630 |
work as 'oohembed' for backwards compatibility. |
| 631 |
|
| 632 |
endpoint: oohembed endpoint using http://oohembed.com/ software. Defaults to |
| 633 |
'http://oohembed.com/oohembed/'. |
| 634 |
order: Array of methods to check for OEmbed data. Methods include 'built-in' |
| 635 |
(use a built-in function to simulate oEmbed for some sites), |
| 636 |
'well-known' (use well-known public oEmbed endpoints), |
| 637 |
'discovery' (discover using <link> headers in HTML), 'service' (use |
| 638 |
a third-party service, like oohembed or embed.ly. Default is |
| 639 |
array('built-in', 'well-known', 'service', 'discovery'). Note that very |
| 640 |
few sites implement oEmbed; 'discovery' is going to fail 99% of the |
| 641 |
time. |
| 642 |
|
| 643 |
search |
| 644 |
------ |
| 645 |
|
| 646 |
Some stuff for search. |
| 647 |
|
| 648 |
type: type of search. Ignored if PostgreSQL or Sphinx are enabled. Can either |
| 649 |
be 'fulltext' or 'like' (default). The former is faster and more efficient |
| 650 |
but requires the lame old MyISAM engine for MySQL. The latter |
| 651 |
will work with InnoDB but could be miserably slow on large |
| 652 |
systems. We'll probably add another type sometime in the future, |
| 653 |
with our own indexing system (maybe like MediaWiki's). |
| 654 |
|
| 655 |
sessions |
| 656 |
-------- |
| 657 |
|
| 658 |
Session handling. |
| 659 |
|
| 660 |
handle: boolean. Whether we should register our own PHP session-handling |
| 661 |
code (using the database and memcache if enabled). Defaults to false. |
| 662 |
Setting this to true makes some sense on large or multi-server |
| 663 |
sites, but it probably won't hurt for smaller ones, either. |
| 664 |
debug: whether to output debugging info for session storage. Can help |
| 665 |
with weird session bugs, sometimes. Default false. |
| 666 |
|
| 667 |
background |
| 668 |
---------- |
| 669 |
|
| 670 |
Users can upload backgrounds for their pages; this section defines |
| 671 |
their use. |
| 672 |
|
| 673 |
server: the server to use for background. Using a separate (even |
| 674 |
virtual) server for this can speed up load times. Default is |
| 675 |
null; same as site server. |
| 676 |
dir: directory to write backgrounds too. Default is '/background/' |
| 677 |
subdir of install dir. |
| 678 |
path: path to backgrounds. Default is sub-path of install path; note |
| 679 |
that you may need to change this if you change site-path too. |
| 680 |
sslserver: SSL server to use when page is HTTPS-encrypted. If |
| 681 |
unspecified, site ssl server and so on will be used. |
| 682 |
sslpath: If sslserver if defined, path to use when page is HTTPS-encrypted. |
| 683 |
|
| 684 |
ping |
| 685 |
---- |
| 686 |
|
| 687 |
Using the "XML-RPC Ping" method initiated by weblogs.com, the site can |
| 688 |
notify third-party servers of updates. |
| 689 |
|
| 690 |
notify: an array of URLs for ping endpoints. Default is the empty |
| 691 |
array (no notification). |
| 692 |
|
| 693 |
design |
| 694 |
------ |
| 695 |
|
| 696 |
Default design (colors and background) for the site. Actual appearance |
| 697 |
depends on the theme. Null values mean to use the theme defaults. |
| 698 |
|
| 699 |
backgroundcolor: Hex color of the site background. |
| 700 |
contentcolor: Hex color of the content area background. |
| 701 |
sidebarcolor: Hex color of the sidebar background. |
| 702 |
textcolor: Hex color of all non-link text. |
| 703 |
linkcolor: Hex color of all links. |
| 704 |
backgroundimage: Image to use for the background. |
| 705 |
disposition: Flags for whether or not to tile the background image. |
| 706 |
|
| 707 |
notice |
| 708 |
------ |
| 709 |
|
| 710 |
Configuration options specific to notices. |
| 711 |
|
| 712 |
contentlimit: max length of the plain-text content of a notice. |
| 713 |
Default is null, meaning to use the site-wide text limit. |
| 714 |
0 means no limit. |
| 715 |
defaultscope: default scope for notices. If null, the default |
| 716 |
scope depends on site/private. It's 1 if the site is private, |
| 717 |
0 otherwise. Set this value to override. |
| 718 |
|
| 719 |
message |
| 720 |
------- |
| 721 |
|
| 722 |
Configuration options specific to messages. |
| 723 |
|
| 724 |
contentlimit: max length of the plain-text content of a message. |
| 725 |
Default is null, meaning to use the site-wide text limit. |
| 726 |
0 means no limit. |
| 727 |
|
| 728 |
logincommand |
| 729 |
------------ |
| 730 |
|
| 731 |
Configuration options for the login command. |
| 732 |
|
| 733 |
disabled: whether to enable this command. If enabled, users who send |
| 734 |
the text 'login' to the site through any channel will |
| 735 |
receive a link to login to the site automatically in return. |
| 736 |
Possibly useful for users who primarily use an XMPP or SMS |
| 737 |
interface and can't be bothered to remember their site |
| 738 |
password. Note that the security implications of this are |
| 739 |
pretty serious and have not been thoroughly tested. You |
| 740 |
should enable it only after you've convinced yourself that |
| 741 |
it is safe. Default is 'false'. |
| 742 |
|
| 743 |
singleuser |
| 744 |
---------- |
| 745 |
|
| 746 |
If an installation has only one user, this can simplify a lot of the |
| 747 |
interface. It also makes the user's profile the root URL. |
| 748 |
|
| 749 |
enabled: Whether to run in "single user mode". Default false. |
| 750 |
nickname: nickname of the single user. If no nickname is specified, |
| 751 |
the site owner account will be used (if present). |
| 752 |
|
| 753 |
robotstxt |
| 754 |
--------- |
| 755 |
|
| 756 |
We put out a default robots.txt file to guide the processing of |
| 757 |
Web crawlers. See http://www.robotstxt.org/ for more information |
| 758 |
on the format of this file. |
| 759 |
|
| 760 |
crawldelay: if non-empty, this value is provided as the Crawl-Delay: |
| 761 |
for the robots.txt file. see http://ur1.ca/l5a0 |
| 762 |
for more information. Default is zero, no explicit delay. |
| 763 |
disallow: Array of (virtual) directories to disallow. Default is 'main', |
| 764 |
'search', 'message', 'settings', 'admin'. Ignored when site |
| 765 |
is private, in which case the entire site ('/') is disallowed. |
| 766 |
|
| 767 |
api |
| 768 |
--- |
| 769 |
|
| 770 |
Options for the Twitter-like API. |
| 771 |
|
| 772 |
realm: HTTP Basic Auth realm (see http://tools.ietf.org/html/rfc2617 |
| 773 |
for details). Some third-party tools like ping.fm want this to be |
| 774 |
'Identi.ca API', so set it to that if you want to. default = null, |
| 775 |
meaning 'something based on the site name'. |
| 776 |
|
| 777 |
nofollow |
| 778 |
-------- |
| 779 |
|
| 780 |
We optionally put 'rel="nofollow"' on some links in some pages. The |
| 781 |
following configuration settings let you fine-tune how or when things |
| 782 |
are nofollowed. See http://en.wikipedia.org/wiki/Nofollow for more |
| 783 |
information on what 'nofollow' means. |
| 784 |
|
| 785 |
subscribers: whether to nofollow links to subscribers on the profile |
| 786 |
and personal pages. Default is true. |
| 787 |
members: links to members on the group page. Default true. |
| 788 |
peopletag: links to people listed in the peopletag page. Default true. |
| 789 |
external: external links in notices. One of three values: 'sometimes', |
| 790 |
'always', 'never'. If 'sometimes', then external links are not |
| 791 |
nofollowed on profile, notice, and favorites page. Default is |
| 792 |
'sometimes'. |
| 793 |
|
| 794 |
url |
| 795 |
--- |
| 796 |
|
| 797 |
Everybody loves URL shorteners. These are some options for fine-tuning |
| 798 |
how and when the server shortens URLs. |
| 799 |
|
| 800 |
shortener: URL shortening service to use by default. Users can override |
| 801 |
individually. 'ur1.ca' by default. |
| 802 |
maxlength: If an URL is strictly longer than this limit, it will be |
| 803 |
shortened. Note that the URL shortener service may return an |
| 804 |
URL longer than this limit. Defaults to 25. Users can |
| 805 |
override. If set to 0, all URLs will be shortened. |
| 806 |
maxnoticelength: If a notice is strictly longer than this limit, all |
| 807 |
URLs in the notice will be shortened. Users can override. |
| 808 |
-1 means the text limit for notices. |
| 809 |
|
| 810 |
router |
| 811 |
------ |
| 812 |
|
| 813 |
We use a router class for mapping URLs to code. This section controls |
| 814 |
how that router works. |
| 815 |
|
| 816 |
cache: whether to cache the router in memcache (or another caching |
| 817 |
mechanism). Defaults to true, but may be set to false for |
| 818 |
developers (who might be actively adding pages, so won't want the |
| 819 |
router cached) or others who see strange behavior. You're unlikely |
| 820 |
to need this unless you're a developer. |
| 821 |
|
| 822 |
http |
| 823 |
---- |
| 824 |
|
| 825 |
Settings for the HTTP client. |
| 826 |
|
| 827 |
ssl_cafile: location of the CA file for SSL. If not set, won't verify |
| 828 |
SSL peers. Default unset. |
| 829 |
curl: Use cURL <http://curl.haxx.se/> for doing HTTP calls. You must |
| 830 |
have the PHP curl extension installed for this to work. |
| 831 |
proxy_host: Host to use for proxying HTTP requests. If unset, doesn't |
| 832 |
do any HTTP proxy stuff. Default unset. |
| 833 |
proxy_port: Port to use to connect to HTTP proxy host. Default null. |
| 834 |
proxy_user: Username to use for authenticating to the HTTP proxy. Default null. |
| 835 |
proxy_password: Password to use for authenticating to the HTTP proxy. Default null. |
| 836 |
proxy_auth_scheme: Scheme to use for authenticating to the HTTP proxy. Default null. |
| 837 |
|
| 838 |
plugins |
| 839 |
------- |
| 840 |
|
| 841 |
default: associative array mapping plugin name to array of arguments. To disable |
| 842 |
a default plugin, unset its value in this array. |
| 843 |
locale_path: path for finding plugin locale files. In the plugin's directory |
| 844 |
by default. |
| 845 |
server: Server to find static files for a plugin when the page is plain old HTTP. |
| 846 |
Defaults to site/server (same as pages). Use this to move plugin CSS and |
| 847 |
JS files to a CDN. |
| 848 |
sslserver: Server to find static files for a plugin when the page is HTTPS. Defaults |
| 849 |
to site/server (same as pages). Use this to move plugin CSS and JS files |
| 850 |
to a CDN. |
| 851 |
path: Path to the plugin files. defaults to site/path + '/plugins/'. Expects that |
| 852 |
each plugin will have a subdirectory at plugins/NameOfPlugin. Change this |
| 853 |
if you're using a CDN. |
| 854 |
sslpath: Path to use on the SSL server. Same as plugins/path. |
| 855 |
|
| 856 |
performance |
| 857 |
----------- |
| 858 |
|
| 859 |
high: if you need high performance, or if you're seeing bad |
| 860 |
performance, set this to true. It will turn off some high-intensity code from |
| 861 |
the site. |
| 862 |
|
| 863 |
oldschool |
| 864 |
--------- |
| 865 |
|
| 866 |
enabled: enable certain old-style user settings options, like stream-only mode, |
| 867 |
conversation trees, and nicknames in streams. Off by default, and |
| 868 |
may not be well supported in future versions. |