| fbe15ef by Evan Prodromou at 2008-09-18 |
1 |
------ |
|
2 |
README |
|
3 |
------ |
|
4 |
|
| ddc71b6 by Evan Prodromou at 2010-03-28 |
5 |
StatusNet 0.9.1 ("Everybody Hurts") |
|
6 |
28 Mar 2010 |
| fbe15ef by Evan Prodromou at 2008-09-18 |
7 |
|
| 1f15e52 by Evan Prodromou at 2010-03-04 |
8 |
This is the README file for StatusNet, the Open Source microblogging |
|
9 |
platform. It includes installation instructions, descriptions of |
|
10 |
options you can set, warnings, tips, and general info for |
|
11 |
administrators. Information on using StatusNet can be found in the |
| fbe15ef by Evan Prodromou at 2008-09-18 |
12 |
"doc" subdirectory or in the "help" section on-line. |
|
13 |
|
|
14 |
About |
|
15 |
===== |
|
16 |
|
| 26f78f5 by Evan Prodromou at 2010-03-04 |
17 |
StatusNet is a Free and Open Source microblogging platform. It helps |
|
18 |
people in a community, company or group to exchange short (140 |
|
19 |
characters, by default) messages over the Web. Users can choose which |
|
20 |
people to "follow" and receive only their friends' or colleagues' |
|
21 |
status messages. It provides a similar service to sites like Twitter, |
|
22 |
Google Buzz, or Yammer. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
23 |
|
|
24 |
With a little work, status messages can be sent to mobile phones, |
|
25 |
instant messenger programs (GTalk/Jabber), and specially-designed |
|
26 |
desktop clients that support the Twitter API. |
|
27 |
|
| 26f78f5 by Evan Prodromou at 2010-03-04 |
28 |
StatusNet supports an open standard called OStatus |
|
29 |
<http://ostatus.org/> that lets users in different networks follow |
|
30 |
each other. It enables a distributed social network spread all across |
|
31 |
the Web. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
32 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
33 |
StatusNet was originally developed for the Open Software Service, |
| a5a7c50 by Robin Millette at 2009-02-03 |
34 |
Identi.ca <http://identi.ca/>. It is shared with you in hope that you |
| fbe15ef by Evan Prodromou at 2008-09-18 |
35 |
too make an Open Software Service available to your users. To learn |
| a5a7c50 by Robin Millette at 2009-02-03 |
36 |
more, please see the Open Software Service Definition 1.1: |
| fbe15ef by Evan Prodromou at 2008-09-18 |
37 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
38 |
http://www.opendefinition.org/ossd |
| fbe15ef by Evan Prodromou at 2008-09-18 |
39 |
|
| 82b0927 by Evan Prodromou at 2009-08-27 |
40 |
StatusNet, Inc. <http://status.net/> also offers this software as a |
|
41 |
Web service, requiring no installation on your part. The software run |
|
42 |
on status.net is identical to the software available for download, so |
|
43 |
you can move back and forth between a hosted version or a version |
|
44 |
installed on your own servers. |
|
45 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
46 |
License |
|
47 |
======= |
|
48 |
|
|
49 |
This program is free software: you can redistribute it and/or modify |
|
50 |
it under the terms of the GNU Affero General Public License as |
|
51 |
published by the Free Software Foundation, either version 3 of the |
|
52 |
License, or (at your option) any later version. |
|
53 |
|
|
54 |
This program is distributed in the hope that it will be useful, but |
|
55 |
WITHOUT ANY WARRANTY; without even the implied warranty of |
|
56 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
57 |
Affero General Public License for more details. |
|
58 |
|
|
59 |
You should have received a copy of the GNU Affero General Public |
|
60 |
License along with this program, in the file "COPYING". If not, see |
|
61 |
<http://www.gnu.org/licenses/>. |
|
62 |
|
|
63 |
IMPORTANT NOTE: The GNU Affero General Public License (AGPL) has |
|
64 |
*different requirements* from the "regular" GPL. In particular, if |
| 2506207 by Evan Prodromou at 2009-08-26 |
65 |
you make modifications to the StatusNet source code on your server, |
| fbe15ef by Evan Prodromou at 2008-09-18 |
66 |
you *MUST MAKE AVAILABLE* the modified version of the source code |
|
67 |
to your users under the same license. This is a legal requirement |
|
68 |
of using the software, and if you do not wish to share your |
| e3a5325 by Evan Prodromou at 2009-08-26 |
69 |
modifications, *YOU MAY NOT INSTALL STATUSNET*. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
70 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
71 |
Additional library software has been made available in the 'extlib' |
|
72 |
directory. All of it is Free Software and can be distributed under |
|
73 |
liberal terms, but those terms may differ in detail from the AGPL's |
|
74 |
particulars. See each package's license file in the extlib directory |
|
75 |
for additional terms. |
|
76 |
|
|
77 |
New this version |
|
78 |
================ |
|
79 |
|
| ddc71b6 by Evan Prodromou at 2010-03-28 |
80 |
This is a minor bug and feature release since version 0.9.0 released 4 |
|
81 |
March 2010. |
|
82 |
|
|
83 |
Because of fixes to OStatus bugs, it is highly recommended that all |
|
84 |
public sites upgrade to the new version immediately. |
| f964357 by Evan Prodromou at 2010-02-01 |
85 |
|
| d708e40 by Evan Prodromou at 2009-12-23 |
86 |
Notable changes this version: |
|
87 |
|
| ddc71b6 by Evan Prodromou at 2010-03-28 |
88 |
- Twitter bridge truncates and links back to original for long |
|
89 |
notices. |
|
90 |
- Changed "Home" link in main menu to "Personal". |
|
91 |
- A new memcached plugin (using pecl/memcached versus pecl/memcache) |
|
92 |
- Opt-in subscription to update@status.net |
|
93 |
- Script to run commands on behalf of a user. |
|
94 |
- Better Web UI for long notices. |
|
95 |
- A plugin to open external links in their own window or tab |
|
96 |
- Fixes to Salmon protocol for compatibility with other systems. |
|
97 |
- Updates to latest ActivityStreams definition. |
|
98 |
- Twitpic-compatible API for image upload. |
|
99 |
- Background deletion of user accounts. |
|
100 |
- Better support for HTTP basic authentication with CGI/FastCGI |
|
101 |
- Better discovery on OStatus |
|
102 |
- Support for PuSH-enabled RSS 2.0 feeds |
|
103 |
- OpenID-only mode |
|
104 |
- OpenID blacklist/whitelist |
|
105 |
- OStatus unit tests |
|
106 |
|
|
107 |
A full changelog is available at http://status.net/wiki/StatusNet_0.9.1. |
| a1434ee by Evan Prodromou at 2008-09-23 |
108 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
109 |
Prerequisites |
|
110 |
============= |
|
111 |
|
|
112 |
The following software packages are *required* for this software to |
|
113 |
run correctly. |
|
114 |
|
| 8894f95 by Craig Andrews at 2009-07-17 |
115 |
- PHP 5.2.3+. It may be possible to run this software on earlier |
| fbe15ef by Evan Prodromou at 2008-09-18 |
116 |
versions of PHP, but many of the functions used are only available |
| bbfb766 by Brion Vibber at 2010-03-18 |
117 |
in PHP 5.2 or above. 5.2.6 or later is needed for XMPP background |
|
118 |
daemons on 64-bit platforms. PHP 5.3.x should work but is known |
|
119 |
to cause some failures for OpenID. |
| 2506207 by Evan Prodromou at 2009-08-26 |
120 |
- MySQL 5.x. The StatusNet database is stored, by default, in a MySQL |
| fbe15ef by Evan Prodromou at 2008-09-18 |
121 |
server. It has been primarily tested on 5.x servers, although it may |
|
122 |
be possible to install on earlier (or later!) versions. The server |
|
123 |
*must* support the MyISAM storage engine -- the default for most |
|
124 |
MySQL servers -- *and* the InnoDB storage engine. |
|
125 |
- A Web server. Preferably, you should have Apache 2.2.x with the |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
126 |
mod_rewrite extension installed and enabled. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
127 |
|
|
128 |
Your PHP installation must include the following PHP extensions: |
|
129 |
|
|
130 |
- Curl. This is for fetching files by HTTP. |
|
131 |
- XMLWriter. This is for formatting XML and HTML output. |
|
132 |
- MySQL. For accessing the database. |
| a1434ee by Evan Prodromou at 2008-09-23 |
133 |
- GD. For scaling down avatar images. |
| d5bb9bd by Zach Copley at 2008-09-24 |
134 |
- mbstring. For handling Unicode (UTF-8) encoded strings. |
| 864aad7 by Evan Prodromou at 2008-11-24 |
135 |
- gettext. For multiple languages. Default on many PHP installs. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
136 |
|
|
137 |
For some functionality, you will also need the following extensions: |
|
138 |
|
|
139 |
- Memcache. A client for the memcached server, which caches database |
|
140 |
information in volatile memory. This is important for adequate |
|
141 |
performance on high-traffic sites. You will also need a memcached |
|
142 |
server to store the data in. |
|
143 |
- Mailparse. Efficient parsing of email requires this extension. |
|
144 |
Submission by email or SMS-over-email uses this extension. |
| 525b867 by millette at 2008-11-24 |
145 |
- Sphinx Search. A client for the sphinx server, an alternative |
|
146 |
to MySQL or Postgresql fulltext search. You will also need a |
|
147 |
Sphinx server to serve the search queries. |
| 046e2b7 by Evan Prodromou at 2010-03-04 |
148 |
- bcmath or gmp. For Salmon signatures (part of OStatus). Needed |
|
149 |
if you have OStatus configured. |
| 525b867 by millette at 2008-11-24 |
150 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
151 |
You will almost definitely get 2-3 times better performance from your |
|
152 |
site if you install a PHP bytecode cache/accelerator. Some well-known |
|
153 |
examples are: eaccelerator, Turck mmcache, xcache, apc. Zend Optimizer |
|
154 |
is a proprietary accelerator installed on some hosting sites. |
|
155 |
|
|
156 |
External libraries |
|
157 |
------------------ |
|
158 |
|
|
159 |
A number of external PHP libraries are used to provide basic |
|
160 |
functionality and optional functionality for your system. For your |
|
161 |
convenience, they are available in the "extlib" directory of this |
|
162 |
package, and you do not have to download and install them. However, |
|
163 |
you may want to keep them up-to-date with the latest upstream version, |
|
164 |
and the URLs are listed here for your convenience. |
| 5d1a6f0 by Evan Prodromou at 2008-05-20 |
165 |
|
| 0cabc70 by Evan Prodromou at 2008-05-28 |
166 |
- DB_DataObject http://pear.php.net/package/DB_DataObject |
|
167 |
- Validate http://pear.php.net/package/Validate |
| fbe15ef by Evan Prodromou at 2008-09-18 |
168 |
- OpenID from OpenIDEnabled (not the PEAR version!). We decided |
| eecd611 by Evan Prodromou at 2008-05-22 |
169 |
to use the openidenabled.com version since it's more widely |
| fbe15ef by Evan Prodromou at 2008-09-18 |
170 |
implemented, and seems to be better supported. |
| c501b7b by Evan Prodromou at 2008-05-30 |
171 |
http://openidenabled.com/php-openid/ |
| fbe15ef by Evan Prodromou at 2008-09-18 |
172 |
- PEAR DB. Although this is an older data access system (new |
|
173 |
packages should probably use PHP DBO), the OpenID libraries |
|
174 |
depend on PEAR DB so we use it here, too. DB_DataObject can |
|
175 |
also use PEAR MDB2, which may give you better performance |
|
176 |
but won't work with OpenID. |
|
177 |
http://pear.php.net/package/DB |
| c501b7b by Evan Prodromou at 2008-05-30 |
178 |
- OAuth.php from http://oauth.googlecode.com/svn/code/php/ |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
179 |
- markdown.php from http://michelf.com/projects/php-markdown/ |
| 025dcb9 by Evan Prodromou at 2008-06-15 |
180 |
- PEAR Mail, for sending out mail notifications |
| d1e55b3 by Evan Prodromou at 2008-06-24 |
181 |
http://pear.php.net/package/Mail |
| 025dcb9 by Evan Prodromou at 2008-06-15 |
182 |
- PEAR Net_SMTP, if you use the SMTP factory for notifications |
| d1e55b3 by Evan Prodromou at 2008-06-24 |
183 |
http://pear.php.net/package/Net_SMTP |
| 07086d1 by Evan Prodromou at 2008-11-14 |
184 |
- PEAR Net_Socket, if you use the SMTP factory for notifications |
|
185 |
http://pear.php.net/package/Net_Socket |
| fbe15ef by Evan Prodromou at 2008-09-18 |
186 |
- XMPPHP, the follow-up to Class.Jabber.php. Probably the best XMPP |
|
187 |
library available for PHP. http://xmpphp.googlecode.com/. Note that |
|
188 |
as of this writing the version of this library that is available in |
|
189 |
the extlib directory is *significantly different* from the upstream |
|
190 |
version (patches have been submitted). Upgrading to the upstream |
| 2506207 by Evan Prodromou at 2009-08-26 |
191 |
version may render your StatusNet site unable to send or receive XMPP |
| fbe15ef by Evan Prodromou at 2008-09-18 |
192 |
messages. |
| fae7c08 by Evan Prodromou at 2009-01-29 |
193 |
- Facebook library. Used for the Facebook application. |
| a5a7c50 by Robin Millette at 2009-02-03 |
194 |
- PEAR Services_oEmbed. Used for some multimedia integration. |
|
195 |
- PEAR HTTP_Request is an oEmbed dependency. |
| 7845fe3 by Evan Prodromou at 2009-06-17 |
196 |
- PEAR Validate is an oEmbed dependency. |
|
197 |
- PEAR Net_URL2 is an oEmbed dependency. |
| 10cc0e1 by Evan Prodromou at 2009-06-23 |
198 |
- Console_GetOpt for parsing command-line options. |
| 046e2b7 by Evan Prodromou at 2010-03-04 |
199 |
- libomb. a library for implementing OpenMicroBlogging 0.1, the |
|
200 |
predecessor to OStatus. |
|
201 |
- HTTP_Request2, a library for making HTTP requests. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
202 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
203 |
A design goal of StatusNet is that the basic Web functionality should |
| fbe15ef by Evan Prodromou at 2008-09-18 |
204 |
work on even the most restrictive commercial hosting services. |
|
205 |
However, additional functionality, such as receiving messages by |
|
206 |
Jabber/GTalk, require that you be able to run long-running processes |
|
207 |
on your account. In addition, posting by email or from SMS require |
|
208 |
that you be able to install a mail filter in your mail server. |
|
209 |
|
|
210 |
Installation |
|
211 |
============ |
|
212 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
213 |
Installing the basic StatusNet Web component is relatively easy, |
| fbe15ef by Evan Prodromou at 2008-09-18 |
214 |
especially if you've previously installed PHP/MySQL packages. |
|
215 |
|
|
216 |
1. Unpack the tarball you downloaded on your Web server. Usually a |
|
217 |
command like this will work: |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
218 |
|
| ddc71b6 by Evan Prodromou at 2010-03-28 |
219 |
tar zxf statusnet-0.9.1.tar.gz |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
220 |
|
| ddc71b6 by Evan Prodromou at 2010-03-28 |
221 |
...which will make a statusnet-0.9.1 subdirectory in your current |
| fbe15ef by Evan Prodromou at 2008-09-18 |
222 |
directory. (If you don't have shell access on your Web server, you |
|
223 |
may have to unpack the tarball on your local computer and FTP the |
|
224 |
files to the server.) |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
225 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
226 |
2. Move the tarball to a directory of your choosing in your Web root |
|
227 |
directory. Usually something like this will work: |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
228 |
|
| ddc71b6 by Evan Prodromou at 2010-03-28 |
229 |
mv statusnet-0.9.1 /var/www/statusnet |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
230 |
|
| 80b58db by Evan Prodromou at 2010-03-04 |
231 |
This will make your StatusNet instance available in the statusnet path of |
|
232 |
your server, like "http://example.net/statusnet". "microblog" or |
| 3567b9d by Evan Prodromou at 2009-08-26 |
233 |
"statusnet" might also be good path names. If you know how to |
| fbe15ef by Evan Prodromou at 2008-09-18 |
234 |
configure virtual hosts on your web server, you can try setting up |
|
235 |
"http://micro.example.net/" or the like. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
236 |
|
| 09ebc96 by Evan Prodromou at 2009-03-04 |
237 |
3. Make your target directory writeable by the Web server. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
238 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
239 |
chmod a+w /var/www/statusnet/ |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
240 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
241 |
On some systems, this will probably work: |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
242 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
243 |
chgrp www-data /var/www/statusnet/ |
| e6f379f by Zach Copley at 2010-03-04 |
244 |
chmod g+w /var/www/statusnet/ |
| fbe15ef by Evan Prodromou at 2008-09-18 |
245 |
|
|
246 |
If your Web server runs as another user besides "www-data", try |
|
247 |
that user's default group instead. As a last resort, you can create |
| 80b58db by Evan Prodromou at 2010-03-04 |
248 |
a new group like "statusnet" and add the Web server's user to the group. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
249 |
|
| 2246653 by Craig Andrews at 2009-07-21 |
250 |
4. You should also take this moment to make your avatar, background, and |
|
251 |
file subdirectories writeable by the Web server. An insecure way to do |
|
252 |
this is: |
| 09ebc96 by Evan Prodromou at 2009-03-04 |
253 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
254 |
chmod a+w /var/www/statusnet/avatar |
|
255 |
chmod a+w /var/www/statusnet/background |
|
256 |
chmod a+w /var/www/statusnet/file |
| 09ebc96 by Evan Prodromou at 2009-03-04 |
257 |
|
| 2246653 by Craig Andrews at 2009-07-21 |
258 |
You can also make the avatar, background, and file directories |
|
259 |
writeable by the Web server group, as noted above. |
| 09ebc96 by Evan Prodromou at 2009-03-04 |
260 |
|
|
261 |
5. Create a database to hold your microblog data. Something like this |
| fbe15ef by Evan Prodromou at 2008-09-18 |
262 |
should work: |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
263 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
264 |
mysqladmin -u "username" --password="password" create statusnet |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
265 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
266 |
Note that StatusNet must have its own database; you can't share the |
| fbe15ef by Evan Prodromou at 2008-09-18 |
267 |
database with another program. You can name it whatever you want, |
|
268 |
though. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
269 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
270 |
(If you don't have shell access to your server, you may need to use |
|
271 |
a tool like PHPAdmin to create a database. Check your hosting |
|
272 |
service's documentation for how to create a new MySQL database.) |
|
273 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
274 |
6. Create a new database account that StatusNet will use to access the |
| fbe15ef by Evan Prodromou at 2008-09-18 |
275 |
database. If you have shell access, this will probably work from the |
|
276 |
MySQL shell: |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
277 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
278 |
GRANT ALL on statusnet.* |
|
279 |
TO 'statusnetuser'@'localhost' |
|
280 |
IDENTIFIED BY 'statusnetpassword'; |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
281 |
|
| bf0e29b by Evan Prodromou at 2010-03-04 |
282 |
You should change 'statusnetuser' and 'statusnetpassword' to your preferred new |
| 09ebc96 by Evan Prodromou at 2009-03-04 |
283 |
username and password. You may want to test logging in to MySQL as |
|
284 |
this new user. |
|
285 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
286 |
7. In a browser, navigate to the StatusNet install script; something like: |
| 09ebc96 by Evan Prodromou at 2009-03-04 |
287 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
288 |
http://yourserver.example.com/statusnet/install.php |
| 09ebc96 by Evan Prodromou at 2009-03-04 |
289 |
|
|
290 |
Enter the database connection information and your site name. The |
|
291 |
install program will configure your site and install the initial, |
|
292 |
almost-empty database. |
|
293 |
|
|
294 |
8. You should now be able to navigate to your microblog's main directory |
|
295 |
and see the "Public Timeline", which will be empty. If not, magic |
|
296 |
has happened! You can now register a new user, post some notices, |
|
297 |
edit your profile, etc. However, you may want to wait to do that stuff |
|
298 |
if you think you can set up "fancy URLs" (see below), since some |
|
299 |
URLs are stored in the database. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
300 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
301 |
Fancy URLs |
|
302 |
---------- |
|
303 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
304 |
By default, StatusNet will use URLs that include the main PHP program's |
| 09ebc96 by Evan Prodromou at 2009-03-04 |
305 |
name in them. For example, a user's home profile might be |
| fbe15ef by Evan Prodromou at 2008-09-18 |
306 |
found at: |
|
307 |
|
| 80b58db by Evan Prodromou at 2010-03-04 |
308 |
http://example.org/statusnet/index.php/statusnet/fred |
| 09ebc96 by Evan Prodromou at 2009-03-04 |
309 |
|
|
310 |
On certain systems that don't support this kind of syntax, they'll |
|
311 |
look like this: |
|
312 |
|
| 80b58db by Evan Prodromou at 2010-03-04 |
313 |
http://example.org/statusnet/index.php?p=statusnet/fred |
| fbe15ef by Evan Prodromou at 2008-09-18 |
314 |
|
|
315 |
It's possible to configure the software so it looks like this instead: |
|
316 |
|
| 80b58db by Evan Prodromou at 2010-03-04 |
317 |
http://example.org/statusnet/fred |
| fbe15ef by Evan Prodromou at 2008-09-18 |
318 |
|
|
319 |
These "fancy URLs" are more readable and memorable for users. To use |
| 09ebc96 by Evan Prodromou at 2009-03-04 |
320 |
fancy URLs, you must either have Apache 2.x with .htaccess enabled and |
| e99e66e by Evan Prodromou at 2009-12-15 |
321 |
mod_rewrite enabled, -OR- know how to configure "url redirection" in |
| 09ebc96 by Evan Prodromou at 2009-03-04 |
322 |
your server. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
323 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
324 |
1. Copy the htaccess.sample file to .htaccess in your StatusNet |
| fbe15ef by Evan Prodromou at 2008-09-18 |
325 |
directory. Note: if you have control of your server's httpd.conf or |
|
326 |
similar configuration files, it can greatly improve performance to |
|
327 |
import the .htaccess file into your conf file instead. If you're |
|
328 |
not sure how to do it, you may save yourself a lot of headache by |
|
329 |
just leaving the .htaccess file. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
330 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
331 |
2. Change the "RewriteBase" in the new .htaccess file to be the URL path |
| 2506207 by Evan Prodromou at 2009-08-26 |
332 |
to your StatusNet installation on your server. Typically this will |
|
333 |
be the path to your StatusNet directory relative to your Web root. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
334 |
|
|
335 |
3. Add or uncomment or change a line in your config.php file so it says: |
|
336 |
|
|
337 |
$config['site']['fancy'] = true; |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
338 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
339 |
You should now be able to navigate to a "fancy" URL on your server, |
|
340 |
like: |
|
341 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
342 |
http://example.net/statusnet/main/register |
| fbe15ef by Evan Prodromou at 2008-09-18 |
343 |
|
|
344 |
If you changed your HTTP server configuration, you may need to restart |
|
345 |
the server first. |
|
346 |
|
| e99e66e by Evan Prodromou at 2009-12-15 |
347 |
If it doesn't work, double-check that AllowOverride for the StatusNet |
|
348 |
directory is 'All' in your Apache configuration file. This is usually |
|
349 |
/etc/httpd.conf, /etc/apache/httpd.conf, or (on Debian and Ubuntu) |
|
350 |
/etc/apache2/sites-available/default. See the Apache documentation for |
|
351 |
.htaccess files for more details: |
|
352 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
353 |
http://httpd.apache.org/docs/2.2/howto/htaccess.html |
| e99e66e by Evan Prodromou at 2009-12-15 |
354 |
|
|
355 |
Also, check that mod_rewrite is installed and enabled: |
|
356 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
357 |
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html |
| e99e66e by Evan Prodromou at 2009-12-15 |
358 |
|
| 3a9ef2c by millette at 2008-11-24 |
359 |
Sphinx |
|
360 |
------ |
|
361 |
|
| 53c86c4 by Brion Vibber at 2009-11-10 |
362 |
To use a Sphinx server to search users and notices, you'll need to |
|
363 |
enable the SphinxSearch plugin. Add to your config.php: |
| 3a9ef2c by millette at 2008-11-24 |
364 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
365 |
addPlugin('SphinxSearch'); |
|
366 |
$config['sphinx']['server'] = 'searchhost.local'; |
| 3a9ef2c by millette at 2008-11-24 |
367 |
|
| 53c86c4 by Brion Vibber at 2009-11-10 |
368 |
You also need to install, compile and enable the sphinx pecl extension for |
|
369 |
php on the client side, which itself depends on the sphinx development files. |
|
370 |
|
|
371 |
See plugins/SphinxSearch/README for more details and server setup. |
| 3a9ef2c by millette at 2008-11-24 |
372 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
373 |
SMS |
|
374 |
--- |
|
375 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
376 |
StatusNet supports a cheap-and-dirty system for sending update messages |
| fbe15ef by Evan Prodromou at 2008-09-18 |
377 |
to mobile phones and for receiving updates from the mobile. Instead of |
|
378 |
sending through the SMS network itself, which is costly and requires |
|
379 |
buy-in from the wireless carriers, it simply piggybacks on the email |
|
380 |
gateways that many carriers provide to their customers. So, SMS |
|
381 |
configuration is essentially email configuration. |
|
382 |
|
|
383 |
Each user sends to a made-up email address, which they keep a secret. |
|
384 |
Incoming email that is "From" the user's SMS email address, and "To" |
|
385 |
the users' secret email address on the site's domain, will be |
| fae7c08 by Evan Prodromou at 2009-01-29 |
386 |
converted to a notice and stored in the DB. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
387 |
|
|
388 |
For this to work, there *must* be a domain or sub-domain for which all |
|
389 |
(or most) incoming email can pass through the incoming mail filter. |
|
390 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
391 |
1. Run the SQL script carrier.sql in your StatusNet database. This will |
| fbe15ef by Evan Prodromou at 2008-09-18 |
392 |
usually work: |
|
393 |
|
| e6f379f by Zach Copley at 2010-03-04 |
394 |
mysql -u "statusnetuser" --password="statusnetpassword" statusnet < db/carrier.sql |
| fbe15ef by Evan Prodromou at 2008-09-18 |
395 |
|
|
396 |
This will populate your database with a list of wireless carriers |
|
397 |
that support email SMS gateways. |
|
398 |
|
|
399 |
2. Make sure the maildaemon.php file is executable: |
|
400 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
401 |
chmod +x scripts/maildaemon.php |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
402 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
403 |
Note that "daemon" is kind of a misnomer here; the script is more |
|
404 |
of a filter than a daemon. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
405 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
406 |
2. Edit /etc/aliases on your mail server and add the following line: |
|
407 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
408 |
*: /path/to/statusnet/scripts/maildaemon.php |
| fbe15ef by Evan Prodromou at 2008-09-18 |
409 |
|
|
410 |
3. Run whatever code you need to to update your aliases database. For |
|
411 |
many mail servers (Postfix, Exim, Sendmail), this should work: |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
412 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
413 |
newaliases |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
414 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
415 |
You may need to restart your mail server for the new database to |
|
416 |
take effect. |
|
417 |
|
|
418 |
4. Set the following in your config.php file: |
|
419 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
420 |
$config['mail']['domain'] = 'yourdomain.example.net'; |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
421 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
422 |
At this point, post-by-email and post-by-SMS-gateway should work. Note |
|
423 |
that if your mail server is on a different computer from your email |
| 2506207 by Evan Prodromou at 2009-08-26 |
424 |
server, you'll need to have a full installation of StatusNet, a working |
|
425 |
config.php, and access to the StatusNet database from the mail server. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
426 |
|
|
427 |
XMPP |
|
428 |
---- |
|
429 |
|
| a5a7c50 by Robin Millette at 2009-02-03 |
430 |
XMPP (eXtended Message and Presence Protocol, <http://xmpp.org/>) is the |
| fbe15ef by Evan Prodromou at 2008-09-18 |
431 |
instant-messenger protocol that drives Jabber and GTalk IM. You can |
|
432 |
distribute messages via XMPP using the system below; however, you |
|
433 |
need to run the XMPP incoming daemon to allow incoming messages as |
|
434 |
well. |
|
435 |
|
|
436 |
1. You may want to strongly consider setting up your own XMPP server. |
|
437 |
Ejabberd, OpenFire, and JabberD are all Open Source servers. |
|
438 |
Jabber, Inc. provides a high-performance commercial server. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
439 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
440 |
2. You must register a Jabber ID (JID) with your new server. It helps |
|
441 |
to choose a name like "update@example.com" or "notice" or something |
|
442 |
similar. Alternately, your "update JID" can be registered on a |
|
443 |
publicly-available XMPP service, like jabber.org or GTalk. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
444 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
445 |
StatusNet will not register the JID with your chosen XMPP server; |
| fbe15ef by Evan Prodromou at 2008-09-18 |
446 |
you need to do this manually, with an XMPP client like Gajim, |
|
447 |
Telepathy, or Pidgin.im. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
448 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
449 |
3. Configure your site's XMPP variables, as described below in the |
|
450 |
configuration section. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
451 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
452 |
On a default installation, your site can broadcast messages using |
|
453 |
XMPP. Users won't be able to post messages using XMPP unless you've |
|
454 |
got the XMPP daemon running. See 'Queues and daemons' below for how |
|
455 |
to set that up. Also, once you have a sizable number of users, sending |
|
456 |
a lot of SMS, OMB, and XMPP messages whenever someone posts a message |
|
457 |
can really slow down your site; it may cause posting to timeout. |
|
458 |
|
| 70f8844 by Evan Prodromou at 2008-09-28 |
459 |
NOTE: stream_select(), a crucial function for network programming, is |
|
460 |
broken on PHP 5.2.x less than 5.2.6 on amd64-based servers. We don't |
| 2506207 by Evan Prodromou at 2009-08-26 |
461 |
work around this bug in StatusNet; current recommendation is to move |
| 70f8844 by Evan Prodromou at 2008-09-28 |
462 |
off of amd64 to another server. |
|
463 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
464 |
Public feed |
|
465 |
----------- |
|
466 |
|
|
467 |
You can send *all* messages from your microblogging site to a |
|
468 |
third-party service using XMPP. This can be useful for providing |
|
469 |
search, indexing, bridging, or other cool services. |
|
470 |
|
|
471 |
To configure a downstream site to receive your public stream, add |
|
472 |
their "JID" (Jabber ID) to your config.php as follows: |
|
473 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
474 |
$config['xmpp']['public'][] = 'downstream@example.net'; |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
475 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
476 |
(Don't miss those square brackets at the end.) Note that your XMPP |
|
477 |
broadcasting must be configured as mentioned above. Although you can |
|
478 |
send out messages at "Web time", high-volume sites should strongly |
|
479 |
consider setting up queues and daemons. |
|
480 |
|
|
481 |
Queues and daemons |
|
482 |
------------------ |
|
483 |
|
| 22c0633 by Brion Vibber at 2010-03-04 |
484 |
Some activities that StatusNet needs to do, like broadcast OStatus, SMS, |
| fbe15ef by Evan Prodromou at 2008-09-18 |
485 |
and XMPP messages, can be 'queued' and done by off-line bots instead. |
|
486 |
For this to work, you must be able to run long-running offline |
|
487 |
processes, either on your main Web server or on another server you |
|
488 |
control. (Your other server will still need all the above |
|
489 |
prerequisites, with the exception of Apache.) Installing on a separate |
|
490 |
server is probably a good idea for high-volume sites. |
|
491 |
|
|
492 |
1. You'll need the "CLI" (command-line interface) version of PHP |
|
493 |
installed on whatever server you use. |
|
494 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
495 |
2. If you're using a separate server for queues, install StatusNet |
| fbe15ef by Evan Prodromou at 2008-09-18 |
496 |
somewhere on the server. You don't need to worry about the |
|
497 |
.htaccess file, but make sure that your config.php file is close |
|
498 |
to, or identical to, your Web server's version. |
|
499 |
|
|
500 |
3. In your config.php files (both the Web server and the queues |
|
501 |
server!), set the following variable: |
|
502 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
503 |
$config['queue']['enabled'] = true; |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
504 |
|
|
505 |
You may also want to look at the 'daemon' section of this file for |
|
506 |
more daemon options. Note that if you set the 'user' and/or 'group' |
|
507 |
options, you'll need to create that user and/or group by hand. |
|
508 |
They're not created automatically. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
509 |
|
| 22c0633 by Brion Vibber at 2010-03-04 |
510 |
4. On the queues server, run the command scripts/startdaemons.sh. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
511 |
|
| c805a5e by Brion Vibber at 2010-01-28 |
512 |
This will run the queue handlers: |
| fbe15ef by Evan Prodromou at 2008-09-18 |
513 |
|
| c805a5e by Brion Vibber at 2010-01-28 |
514 |
* queuedaemon.php - polls for queued items for inbox processing and |
| 22c0633 by Brion Vibber at 2010-03-04 |
515 |
pushing out to OStatus, SMS, XMPP, etc. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
516 |
* xmppdaemon.php - listens for new XMPP messages from users and stores |
| c805a5e by Brion Vibber at 2010-01-28 |
517 |
them as notices in the database; also pulls queued XMPP output from |
|
518 |
queuedaemon.php to push out to clients. |
|
519 |
|
|
520 |
These two daemons will automatically restart in most cases of failure |
|
521 |
including memory leaks (if a memory_limit is set), but may still die |
|
522 |
or behave oddly if they lose connections to the XMPP or queue servers. |
|
523 |
|
| 22c0633 by Brion Vibber at 2010-03-04 |
524 |
Additional daemons may be also started by this script for certain |
|
525 |
plugins, such as the Twitter bridge. |
|
526 |
|
| c805a5e by Brion Vibber at 2010-01-28 |
527 |
It may be a good idea to use a daemon-monitoring service, like 'monit', |
| fbe15ef by Evan Prodromou at 2008-09-18 |
528 |
to check their status and keep them running. |
|
529 |
|
|
530 |
All the daemons write their process IDs (pids) to /var/run/ by |
|
531 |
default. This can be useful for starting, stopping, and monitoring the |
|
532 |
daemons. |
|
533 |
|
| 82b0927 by Evan Prodromou at 2009-08-27 |
534 |
Since version 0.8.0, it's now possible to use a STOMP server instead of |
| 22c0633 by Brion Vibber at 2010-03-04 |
535 |
our kind of hacky home-grown DB-based queue solution. This is strongly |
|
536 |
recommended for best response time, especially when using XMPP. |
|
537 |
|
|
538 |
See the "queues" config section below for how to configure to use STOMP. |
|
539 |
As of this writing, the software has been tested with ActiveMQ 5.3. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
540 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
541 |
Themes |
|
542 |
------ |
|
543 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
544 |
There are two themes shipped with this version of StatusNet: "identica", |
| a1434ee by Evan Prodromou at 2008-09-23 |
545 |
which is what the Identi.ca site uses, and "default", which is a good |
|
546 |
basis for other sites. |
|
547 |
|
|
548 |
As of right now, your ability to change the theme is site-wide; users |
|
549 |
can't choose their own theme. Additionally, the only thing you can |
|
550 |
change in the theme is CSS stylesheets and some image files; you can't |
|
551 |
change the HTML output, like adding or removing menu items. |
|
552 |
|
|
553 |
You can choose a theme using the $config['site']['theme'] element in |
|
554 |
the config.php file. See below for details. |
|
555 |
|
|
556 |
You can add your own theme by making a sub-directory of the 'theme' |
|
557 |
subdirectory with the name of your theme. Each theme can have the |
|
558 |
following files: |
|
559 |
|
|
560 |
display.css: a CSS2 file for "default" styling for all browsers. |
|
561 |
ie6.css: a CSS2 file for override styling for fixing up Internet |
| fc3b538 by Zach Copley at 2010-03-04 |
562 |
Explorer 6. |
| a1434ee by Evan Prodromou at 2008-09-23 |
563 |
ie7.css: a CSS2 file for override styling for fixing up Internet |
| fc3b538 by Zach Copley at 2010-03-04 |
564 |
Explorer 7. |
| a1434ee by Evan Prodromou at 2008-09-23 |
565 |
logo.png: a logo image for the site. |
|
566 |
default-avatar-profile.png: a 96x96 pixel image to use as the avatar for |
| fc3b538 by Zach Copley at 2010-03-04 |
567 |
users who don't upload their own. |
| a1434ee by Evan Prodromou at 2008-09-23 |
568 |
default-avatar-stream.png: Ditto, but 48x48. For streams of notices. |
|
569 |
default-avatar-mini.png: Ditto ditto, but 24x24. For subscriptions |
| fc3b538 by Zach Copley at 2010-03-04 |
570 |
listing on profile pages. |
| a1434ee by Evan Prodromou at 2008-09-23 |
571 |
|
|
572 |
You may want to start by copying the files from the default theme to |
|
573 |
your own directory. |
|
574 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
575 |
NOTE: the HTML generated by StatusNet changed *radically* between |
| fae7c08 by Evan Prodromou at 2009-01-29 |
576 |
version 0.6.x and 0.7.x. Older themes will need signification |
|
577 |
modification to use the new output format. |
|
578 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
579 |
Translation |
|
580 |
----------- |
|
581 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
582 |
Translations in StatusNet use the gettext system <http://www.gnu.org/software/gettext/>. |
| a1434ee by Evan Prodromou at 2008-09-23 |
583 |
Theoretically, you can add your own sub-directory to the locale/ |
|
584 |
subdirectory to add a new language to your system. You'll need to |
|
585 |
compile the ".po" files into ".mo" files, however. |
|
586 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
587 |
Contributions of translation information to StatusNet are very easy: |
| c805a5e by Brion Vibber at 2010-01-28 |
588 |
you can use the Web interface at TranslateWiki.net to add one |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
589 |
or a few or lots of new translations -- or even new languages. You can |
|
590 |
also download more up-to-date .po files there, if you so desire. |
|
591 |
|
| c805a5e by Brion Vibber at 2010-01-28 |
592 |
For info on helping with translations, see http://status.net/wiki/Translations |
|
593 |
|
| 728f6f2 by Evan Prodromou at 2008-10-06 |
594 |
Backups |
|
595 |
------- |
|
596 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
597 |
There is no built-in system for doing backups in StatusNet. You can make |
|
598 |
backups of a working StatusNet system by backing up the database and |
| a5a7c50 by Robin Millette at 2009-02-03 |
599 |
the Web directory. To backup the database use mysqldump <http://ur1.ca/7xo> |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
600 |
and to backup the Web directory, try tar. |
|
601 |
|
| 203bc45 by Evan Prodromou at 2008-12-12 |
602 |
Private |
|
603 |
------- |
|
604 |
|
|
605 |
The administrator can set the "private" flag for a site so that it's |
|
606 |
not visible to non-logged-in users. This might be useful for |
|
607 |
workgroups who want to share a microblogging site for project |
|
608 |
management, but host it on a public server. |
|
609 |
|
| b98fcff by Evan Prodromou at 2010-03-04 |
610 |
Total privacy is not guaranteed or ensured. Also, privacy is |
|
611 |
all-or-nothing for a site; you can't have some accounts or notices |
|
612 |
private, and others public. The interaction of private sites |
|
613 |
with OStatus is undefined. |
| 203bc45 by Evan Prodromou at 2008-12-12 |
614 |
|
| 250bcfa by Craig Andrews at 2010-01-05 |
615 |
Access to file attachments can also be restricted to logged-in users only. |
|
616 |
1. Add a directory outside the web root where your file uploads will be |
|
617 |
stored. Usually a command like this will work: |
|
618 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
619 |
mkdir /var/www/statusnet-files |
| 250bcfa by Craig Andrews at 2010-01-05 |
620 |
|
|
621 |
2. Make the file uploads directory writeable by the web server. An |
|
622 |
insecure way to do this is: |
|
623 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
624 |
chmod a+x /var/www/statusnet-files |
| 250bcfa by Craig Andrews at 2010-01-05 |
625 |
|
|
626 |
3. Tell StatusNet to use this directory for file uploads. Add a line |
|
627 |
like this to your config.php: |
|
628 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
629 |
$config['attachments']['dir'] = '/var/www/statusnet-files'; |
| f36162b by Evan Prodromou at 2009-10-31 |
630 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
631 |
Upgrading |
|
632 |
========= |
|
633 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
634 |
IMPORTANT NOTE: StatusNet 0.7.4 introduced a fix for some |
| 121cb6a by Evan Prodromou at 2009-05-28 |
635 |
incorrectly-stored international characters ("UTF-8"). For new |
|
636 |
installations, it will now store non-ASCII characters correctly. |
|
637 |
However, older installations will have the incorrect storage, and will |
|
638 |
consequently show up "wrong" in browsers. See below for how to deal |
|
639 |
with this situation. |
|
640 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
641 |
If you've been using StatusNet 0.7, 0.6, 0.5 or lower, or if you've |
| 8bdb7dc by Evan Prodromou at 2009-07-08 |
642 |
been tracking the "git" version of the software, you will probably |
|
643 |
want to upgrade and keep your existing data. There is no automated |
| ddc71b6 by Evan Prodromou at 2010-03-28 |
644 |
upgrade procedure in StatusNet 0.9.1. Try these step-by-step |
| 8bdb7dc by Evan Prodromou at 2009-07-08 |
645 |
instructions; read to the end first before trying them. |
| a1434ee by Evan Prodromou at 2008-09-23 |
646 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
647 |
0. Download StatusNet and set up all the prerequisites as if you were |
| a1434ee by Evan Prodromou at 2008-09-23 |
648 |
doing a new install. |
|
649 |
1. Make backups of both your database and your Web directory. UNDER NO |
|
650 |
CIRCUMSTANCES should you try to do an upgrade without a known-good |
|
651 |
backup. You have been warned. |
|
652 |
2. Shut down Web access to your site, either by turning off your Web |
|
653 |
server or by redirecting all pages to a "sorry, under maintenance" |
|
654 |
page. |
|
655 |
3. Shut down XMPP access to your site, typically by shutting down the |
|
656 |
xmppdaemon.php process and all other daemons that you're running. |
|
657 |
If you've got "monit" or "cron" automatically restarting your |
|
658 |
daemons, make sure to turn that off, too. |
|
659 |
4. Shut down SMS and email access to your site. The easy way to do |
|
660 |
this is to comment out the line piping incoming email to your |
|
661 |
maildaemon.php file, and running something like "newaliases". |
|
662 |
5. Once all writing processes to your site are turned off, make a |
|
663 |
final backup of the Web directory and database. |
| 80b58db by Evan Prodromou at 2010-03-04 |
664 |
6. Move your StatusNet directory to a backup spot, like "statusnet.bak". |
| ddc71b6 by Evan Prodromou at 2010-03-28 |
665 |
7. Unpack your StatusNet 0.9.1 tarball and move it to "statusnet" or |
| a1434ee by Evan Prodromou at 2008-09-23 |
666 |
wherever your code used to be. |
|
667 |
8. Copy the config.php file and avatar directory from your old |
|
668 |
directory to your new directory. |
|
669 |
9. Copy htaccess.sample to .htaccess in the new directory. Change the |
|
670 |
RewriteBase to use the correct path. |
| 82b0927 by Evan Prodromou at 2009-08-27 |
671 |
10. Rebuild the database. (You can safely skip this step and go to #12 |
| 064c458 by Brion Vibber at 2010-03-04 |
672 |
if you're upgrading from another 0.9.x version). |
| 82b0927 by Evan Prodromou at 2009-08-27 |
673 |
|
|
674 |
NOTE: this step is destructive and cannot be |
| 8bdb7dc by Evan Prodromou at 2009-07-08 |
675 |
reversed. YOU CAN EASILY DESTROY YOUR SITE WITH THIS STEP. Don't |
|
676 |
do it without a known-good backup! |
|
677 |
|
| b98fcff by Evan Prodromou at 2010-03-04 |
678 |
If your database is at version 0.8.0 or above, you can run a |
|
679 |
special upgrade script: |
| 8bdb7dc by Evan Prodromou at 2009-07-08 |
680 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
681 |
mysql -u<rootuser> -p<rootpassword> <database> db/08to09.sql |
| 8bdb7dc by Evan Prodromou at 2009-07-08 |
682 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
683 |
Otherwise, go to your StatusNet directory and AFTER YOU MAKE A |
| 8bdb7dc by Evan Prodromou at 2009-07-08 |
684 |
BACKUP run the rebuilddb.sh script like this: |
| a89d7ce by CiaranG at 2009-03-08 |
685 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
686 |
./scripts/rebuilddb.sh rootuser rootpassword database db/statusnet.sql |
| a89d7ce by CiaranG at 2009-03-08 |
687 |
|
|
688 |
Here, rootuser and rootpassword are the username and password for a |
|
689 |
user who can drop and create databases as well as tables; typically |
| 2506207 by Evan Prodromou at 2009-08-26 |
690 |
that's _not_ the user StatusNet runs as. Note that rebuilddb.sh drops |
| 8bdb7dc by Evan Prodromou at 2009-07-08 |
691 |
your database and rebuilds it; if there is an error you have no |
|
692 |
database. Make sure you have a backup. |
| a89d7ce by CiaranG at 2009-03-08 |
693 |
For PostgreSQL databases there is an equivalent, rebuilddb_psql.sh, |
|
694 |
which operates slightly differently. Read the documentation in that |
|
695 |
script before running it. |
|
696 |
11. Use mysql or psql client to log into your database and make sure that |
|
697 |
the notice, user, profile, subscription etc. tables are non-empty. |
| a1434ee by Evan Prodromou at 2008-09-23 |
698 |
12. Turn back on the Web server, and check that things still work. |
|
699 |
13. Turn back on XMPP bots and email maildaemon. Note that the XMPP |
|
700 |
bots have changed since version 0.5; see above for details. |
|
701 |
|
|
702 |
If you're upgrading from very old versions, you may want to look at |
|
703 |
the fixup_* scripts in the scripts directories. These will store some |
| 169b3e0 by Evan Prodromou at 2008-11-13 |
704 |
precooked data in the DB. All upgraders should check out the inboxes |
|
705 |
options below. |
| a1434ee by Evan Prodromou at 2008-09-23 |
706 |
|
| 82b0927 by Evan Prodromou at 2009-08-27 |
707 |
NOTE: the database definition file, laconica.ini, has been renamed to |
| 3567b9d by Evan Prodromou at 2009-08-26 |
708 |
statusnet.ini (since this is the recommended database name). If you |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
709 |
have a line in your config.php pointing to the old name, you'll need |
|
710 |
to update it. |
|
711 |
|
| 169b3e0 by Evan Prodromou at 2008-11-13 |
712 |
Notice inboxes |
|
713 |
-------------- |
|
714 |
|
| 4f5badd by Evan Prodromou at 2009-10-13 |
715 |
Notice inboxes are now required. If you don't have inboxes enabled, |
|
716 |
StatusNet will no longer run. |
| 8bdb7dc by Evan Prodromou at 2009-07-08 |
717 |
|
| 121cb6a by Evan Prodromou at 2009-05-28 |
718 |
UTF-8 Database |
|
719 |
-------------- |
|
720 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
721 |
StatusNet 0.7.4 introduced a fix for some incorrectly-stored |
| 121cb6a by Evan Prodromou at 2009-05-28 |
722 |
international characters ("UTF-8"). This fix is not |
|
723 |
backwards-compatible; installations from before 0.7.4 will show |
|
724 |
non-ASCII characters of old notices incorrectly. This section explains |
|
725 |
what to do. |
|
726 |
|
|
727 |
0. You can disable the new behaviour by setting the 'db''utf8' config |
|
728 |
option to "false". You should only do this until you're ready to |
|
729 |
convert your DB to the new format. |
|
730 |
1. When you're ready to convert, you can run the fixup_utf8.php script |
|
731 |
in the scripts/ subdirectory. If you've had the "new behaviour" |
|
732 |
enabled (probably a good idea), you can give the ID of the first |
|
733 |
"new" notice as a parameter, and only notices before that one will |
|
734 |
be converted. Notices are converted in reverse chronological order, |
|
735 |
so the most recent (and visible) ones will be converted first. The |
|
736 |
script should work whether or not you have the 'db''utf8' config |
|
737 |
option enabled. |
|
738 |
2. When you're ready, set $config['db']['utf8'] to true, so that |
|
739 |
new notices will be stored correctly. |
|
740 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
741 |
Configuration options |
|
742 |
===================== |
|
743 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
744 |
The main configuration file for StatusNet (excepting configurations for |
|
745 |
dependency software) is config.php in your StatusNet directory. If you |
| b98fcff by Evan Prodromou at 2010-03-04 |
746 |
edit any other file in the directory, like lib/default.php (where most |
| fbe15ef by Evan Prodromou at 2008-09-18 |
747 |
of the defaults are defined), you will lose your configuration options |
|
748 |
in any upgrade, and you will wish that you had been more careful. |
|
749 |
|
| b98fcff by Evan Prodromou at 2010-03-04 |
750 |
Starting with version 0.9.0, a Web based configuration panel has been |
|
751 |
added to StatusNet. The preferred method for changing config options is |
|
752 |
to use this panel. |
|
753 |
|
|
754 |
A command-line script, setconfig.php, can be used to set individual |
|
755 |
configuration options. It's in the scripts/ directory. |
|
756 |
|
| 74bf2bf by Evan Prodromou at 2009-01-31 |
757 |
Starting with version 0.7.1, you can put config files in the |
| 3567b9d by Evan Prodromou at 2009-08-26 |
758 |
/etc/statusnet/ directory on your server, if it exists. Config files |
| 74bf2bf by Evan Prodromou at 2009-01-31 |
759 |
will be included in this order: |
|
760 |
|
| e3a5325 by Evan Prodromou at 2009-08-26 |
761 |
* /etc/statusnet/statusnet.php - server-wide config |
| 3567b9d by Evan Prodromou at 2009-08-26 |
762 |
* /etc/statusnet/<servername>.php - for a virtual host |
|
763 |
* /etc/statusnet/<servername>_<pathname>.php - for a path |
| 74bf2bf by Evan Prodromou at 2009-01-31 |
764 |
* INSTALLDIR/config.php - for a particular implementation |
|
765 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
766 |
Almost all configuration options are made through a two-dimensional |
|
767 |
associative array, cleverly named $config. A typical configuration |
|
768 |
line will be: |
|
769 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
770 |
$config['section']['option'] = value; |
| fbe15ef by Evan Prodromou at 2008-09-18 |
771 |
|
|
772 |
For brevity, the following documentation describes each section and |
|
773 |
option. |
|
774 |
|
|
775 |
site |
|
776 |
---- |
|
777 |
|
|
778 |
This section is a catch-all for site-wide variables. |
|
779 |
|
|
780 |
name: the name of your site, like 'YourCompany Microblog'. |
|
781 |
server: the server part of your site's URLs, like 'example.net'. |
| 80b58db by Evan Prodromou at 2010-03-04 |
782 |
path: The path part of your site's URLs, like 'statusnet' or '' |
| fc3b538 by Zach Copley at 2010-03-04 |
783 |
(installed in root). |
| fbe15ef by Evan Prodromou at 2008-09-18 |
784 |
fancy: whether or not your site uses fancy URLs (see Fancy URLs |
| fc3b538 by Zach Copley at 2010-03-04 |
785 |
section above). Default is false. |
| 2506207 by Evan Prodromou at 2009-08-26 |
786 |
logfile: full path to a file for StatusNet to save logging |
| fc3b538 by Zach Copley at 2010-03-04 |
787 |
information to. You may want to use this if you don't have |
|
788 |
access to syslog. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
789 |
logdebug: whether to log additional debug info like backtraces on |
| fc3b538 by Zach Copley at 2010-03-04 |
790 |
hard errors. Default false. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
791 |
locale_path: full path to the directory for locale data. Unless you |
| fc3b538 by Zach Copley at 2010-03-04 |
792 |
store all your locale data in one place, you probably |
|
793 |
don't need to use this. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
794 |
language: default language for your site. Defaults to US English. |
| fc3b538 by Zach Copley at 2010-03-04 |
795 |
Note that this is overridden if a user is logged in and has |
|
796 |
selected a different language. It is also overridden if the |
|
797 |
user is NOT logged in, but their browser requests a different |
|
798 |
langauge. Since pretty much everybody's browser requests a |
|
799 |
language, that means that changing this setting has little or |
|
800 |
no effect in practice. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
801 |
languages: A list of languages supported on your site. Typically you'd |
| fc3b538 by Zach Copley at 2010-03-04 |
802 |
only change this if you wanted to disable support for one |
|
803 |
or another language: |
|
804 |
"unset($config['site']['languages']['de'])" will disable |
|
805 |
support for German. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
806 |
theme: Theme for your site (see Theme section). Two themes are |
| fc3b538 by Zach Copley at 2010-03-04 |
807 |
provided by default: 'default' and 'stoica' (the one used by |
|
808 |
Identi.ca). It's appreciated if you don't use the 'stoica' theme |
|
809 |
except as the basis for your own. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
810 |
email: contact email address for your site. By default, it's extracted |
| fc3b538 by Zach Copley at 2010-03-04 |
811 |
from your Web server environment; you may want to customize it. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
812 |
broughtbyurl: name of an organization or individual who provides the |
| fc3b538 by Zach Copley at 2010-03-04 |
813 |
service. Each page will include a link to this name in the |
|
814 |
footer. A good way to link to the blog, forum, wiki, |
|
815 |
corporate portal, or whoever is making the service available. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
816 |
broughtby: text used for the "brought by" link. |
|
817 |
timezone: default timezone for message display. Users can set their |
| fc3b538 by Zach Copley at 2010-03-04 |
818 |
own time zone. Defaults to 'UTC', which is a pretty good default. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
819 |
closed: If set to 'true', will disallow registration on your site. |
| e6f379f by Zach Copley at 2010-03-04 |
820 |
This is a cheap way to restrict accounts to only one |
|
821 |
individual or group; just register the accounts you want on |
|
822 |
the service, *then* set this variable to 'true'. |
| 3a246c1 by Evan Prodromou at 2008-10-21 |
823 |
inviteonly: If set to 'true', will only allow registration if the user |
| fc3b538 by Zach Copley at 2010-03-04 |
824 |
was invited by an existing user. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
825 |
private: If set to 'true', anonymous users will be redirected to the |
| fc3b538 by Zach Copley at 2010-03-04 |
826 |
'login' page. Also, API methods that normally require no |
|
827 |
authentication will require it. Note that this does not turn |
|
828 |
off registration; use 'closed' or 'inviteonly' for the |
|
829 |
behaviour you want. |
| 65bfda3 by Evan Prodromou at 2009-01-21 |
830 |
notice: A plain string that will appear on every page. A good place |
| e6f379f by Zach Copley at 2010-03-04 |
831 |
to put introductory information about your service, or info about |
|
832 |
upgrades and outages, or other community info. Any HTML will |
| fc3b538 by Zach Copley at 2010-03-04 |
833 |
be escaped. |
| 70d5fc4 by Evan Prodromou at 2009-03-11 |
834 |
logo: URL of an image file to use as the logo for the site. Overrides |
| fc3b538 by Zach Copley at 2010-03-04 |
835 |
the logo in the theme, if any. |
| 07eae0c by Evan Prodromou at 2009-03-26 |
836 |
ssl: Whether to use SSL and https:// URLs for some or all pages. |
| fc3b538 by Zach Copley at 2010-03-04 |
837 |
Possible values are 'always' (use it for all pages), 'never' |
|
838 |
(don't use it for any pages), or 'sometimes' (use it for |
|
839 |
sensitive pages that include passwords like login and registration, |
|
840 |
but not for regular pages). Default to 'never'. |
| 07eae0c by Evan Prodromou at 2009-03-26 |
841 |
sslserver: use an alternate server name for SSL URLs, like |
| fc3b538 by Zach Copley at 2010-03-04 |
842 |
'secure.example.org'. You should be careful to set cookie |
|
843 |
parameters correctly so that both the SSL server and the |
|
844 |
"normal" server can access the session cookie and |
|
845 |
preferably other cookies as well. |
| b416df9 by Jeff Mitchell at 2009-07-01 |
846 |
shorturllength: Length of URL at which URLs in a message exceeding 140 |
| fc3b538 by Zach Copley at 2010-03-04 |
847 |
characters will be sent to the user's chosen |
|
848 |
shortening service. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
849 |
dupelimit: minimum time allowed for one person to say the same thing |
| fc3b538 by Zach Copley at 2010-03-04 |
850 |
twice. Default 60s. Anything lower is considered a user |
|
851 |
or UI error. |
| 9828c64 by Evan Prodromou at 2009-08-21 |
852 |
textlimit: default max size for texts in the site. Defaults to 140. |
| fc3b538 by Zach Copley at 2010-03-04 |
853 |
0 means no limit. Can be fine-tuned for notices, messages, |
|
854 |
profile bios and group descriptions. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
855 |
|
| 728f6f2 by Evan Prodromou at 2008-10-06 |
856 |
db |
|
857 |
-- |
|
858 |
|
|
859 |
This section is a reference to the configuration options for |
| a5a7c50 by Robin Millette at 2009-02-03 |
860 |
DB_DataObject (see <http://ur1.ca/7xp>). The ones that you may want to |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
861 |
set are listed below for clarity. |
|
862 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
863 |
database: a DSN (Data Source Name) for your StatusNet database. This is |
| fc3b538 by Zach Copley at 2010-03-04 |
864 |
in the format 'protocol://username:password@hostname/databasename', |
|
865 |
where 'protocol' is 'mysql' or 'mysqli' (or possibly 'postgresql', if you |
|
866 |
really know what you're doing), 'username' is the username, |
|
867 |
'password' is the password, and etc. |
| 3567b9d by Evan Prodromou at 2009-08-26 |
868 |
ini_yourdbname: if your database is not named 'statusnet', you'll need |
| fc3b538 by Zach Copley at 2010-03-04 |
869 |
to set this to point to the location of the |
|
870 |
statusnet.ini file. Note that the real name of your database |
|
871 |
should go in there, not literally 'yourdbname'. |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
872 |
db_driver: You can try changing this to 'MDB2' to use the other driver |
| fc3b538 by Zach Copley at 2010-03-04 |
873 |
type for DB_DataObject, but note that it breaks the OpenID |
|
874 |
libraries, which only support PEAR::DB. |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
875 |
debug: On a database error, you may get a message saying to set this |
| fc3b538 by Zach Copley at 2010-03-04 |
876 |
value to 5 to see debug messages in the browser. This breaks |
|
877 |
just about all pages, and will also expose the username and |
|
878 |
password |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
879 |
quote_identifiers: Set this to true if you're using postgresql. |
|
880 |
type: either 'mysql' or 'postgresql' (used for some bits of |
| fc3b538 by Zach Copley at 2010-03-04 |
881 |
database-type-specific SQL in the code). Defaults to mysql. |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
882 |
mirror: you can set this to an array of DSNs, like the above |
| e6f379f by Zach Copley at 2010-03-04 |
883 |
'database' value. If it's set, certain read-only actions will |
|
884 |
use a random value out of this array for the database, rather |
|
885 |
than the one in 'database' (actually, 'database' is overwritten). |
|
886 |
You can offload a busy DB server by setting up MySQL replication |
|
887 |
and adding the slaves to this array. Note that if you want some |
|
888 |
requests to go to the 'database' (master) server, you'll need |
|
889 |
to include it in this array, too. |
| d068680 by Evan Prodromou at 2009-05-27 |
890 |
utf8: whether to talk to the database in UTF-8 mode. This is the default |
| fc3b538 by Zach Copley at 2010-03-04 |
891 |
with new installations, but older sites may want to turn it off |
|
892 |
until they get their databases fixed up. See "UTF-8 database" |
|
893 |
above for details. |
| d103522 by Evan Prodromou at 2009-10-01 |
894 |
schemacheck: when to let plugins check the database schema to add |
| fc3b538 by Zach Copley at 2010-03-04 |
895 |
tables or update them. Values can be 'runtime' (default) |
|
896 |
or 'script'. 'runtime' can be costly (plugins check the |
|
897 |
schema on every hit, adding potentially several db |
|
898 |
queries, some quite long), but not everyone knows how to |
|
899 |
run a script. If you can, set this to 'script' and run |
|
900 |
scripts/checkschema.php whenever you install or upgrade a |
|
901 |
plugin. |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
902 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
903 |
syslog |
|
904 |
------ |
|
905 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
906 |
By default, StatusNet sites log error messages to the syslog facility. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
907 |
(You can override this using the 'logfile' parameter described above). |
|
908 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
909 |
appname: The name that StatusNet uses to log messages. By default it's |
| fc3b538 by Zach Copley at 2010-03-04 |
910 |
"statusnet", but if you have more than one installation on the |
|
911 |
server, you may want to change the name for each instance so |
|
912 |
you can track log messages more easily. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
913 |
priority: level to log at. Currently ignored. |
|
914 |
facility: what syslog facility to used. Defaults to LOG_USER, only |
| fc3b538 by Zach Copley at 2010-03-04 |
915 |
reset if you know what syslog is and have a good reason |
|
916 |
to change it. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
917 |
|
|
918 |
queue |
|
919 |
----- |
|
920 |
|
|
921 |
You can configure the software to queue time-consuming tasks, like |
|
922 |
sending out SMS email or XMPP messages, for off-line processing. See |
|
923 |
'Queues and daemons' above for how to set this up. |
|
924 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
925 |
enabled: Whether to uses queues. Defaults to false. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
926 |
subsystem: Which kind of queueserver to use. Values include "db" for |
| fc3b538 by Zach Copley at 2010-03-04 |
927 |
our hacked-together database queuing (no other server |
|
928 |
required) and "stomp" for a stomp server. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
929 |
stomp_server: "broker URI" for stomp server. Something like |
| fc3b538 by Zach Copley at 2010-03-04 |
930 |
"tcp://hostname:61613". More complicated ones are |
|
931 |
possible; see your stomp server's documentation for |
|
932 |
details. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
933 |
queue_basename: a root name to use for queues (stomp only). Typically |
| fc3b538 by Zach Copley at 2010-03-04 |
934 |
something like '/queue/sitename/' makes sense. If running |
|
935 |
multiple instances on the same server, make sure that |
|
936 |
either this setting or $config['site']['nickname'] are |
|
937 |
unique for each site to keep them separate. |
| 96c06dd by Evan Prodromou at 2010-03-04 |
938 |
|
| f2b12c6 by Evan Prodromou at 2009-07-10 |
939 |
stomp_username: username for connecting to the stomp server; defaults |
| fc3b538 by Zach Copley at 2010-03-04 |
940 |
to null. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
941 |
stomp_password: password for connecting to the stomp server; defaults |
| fc3b538 by Zach Copley at 2010-03-04 |
942 |
to null. |
| 22c0633 by Brion Vibber at 2010-03-04 |
943 |
|
|
944 |
stomp_persistent: keep items across queue server restart, if enabled. |
|
945 |
|
|
946 |
softlimit: an absolute or relative "soft memory limit"; daemons will |
| fc3b538 by Zach Copley at 2010-03-04 |
947 |
restart themselves gracefully when they find they've hit |
|
948 |
this amount of memory usage. Defaults to 90% of PHP's global |
|
949 |
memory_limit setting. |
| 22c0633 by Brion Vibber at 2010-03-04 |
950 |
|
|
951 |
inboxes: delivery of messages to receiver's inboxes can be delayed to |
| fc3b538 by Zach Copley at 2010-03-04 |
952 |
queue time for best interactive performance on the sender. |
|
953 |
This may however be annoyingly slow when using the DB queues, |
|
954 |
so you can set this to false if it's causing trouble. |
| 22c0633 by Brion Vibber at 2010-03-04 |
955 |
|
|
956 |
breakout: for stomp, individual queues are by default grouped up for |
| fc3b538 by Zach Copley at 2010-03-04 |
957 |
best scalability. If some need to be run by separate daemons, |
|
958 |
etc they can be manually adjusted here. |
| 22c0633 by Brion Vibber at 2010-03-04 |
959 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
960 |
Default will share all queues for all sites within each group. |
|
961 |
Specify as <group>/<queue> or <group>/<queue>/<site>, |
|
962 |
using nickname identifier as site. |
| 22c0633 by Brion Vibber at 2010-03-04 |
963 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
964 |
'main/distrib' separate "distrib" queue covering all sites |
|
965 |
'xmpp/xmppout/mysite' separate "xmppout" queue covering just 'mysite' |
| 22c0633 by Brion Vibber at 2010-03-04 |
966 |
|
|
967 |
max_retries: for stomp, drop messages after N failed attempts to process. |
| fc3b538 by Zach Copley at 2010-03-04 |
968 |
Defaults to 10. |
| 22c0633 by Brion Vibber at 2010-03-04 |
969 |
|
|
970 |
dead_letter_dir: for stomp, optional directory to dump data on failed |
| fc3b538 by Zach Copley at 2010-03-04 |
971 |
queue processing events after discarding them. |
| 22c0633 by Brion Vibber at 2010-03-04 |
972 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
973 |
license |
|
974 |
------- |
|
975 |
|
|
976 |
The default license to use for your users notices. The default is the |
|
977 |
Creative Commons Attribution 3.0 license, which is probably the right |
|
978 |
choice for any public site. Note that some other servers will not |
|
979 |
accept notices if you apply a stricter license than this. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
980 |
|
| c7f14cd by Evan Prodromou at 2010-01-19 |
981 |
type: one of 'cc' (for Creative Commons licenses), 'allrightsreserved' |
| fc3b538 by Zach Copley at 2010-03-04 |
982 |
(default copyright), or 'private' (for private and confidential |
|
983 |
information). |
| c7f14cd by Evan Prodromou at 2010-01-19 |
984 |
owner: for 'allrightsreserved' or 'private', an assigned copyright |
| fc3b538 by Zach Copley at 2010-03-04 |
985 |
holder (for example, an employer for a private site). If |
|
986 |
not specified, will be attributed to 'contributors'. |
| a1434ee by Evan Prodromou at 2008-09-23 |
987 |
url: URL of the license, used for links. |
|
988 |
title: Title for the license, like 'Creative Commons Attribution 3.0'. |
|
989 |
image: A button shown on each page for the license. |
|
990 |
|
|
991 |
mail |
| fbe15ef by Evan Prodromou at 2008-09-18 |
992 |
---- |
|
993 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
994 |
This is for configuring out-going email. We use PEAR's Mail module, |
|
995 |
see: http://pear.php.net/manual/en/package.mail.mail.factory.php |
| fbe15ef by Evan Prodromou at 2008-09-18 |
996 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
997 |
backend: the backend to use for mail, one of 'mail', 'sendmail', and |
| fc3b538 by Zach Copley at 2010-03-04 |
998 |
'smtp'. Defaults to PEAR's default, 'mail'. |
| a1434ee by Evan Prodromou at 2008-09-23 |
999 |
params: if the mail backend requires any parameters, you can provide |
| e6f379f by Zach Copley at 2010-03-04 |
1000 |
them in an associative array. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
1001 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
1002 |
nickname |
|
1003 |
-------- |
|
1004 |
|
|
1005 |
This is for configuring nicknames in the service. |
|
1006 |
|
|
1007 |
blacklist: an array of strings for usernames that may not be |
| fc3b538 by Zach Copley at 2010-03-04 |
1008 |
registered. A default array exists for strings that are |
|
1009 |
used by StatusNet (e.g. 'doc', 'main', 'avatar', 'theme') |
|
1010 |
but you may want to add others if you have other software |
|
1011 |
installed in a subdirectory of StatusNet or if you just |
|
1012 |
don't want certain words used as usernames. |
| 7557079 by Evan Prodromou at 2008-11-20 |
1013 |
featured: an array of nicknames of 'featured' users of the site. |
| fc3b538 by Zach Copley at 2010-03-04 |
1014 |
Can be useful to draw attention to well-known users, or |
|
1015 |
interesting people, or whatever. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1016 |
|
|
1017 |
avatar |
|
1018 |
------ |
|
1019 |
|
|
1020 |
For configuring avatar access. |
|
1021 |
|
| fc3b538 by Zach Copley at 2010-03-04 |
1022 |
dir: Directory to look for avatar files and to put them into. |
| e6f379f by Zach Copley at 2010-03-04 |
1023 |
Defaults to avatar subdirectory of install directory; if |
|
1024 |
you change it, make sure to change path, too. |
| fc3b538 by Zach Copley at 2010-03-04 |
1025 |
path: Path to avatars. Defaults to path for avatar subdirectory, |
| e6f379f by Zach Copley at 2010-03-04 |
1026 |
but you can change it if you wish. Note that this will |
|
1027 |
be included with the avatar server, too. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1028 |
server: If set, defines another server where avatars are stored in the |
| e6f379f by Zach Copley at 2010-03-04 |
1029 |
root directory. Note that the 'avatar' subdir still has to be |
|
1030 |
writeable. You'd typically use this to split HTTP requests on |
|
1031 |
the client to speed up page loading, either with another |
|
1032 |
virtual server or with an NFS or SAMBA share. Clients |
|
1033 |
typically only make 2 connections to a single server at a |
|
1034 |
time <http://ur1.ca/6ih>, so this can parallelize the job. |
|
1035 |
Defaults to null. |
| fc3b538 by Zach Copley at 2010-03-04 |
1036 |
ssl: Whether to access avatars using HTTPS. Defaults to null, meaning |
|
1037 |
to guess based on site-wide SSL settings. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1038 |
|
|
1039 |
public |
|
1040 |
------ |
|
1041 |
|
|
1042 |
For configuring the public stream. |
|
1043 |
|
|
1044 |
localonly: If set to true, only messages posted by users of this |
| fc3b538 by Zach Copley at 2010-03-04 |
1045 |
service (rather than other services, filtered through OMB) |
|
1046 |
are shown in the public stream. Default true. |
| 7557079 by Evan Prodromou at 2008-11-20 |
1047 |
blacklist: An array of IDs of users to hide from the public stream. |
| fc3b538 by Zach Copley at 2010-03-04 |
1048 |
Useful if you have someone making excessive Twitterfeed posts |
|
1049 |
to the site, other kinds of automated posts, testing bots, etc. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1050 |
autosource: Sources of notices that are from automatic posters, and thus |
| fc3b538 by Zach Copley at 2010-03-04 |
1051 |
should be kept off the public timeline. Default empty. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1052 |
|
|
1053 |
theme |
|
1054 |
----- |
|
1055 |
|
|
1056 |
server: Like avatars, you can speed up page loading by pointing the |
| e6f379f by Zach Copley at 2010-03-04 |
1057 |
theme file lookup to another server (virtual or real). |
|
1058 |
Defaults to NULL, meaning to use the site server. |
| fc3b538 by Zach Copley at 2010-03-04 |
1059 |
dir: Directory where theme files are stored. Used to determine |
| e6f379f by Zach Copley at 2010-03-04 |
1060 |
whether to show parts of a theme file. Defaults to the theme |
|
1061 |
subdirectory of the install directory. |
| fc3b538 by Zach Copley at 2010-03-04 |
1062 |
path: Path part of theme URLs, before the theme name. Relative to the |
| e6f379f by Zach Copley at 2010-03-04 |
1063 |
theme server. It may make sense to change this path when upgrading, |
|
1064 |
(using version numbers as the path) to make sure that all files are |
|
1065 |
reloaded by caching clients or proxies. Defaults to null, |
|
1066 |
which means to use the site path + '/theme'. |
| fc3b538 by Zach Copley at 2010-03-04 |
1067 |
ssl: Whether to use SSL for theme elements. Default is null, which means |
| e6f379f by Zach Copley at 2010-03-04 |
1068 |
guess based on site SSL settings. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1069 |
|
| b96af33 by Evan Prodromou at 2010-02-11 |
1070 |
javascript |
|
1071 |
---------- |
|
1072 |
|
|
1073 |
server: You can speed up page loading by pointing the |
| e6f379f by Zach Copley at 2010-03-04 |
1074 |
theme file lookup to another server (virtual or real). |
|
1075 |
Defaults to NULL, meaning to use the site server. |
| fc3b538 by Zach Copley at 2010-03-04 |
1076 |
path: Path part of Javascript URLs. Defaults to null, |
| e6f379f by Zach Copley at 2010-03-04 |
1077 |
which means to use the site path + '/js/'. |
| fc3b538 by Zach Copley at 2010-03-04 |
1078 |
ssl: Whether to use SSL for JavaScript files. Default is null, which means |
| e6f379f by Zach Copley at 2010-03-04 |
1079 |
guess based on site SSL settings. |
| b96af33 by Evan Prodromou at 2010-02-11 |
1080 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
1081 |
xmpp |
| fbe15ef by Evan Prodromou at 2008-09-18 |
1082 |
---- |
|
1083 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
1084 |
For configuring the XMPP sub-system. |
|
1085 |
|
|
1086 |
enabled: Whether to accept and send messages by XMPP. Default false. |
|
1087 |
server: server part of XMPP ID for update user. |
|
1088 |
port: connection port for clients. Default 5222, which you probably |
| fc3b538 by Zach Copley at 2010-03-04 |
1089 |
shouldn't need to change. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1090 |
user: username for the client connection. Users will receive messages |
| fc3b538 by Zach Copley at 2010-03-04 |
1091 |
from 'user'@'server'. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1092 |
resource: a unique identifier for the connection to the server. This |
| fc3b538 by Zach Copley at 2010-03-04 |
1093 |
is actually used as a prefix for each XMPP component in the system. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1094 |
password: password for the user account. |
|
1095 |
host: some XMPP domains are served by machines with a different |
| fc3b538 by Zach Copley at 2010-03-04 |
1096 |
hostname. (For example, @gmail.com GTalk users connect to |
|
1097 |
talk.google.com). Set this to the correct hostname if that's the |
|
1098 |
case with your server. |
| 2506207 by Evan Prodromou at 2009-08-26 |
1099 |
encryption: Whether to encrypt the connection between StatusNet and the |
| fc3b538 by Zach Copley at 2010-03-04 |
1100 |
XMPP server. Defaults to true, but you can get |
|
1101 |
considerably better performance turning it off if you're |
|
1102 |
connecting to a server on the same machine or on a |
|
1103 |
protected network. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1104 |
debug: if turned on, this will make the XMPP library blurt out all of |
| fc3b538 by Zach Copley at 2010-03-04 |
1105 |
the incoming and outgoing messages as XML stanzas. Use as a |
|
1106 |
last resort, and never turn it on if you don't have queues |
|
1107 |
enabled, since it will spit out sensitive data to the browser. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1108 |
public: an array of JIDs to send _all_ notices to. This is useful for |
| e6f379f by Zach Copley at 2010-03-04 |
1109 |
participating in third-party search and archiving services. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1110 |
|
| 6d308f6 by Jeffery To at 2009-06-14 |
1111 |
invite |
|
1112 |
------ |
|
1113 |
|
|
1114 |
For configuring invites. |
|
1115 |
|
|
1116 |
enabled: Whether to allow users to send invites. Default true. |
|
1117 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
1118 |
tag |
|
1119 |
--- |
|
1120 |
|
|
1121 |
Miscellaneous tagging stuff. |
|
1122 |
|
|
1123 |
dropoff: Decay factor for tag listing, in seconds. |
| fc3b538 by Zach Copley at 2010-03-04 |
1124 |
Defaults to exponential decay over ten days; you can twiddle |
|
1125 |
with it to try and get better results for your site. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
1126 |
|
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1127 |
popular |
|
1128 |
------- |
|
1129 |
|
|
1130 |
Settings for the "popular" section of the site. |
|
1131 |
|
|
1132 |
dropoff: Decay factor for popularity listing, in seconds. |
| fc3b538 by Zach Copley at 2010-03-04 |
1133 |
Defaults to exponential decay over ten days; you can twiddle |
|
1134 |
with it to try and get better results for your site. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1135 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
1136 |
daemon |
|
1137 |
------ |
|
1138 |
|
|
1139 |
For daemon processes. |
|
1140 |
|
|
1141 |
piddir: directory that daemon processes should write their PID file |
| e6f379f by Zach Copley at 2010-03-04 |
1142 |
(process ID) to. Defaults to /var/run/, which is where this |
|
1143 |
stuff should usually go on Unix-ish systems. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1144 |
user: If set, the daemons will try to change their effective user ID |
| fc3b538 by Zach Copley at 2010-03-04 |
1145 |
to this user before running. Probably a good idea, especially if |
|
1146 |
you start the daemons as root. Note: user name, like 'daemon', |
|
1147 |
not 1001. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1148 |
group: If set, the daemons will try to change their effective group ID |
| fc3b538 by Zach Copley at 2010-03-04 |
1149 |
to this named group. Again, a name, not a numerical ID. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1150 |
|
| 728f6f2 by Evan Prodromou at 2008-10-06 |
1151 |
memcached |
|
1152 |
--------- |
|
1153 |
|
|
1154 |
You can get a significant boost in performance by caching some |
| a5a7c50 by Robin Millette at 2009-02-03 |
1155 |
database data in memcached <http://www.danga.com/memcached/>. |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
1156 |
|
|
1157 |
enabled: Set to true to enable. Default false. |
|
1158 |
server: a string with the hostname of the memcached server. Can also |
| e6f379f by Zach Copley at 2010-03-04 |
1159 |
be an array of hostnames, if you've got more than one server. |
| fd290fc by Evan Prodromou at 2009-06-16 |
1160 |
base: memcached uses key-value pairs to store data. We build long, |
| fc3b538 by Zach Copley at 2010-03-04 |
1161 |
funny-looking keys to make sure we don't have any conflicts. The |
|
1162 |
base of the key is usually a simplified version of the site name |
|
1163 |
(like "Identi.ca" => "identica"), but you can overwrite this if |
|
1164 |
you need to. You can safely ignore it if you only have one |
|
1165 |
StatusNet site using your memcached server. |
| fd290fc by Evan Prodromou at 2009-06-16 |
1166 |
port: Port to connect to; defaults to 11211. |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
1167 |
|
| 5f293f0 by Jeffery To at 2009-08-06 |
1168 |
emailpost |
|
1169 |
--------- |
|
1170 |
|
|
1171 |
For post-by-email. |
|
1172 |
|
|
1173 |
enabled: Whether to enable post-by-email. Defaults to true. You will |
| fc3b538 by Zach Copley at 2010-03-04 |
1174 |
also need to set up maildaemon.php. |
| 5f293f0 by Jeffery To at 2009-08-06 |
1175 |
|
| 93f5854 by Jeffery To at 2009-08-06 |
1176 |
sms |
|
1177 |
--- |
|
1178 |
|
|
1179 |
For SMS integration. |
|
1180 |
|
|
1181 |
enabled: Whether to enable SMS integration. Defaults to true. Queues |
| fc3b538 by Zach Copley at 2010-03-04 |
1182 |
should also be enabled. |
| 93f5854 by Jeffery To at 2009-08-06 |
1183 |
|
| 728f6f2 by Evan Prodromou at 2008-10-06 |
1184 |
integration |
|
1185 |
----------- |
|
1186 |
|
|
1187 |
A catch-all for integration with other systems. |
|
1188 |
|
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1189 |
taguri: base for tag:// URIs. Defaults to site-server + ',2009'. |
| 728f6f2 by Evan Prodromou at 2008-10-06 |
1190 |
|
| 169b3e0 by Evan Prodromou at 2008-11-13 |
1191 |
inboxes |
|
1192 |
------- |
|
1193 |
|
|
1194 |
For notice inboxes. |
|
1195 |
|
| 4f5badd by Evan Prodromou at 2009-10-13 |
1196 |
enabled: No longer used. If you set this to something other than true, |
| fc3b538 by Zach Copley at 2010-03-04 |
1197 |
StatusNet will no longer run. |
| 169b3e0 by Evan Prodromou at 2008-11-13 |
1198 |
|
| 203bc45 by Evan Prodromou at 2008-12-12 |
1199 |
throttle |
|
1200 |
-------- |
|
1201 |
|
|
1202 |
For notice-posting throttles. |
|
1203 |
|
|
1204 |
enabled: Whether to throttle posting. Defaults to false. |
|
1205 |
count: Each user can make this many posts in 'timespan' seconds. So, if count |
| fc3b538 by Zach Copley at 2010-03-04 |
1206 |
is 100 and timespan is 3600, then there can be only 100 posts |
|
1207 |
from a user every hour. |
| 203bc45 by Evan Prodromou at 2008-12-12 |
1208 |
timespan: see 'count'. |
|
1209 |
|
|
1210 |
profile |
|
1211 |
------- |
|
1212 |
|
|
1213 |
Profile management. |
|
1214 |
|
| 9828c64 by Evan Prodromou at 2009-08-21 |
1215 |
biolimit: max character length of bio; 0 means no limit; null means to use |
| fc3b538 by Zach Copley at 2010-03-04 |
1216 |
the site text limit default. |
| 203bc45 by Evan Prodromou at 2008-12-12 |
1217 |
|
| fe426a3 by Evan Prodromou at 2009-03-28 |
1218 |
newuser |
|
1219 |
------- |
|
1220 |
|
|
1221 |
Options with new users. |
|
1222 |
|
| e00508d by Evan Prodromou at 2009-03-30 |
1223 |
default: nickname of a user account to automatically subscribe new |
| fc3b538 by Zach Copley at 2010-03-04 |
1224 |
users to. Typically this would be system account for e.g. |
|
1225 |
service updates or announcements. Users are able to unsub |
|
1226 |
if they want. Default is null; no auto subscribe. |
| fe426a3 by Evan Prodromou at 2009-03-28 |
1227 |
welcome: nickname of a user account that sends welcome messages to new |
| fc3b538 by Zach Copley at 2010-03-04 |
1228 |
users. Can be the same as 'default' account, although on |
|
1229 |
busy servers it may be a good idea to keep that one just for |
|
1230 |
'urgent' messages. Default is null; no message. |
| fe426a3 by Evan Prodromou at 2009-03-28 |
1231 |
|
| 3e3fec3 by CiaranG at 2009-04-16 |
1232 |
If either of these special user accounts are specified, the users should |
|
1233 |
be created before the configuration is updated. |
|
1234 |
|
| b233e7b by Evan Prodromou at 2009-04-16 |
1235 |
snapshot |
|
1236 |
-------- |
|
1237 |
|
|
1238 |
The software will, by default, send statistical snapshots about the |
| 2506207 by Evan Prodromou at 2009-08-26 |
1239 |
local installation to a stats server on the status.net Web site. This |
| b233e7b by Evan Prodromou at 2009-04-16 |
1240 |
data is used by the developers to prioritize development decisions. No |
|
1241 |
identifying data about users or organizations is collected. The data |
|
1242 |
is available to the public for review. Participating in this survey |
| 2506207 by Evan Prodromou at 2009-08-26 |
1243 |
helps StatusNet developers take your needs into account when updating |
| b233e7b by Evan Prodromou at 2009-04-16 |
1244 |
the software. |
|
1245 |
|
|
1246 |
run: string indicating when to run the statistics. Values can be 'web' |
| fc3b538 by Zach Copley at 2010-03-04 |
1247 |
(run occasionally at Web time), 'cron' (run from a cron script), |
|
1248 |
or 'never' (don't ever run). If you set it to 'cron', remember to |
|
1249 |
schedule the script to run on a regular basis. |
| b233e7b by Evan Prodromou at 2009-04-16 |
1250 |
frequency: if run value is 'web', how often to report statistics. |
| fc3b538 by Zach Copley at 2010-03-04 |
1251 |
Measured in Web hits; depends on how active your site is. |
|
1252 |
Default is 10000 -- that is, one report every 10000 Web hits, |
|
1253 |
on average. |
| 2506207 by Evan Prodromou at 2009-08-26 |
1254 |
reporturl: URL to post statistics to. Defaults to StatusNet developers' |
| fc3b538 by Zach Copley at 2010-03-04 |
1255 |
report system, but if they go evil or disappear you may |
|
1256 |
need to update this to another value. Note: if you |
|
1257 |
don't want to report stats, it's much better to |
|
1258 |
set 'run' to 'never' than to set this value to something |
|
1259 |
nonsensical. |
| b233e7b by Evan Prodromou at 2009-04-16 |
1260 |
|
| ebeb5f7 by Robin Millette at 2009-05-31 |
1261 |
attachments |
|
1262 |
----------- |
|
1263 |
|
|
1264 |
The software lets users upload files with their notices. You can configure |
|
1265 |
the types of accepted files by mime types and a trio of quota options: |
|
1266 |
per file, per user (total), per user per month. |
|
1267 |
|
| abe68f4 by Robin Millette at 2009-06-01 |
1268 |
We suggest the use of the pecl file_info extension to handle mime type |
|
1269 |
detection. |
|
1270 |
|
| ebeb5f7 by Robin Millette at 2009-05-31 |
1271 |
supported: an array of mime types you accept to store and distribute, |
| fc3b538 by Zach Copley at 2010-03-04 |
1272 |
like 'image/gif', 'video/mpeg', 'audio/mpeg', etc. Make sure you |
|
1273 |
setup your server to properly recognize the types you want to |
|
1274 |
support. |
|
1275 |
uploads: false to disable uploading files with notices (true by default). |
| 7bcaa85 by Evan Prodromou at 2009-06-23 |
1276 |
filecommand: The required MIME_Type library may need to use the 'file' |
| fc3b538 by Zach Copley at 2010-03-04 |
1277 |
command. It tries the one in the Web server's path, but if |
|
1278 |
you're having problems with uploads, try setting this to the |
|
1279 |
correct value. Note: 'file' must accept '-b' and '-i' options. |
| abe68f4 by Robin Millette at 2009-06-01 |
1280 |
|
|
1281 |
For quotas, be sure you've set the upload_max_filesize and post_max_size |
|
1282 |
in php.ini to be large enough to handle your upload. In httpd.conf |
|
1283 |
(if you're using apache), check that the LimitRequestBody directive isn't |
|
1284 |
set too low (it's optional, so it may not be there at all). |
|
1285 |
|
|
1286 |
file_quota: maximum size for a single file upload in bytes. A user can send |
| fc3b538 by Zach Copley at 2010-03-04 |
1287 |
any amount of notices with attachments as long as each attachment |
|
1288 |
is smaller than file_quota. |
| abe68f4 by Robin Millette at 2009-06-01 |
1289 |
user_quota: total size in bytes a user can store on this server. Each user |
| fc3b538 by Zach Copley at 2010-03-04 |
1290 |
can store any number of files as long as their total size does |
|
1291 |
not exceed the user_quota. |
| abe68f4 by Robin Millette at 2009-06-01 |
1292 |
monthly_quota: total size permitted in the current month. This is the total |
| fc3b538 by Zach Copley at 2010-03-04 |
1293 |
size in bytes that a user can upload each month. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1294 |
dir: directory accessible to the Web process where uploads should go. |
| fc3b538 by Zach Copley at 2010-03-04 |
1295 |
Defaults to the 'file' subdirectory of the install directory, which |
|
1296 |
should be writeable by the Web user. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1297 |
server: server name to use when creating URLs for uploaded files. |
| fc3b538 by Zach Copley at 2010-03-04 |
1298 |
Defaults to null, meaning to use the default Web server. Using |
|
1299 |
a virtual server here can speed up Web performance. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1300 |
path: URL path, relative to the server, to find files. Defaults to |
| fc3b538 by Zach Copley at 2010-03-04 |
1301 |
main path + '/file/'. |
| 31461e1 by Evan Prodromou at 2010-02-11 |
1302 |
ssl: whether to use HTTPS for file URLs. Defaults to null, meaning to |
| fc3b538 by Zach Copley at 2010-03-04 |
1303 |
guess based on other SSL settings. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1304 |
filecommand: command to use for determining the type of a file. May be |
| fc3b538 by Zach Copley at 2010-03-04 |
1305 |
skipped if fileinfo extension is installed. Defaults to |
|
1306 |
'/usr/bin/file'. |
| ebeb5f7 by Robin Millette at 2009-05-31 |
1307 |
|
| ecbd771 by Evan Prodromou at 2009-06-15 |
1308 |
group |
|
1309 |
----- |
|
1310 |
|
|
1311 |
Options for group functionality. |
|
1312 |
|
|
1313 |
maxaliases: maximum number of aliases a group can have. Default 3. Set |
| fc3b538 by Zach Copley at 2010-03-04 |
1314 |
to 0 or less to prevent aliases in a group. |
| a28bbdf by Evan Prodromou at 2009-08-21 |
1315 |
desclimit: maximum number of characters to allow in group descriptions. |
| fc3b538 by Zach Copley at 2010-03-04 |
1316 |
null (default) means to use the site-wide text limits. 0 |
|
1317 |
means no limit. |
| ebeb5f7 by Robin Millette at 2009-05-31 |
1318 |
|
| 28d02ec by Robin Millette at 2009-06-17 |
1319 |
oohembed |
|
1320 |
-------- |
|
1321 |
|
|
1322 |
oEmbed endpoint for multimedia attachments (links in posts). |
|
1323 |
|
|
1324 |
endpoint: oohembed endpoint using http://oohembed.com/ software. |
|
1325 |
|
| 876ab05 by Evan Prodromou at 2009-06-22 |
1326 |
search |
|
1327 |
------ |
|
1328 |
|
|
1329 |
Some stuff for search. |
|
1330 |
|
|
1331 |
type: type of search. Ignored if PostgreSQL or Sphinx are enabled. Can either |
| fc3b538 by Zach Copley at 2010-03-04 |
1332 |
be 'fulltext' (default) or 'like'. The former is faster and more efficient |
|
1333 |
but requires the lame old MyISAM engine for MySQL. The latter |
|
1334 |
will work with InnoDB but could be miserably slow on large |
|
1335 |
systems. We'll probably add another type sometime in the future, |
|
1336 |
with our own indexing system (maybe like MediaWiki's). |
| 876ab05 by Evan Prodromou at 2009-06-22 |
1337 |
|
| 71dad1f by Evan Prodromou at 2009-06-27 |
1338 |
sessions |
|
1339 |
-------- |
|
1340 |
|
|
1341 |
Session handling. |
|
1342 |
|
|
1343 |
handle: boolean. Whether we should register our own PHP session-handling |
| e6f379f by Zach Copley at 2010-03-04 |
1344 |
code (using the database and memcache if enabled). Defaults to false. |
|
1345 |
Setting this to true makes some sense on large or multi-server |
|
1346 |
sites, but it probably won't hurt for smaller ones, either. |
| 871f598 by Evan Prodromou at 2009-06-27 |
1347 |
debug: whether to output debugging info for session storage. Can help |
| fc3b538 by Zach Copley at 2010-03-04 |
1348 |
with weird session bugs, sometimes. Default false. |
| 71dad1f by Evan Prodromou at 2009-06-27 |
1349 |
|
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1350 |
background |
|
1351 |
---------- |
|
1352 |
|
|
1353 |
Users can upload backgrounds for their pages; this section defines |
|
1354 |
their use. |
|
1355 |
|
|
1356 |
server: the server to use for background. Using a separate (even |
| fc3b538 by Zach Copley at 2010-03-04 |
1357 |
virtual) server for this can speed up load times. Default is |
|
1358 |
null; same as site server. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1359 |
dir: directory to write backgrounds too. Default is '/background/' |
| fc3b538 by Zach Copley at 2010-03-04 |
1360 |
subdir of install dir. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1361 |
path: path to backgrounds. Default is sub-path of install path; note |
| fc3b538 by Zach Copley at 2010-03-04 |
1362 |
that you may need to change this if you change site-path too. |
| 3018683 by Evan Prodromou at 2010-02-11 |
1363 |
ssl: Whether or not to use HTTPS for background files. Defaults to |
| fc3b538 by Zach Copley at 2010-03-04 |
1364 |
null, meaning to guess from site-wide SSL settings. |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1365 |
|
|
1366 |
ping |
|
1367 |
---- |
|
1368 |
|
|
1369 |
Using the "XML-RPC Ping" method initiated by weblogs.com, the site can |
|
1370 |
notify third-party servers of updates. |
|
1371 |
|
|
1372 |
notify: an array of URLs for ping endpoints. Default is the empty |
| fc3b538 by Zach Copley at 2010-03-04 |
1373 |
array (no notification). |
| f2b12c6 by Evan Prodromou at 2009-07-10 |
1374 |
|
| ae81d36 by Evan Prodromou at 2009-07-30 |
1375 |
design |
|
1376 |
------ |
|
1377 |
|
|
1378 |
Default design (colors and background) for the site. Actual appearance |
|
1379 |
depends on the theme. Null values mean to use the theme defaults. |
|
1380 |
|
|
1381 |
backgroundcolor: Hex color of the site background. |
|
1382 |
contentcolor: Hex color of the content area background. |
|
1383 |
sidebarcolor: Hex color of the sidebar background. |
|
1384 |
textcolor: Hex color of all non-link text. |
|
1385 |
linkcolor: Hex color of all links. |
|
1386 |
backgroundimage: Image to use for the background. |
|
1387 |
disposition: Flags for whether or not to tile the background image. |
|
1388 |
|
| a28bbdf by Evan Prodromou at 2009-08-21 |
1389 |
notice |
|
1390 |
------ |
|
1391 |
|
|
1392 |
Configuration options specific to notices. |
|
1393 |
|
|
1394 |
contentlimit: max length of the plain-text content of a notice. |
| fc3b538 by Zach Copley at 2010-03-04 |
1395 |
Default is null, meaning to use the site-wide text limit. |
|
1396 |
0 means no limit. |
| a28bbdf by Evan Prodromou at 2009-08-21 |
1397 |
|
|
1398 |
message |
|
1399 |
------- |
|
1400 |
|
|
1401 |
Configuration options specific to messages. |
|
1402 |
|
|
1403 |
contentlimit: max length of the plain-text content of a message. |
| fc3b538 by Zach Copley at 2010-03-04 |
1404 |
Default is null, meaning to use the site-wide text limit. |
|
1405 |
0 means no limit. |
| a28bbdf by Evan Prodromou at 2009-08-21 |
1406 |
|
| 1aae7f3 by Evan Prodromou at 2009-12-15 |
1407 |
logincommand |
|
1408 |
------------ |
|
1409 |
|
|
1410 |
Configuration options for the login command. |
|
1411 |
|
|
1412 |
disabled: whether to enable this command. If enabled, users who send |
| fc3b538 by Zach Copley at 2010-03-04 |
1413 |
the text 'login' to the site through any channel will |
|
1414 |
receive a link to login to the site automatically in return. |
|
1415 |
Possibly useful for users who primarily use an XMPP or SMS |
|
1416 |
interface and can't be bothered to remember their site |
|
1417 |
password. Note that the security implications of this are |
|
1418 |
pretty serious and have not been thoroughly tested. You |
|
1419 |
should enable it only after you've convinced yourself that |
|
1420 |
it is safe. Default is 'false'. |
| 1aae7f3 by Evan Prodromou at 2009-12-15 |
1421 |
|
| 655573c by Evan Prodromou at 2010-01-26 |
1422 |
singleuser |
|
1423 |
---------- |
|
1424 |
|
|
1425 |
If an installation has only one user, this can simplify a lot of the |
|
1426 |
interface. It also makes the user's profile the root URL. |
|
1427 |
|
|
1428 |
enabled: Whether to run in "single user mode". Default false. |
|
1429 |
nickname: nickname of the single user. |
|
1430 |
|
| dc62246 by Evan Prodromou at 2010-01-31 |
1431 |
robotstxt |
|
1432 |
--------- |
|
1433 |
|
|
1434 |
We put out a default robots.txt file to guide the processing of |
|
1435 |
Web crawlers. See http://www.robotstxt.org/ for more information |
|
1436 |
on the format of this file. |
|
1437 |
|
|
1438 |
crawldelay: if non-empty, this value is provided as the Crawl-Delay: |
| fc3b538 by Zach Copley at 2010-03-04 |
1439 |
for the robots.txt file. see http://ur1.ca/l5a0 |
|
1440 |
for more information. Default is zero, no explicit delay. |
| dc62246 by Evan Prodromou at 2010-01-31 |
1441 |
disallow: Array of (virtual) directories to disallow. Default is 'main', |
| fc3b538 by Zach Copley at 2010-03-04 |
1442 |
'search', 'message', 'settings', 'admin'. Ignored when site |
|
1443 |
is private, in which case the entire site ('/') is disallowed. |
| dc62246 by Evan Prodromou at 2010-01-31 |
1444 |
|
| 488befd by Evan Prodromou at 2009-07-15 |
1445 |
Plugins |
|
1446 |
======= |
|
1447 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
1448 |
Beginning with the 0.7.x branch, StatusNet has supported a simple but |
| 488befd by Evan Prodromou at 2009-07-15 |
1449 |
powerful plugin architecture. Important events in the code are named, |
|
1450 |
like 'StartNoticeSave', and other software can register interest |
|
1451 |
in those events. When the events happen, the other software is called |
|
1452 |
and has a choice of accepting or rejecting the events. |
|
1453 |
|
|
1454 |
In the simplest case, you can add a function to config.php and use the |
|
1455 |
Event::addHandler() function to hook an event: |
|
1456 |
|
|
1457 |
function AddGoogleLink($action) |
|
1458 |
{ |
|
1459 |
$action->menuItem('http://www.google.com/', _('Google'), _('Search engine')); |
|
1460 |
return true; |
|
1461 |
} |
|
1462 |
|
|
1463 |
Event::addHandler('EndPrimaryNav', 'AddGoogleLink'); |
|
1464 |
|
|
1465 |
This adds a menu item to the end of the main navigation menu. You can |
|
1466 |
see the list of existing events, and parameters that handlers must |
|
1467 |
implement, in EVENTS.txt. |
|
1468 |
|
|
1469 |
The Plugin class in lib/plugin.php makes it easier to write more |
|
1470 |
complex plugins. Sub-classes can just create methods named |
|
1471 |
'onEventName', where 'EventName' is the name of the event (case |
|
1472 |
matters!). These methods will be automatically registered as event |
|
1473 |
handlers by the Plugin constructor (which you must call from your own |
|
1474 |
class's constructor). |
|
1475 |
|
|
1476 |
Several example plugins are included in the plugins/ directory. You |
|
1477 |
can enable a plugin with the following line in config.php: |
|
1478 |
|
|
1479 |
addPlugin('Example', array('param1' => 'value1', |
|
1480 |
'param2' => 'value2')); |
|
1481 |
|
|
1482 |
This will look for and load files named 'ExamplePlugin.php' or |
|
1483 |
'Example/ExamplePlugin.php' either in the plugins/ directory (for |
| 2506207 by Evan Prodromou at 2009-08-26 |
1484 |
plugins that ship with StatusNet) or in the local/ directory (for |
| 488befd by Evan Prodromou at 2009-07-15 |
1485 |
plugins you write yourself or that you get from somewhere else) or |
|
1486 |
local/plugins/. |
|
1487 |
|
|
1488 |
Plugins are documented in their own directories. |
|
1489 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
1490 |
Troubleshooting |
|
1491 |
=============== |
|
1492 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
1493 |
The primary output for StatusNet is syslog, unless you configured a |
| a1434ee by Evan Prodromou at 2008-09-23 |
1494 |
separate logfile. This is probably the first place to look if you're |
| 2506207 by Evan Prodromou at 2009-08-26 |
1495 |
getting weird behaviour from StatusNet. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1496 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
1497 |
If you're tracking the unstable version of StatusNet in the git |
| a1434ee by Evan Prodromou at 2008-09-23 |
1498 |
repository (see below), and you get a compilation error ("unexpected |
|
1499 |
T_STRING") in the browser, check to see that you don't have any |
|
1500 |
conflicts in your code. |
| fbe15ef by Evan Prodromou at 2008-09-18 |
1501 |
|
| ddc71b6 by Evan Prodromou at 2010-03-28 |
1502 |
If you upgraded to StatusNet 0.9.1 without reading the "Notice |
| 82b0927 by Evan Prodromou at 2009-08-27 |
1503 |
inboxes" section above, and all your users' 'Personal' tabs are empty, |
|
1504 |
read the "Notice inboxes" section above. |
| 07086d1 by Evan Prodromou at 2008-11-14 |
1505 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
1506 |
Myths |
|
1507 |
===== |
|
1508 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
1509 |
These are some myths you may see on the Web about StatusNet. |
|
1510 |
Documentation from the core team about StatusNet has been pretty |
| fbe15ef by Evan Prodromou at 2008-09-18 |
1511 |
sparse, so some backtracking and guesswork resulted in some incorrect |
|
1512 |
assumptions. |
|
1513 |
|
|
1514 |
- "Set $config['db']['debug'] = 5 to debug the database." This is an |
|
1515 |
extremely bad idea. It's a tool built into DB_DataObject that will |
|
1516 |
emit oodles of print lines directly to the browser of your users. |
|
1517 |
Among these lines will be your database username and password. Do |
|
1518 |
not enable this option on a production Web site for any reason. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
1519 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
1520 |
- "Edit dataobject.ini with the following settings..." dataobject.ini |
|
1521 |
is a development file for the DB_DataObject framework and is not |
| 2506207 by Evan Prodromou at 2009-08-26 |
1522 |
used by the running software. It was removed from the StatusNet |
| fbe15ef by Evan Prodromou at 2008-09-18 |
1523 |
distribution because its presence was confusing. Do not bother |
|
1524 |
configuring dataobject.ini, and do not put your database username |
|
1525 |
and password into the file on a production Web server; unscrupulous |
|
1526 |
persons may try to read it to get your passwords. |
|
1527 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
1528 |
Unstable version |
|
1529 |
================ |
|
1530 |
|
|
1531 |
If you're adventurous or impatient, you may want to install the |
| 2506207 by Evan Prodromou at 2009-08-26 |
1532 |
development version of StatusNet. To get it, use the git version |
| a5a7c50 by Robin Millette at 2009-02-03 |
1533 |
control tool <http://git-scm.com/> like so: |
| fbe15ef by Evan Prodromou at 2008-09-18 |
1534 |
|
| e6f379f by Zach Copley at 2010-03-04 |
1535 |
git clone git@gitorious.org:statusnet/mainline.git |
| 82b0927 by Evan Prodromou at 2009-08-27 |
1536 |
|
|
1537 |
This is the version of the software that runs on Identi.ca and the |
|
1538 |
status.net hosted service. Using it is a mixed bag. On the positive |
|
1539 |
side, it usually includes the latest security and bug fix patches. On |
|
1540 |
the downside, it may also include changes that require admin |
|
1541 |
intervention (like running a script or even raw SQL!) that may not be |
|
1542 |
documented yet. It may be a good idea to test this version before |
|
1543 |
installing it on your production machines. |
| 8c10b0a by Evan Prodromou at 2008-12-03 |
1544 |
|
| 2a58260 by Ori Avtalion at 2009-01-07 |
1545 |
To keep it up-to-date, use 'git pull'. Watch for conflicts! |
| fbe15ef by Evan Prodromou at 2008-09-18 |
1546 |
|
| a1434ee by Evan Prodromou at 2008-09-23 |
1547 |
Further information |
|
1548 |
=================== |
|
1549 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
1550 |
There are several ways to get more information about StatusNet. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1551 |
|
| 2506207 by Evan Prodromou at 2009-08-26 |
1552 |
* There is a mailing list for StatusNet developers and admins at |
| 3567b9d by Evan Prodromou at 2009-08-26 |
1553 |
http://mail.status.net/mailman/listinfo/statusnet-dev |
|
1554 |
* The #statusnet IRC channel on freenode.net <http://www.freenode.net/>. |
| 82b0927 by Evan Prodromou at 2009-08-27 |
1555 |
* The StatusNet wiki, http://status.net/wiki/ |
|
1556 |
* The StatusNet blog, http://status.net/blog/ |
| 046e2b7 by Evan Prodromou at 2010-03-04 |
1557 |
* The StatusNet status update, <http://status.status.net/> (!) |
| a1434ee by Evan Prodromou at 2008-09-23 |
1558 |
|
|
1559 |
Feedback |
|
1560 |
======== |
|
1561 |
|
| 046e2b7 by Evan Prodromou at 2010-03-04 |
1562 |
* Microblogging messages to http://support.status.net/ are very welcome. |
|
1563 |
* The microblogging group http://identi.ca/group/statusnet is a good |
|
1564 |
place to discuss the software. |
| 8242dba by Zach Copley at 2010-03-04 |
1565 |
* StatusNet has a bug tracker for any defects you may find, or ideas for |
|
1566 |
making things better. http://status.net/bugs |
| 025dcb9 by Evan Prodromou at 2008-06-15 |
1567 |
|
| fbe15ef by Evan Prodromou at 2008-09-18 |
1568 |
Credits |
|
1569 |
======= |
| a1434ee by Evan Prodromou at 2008-09-23 |
1570 |
|
|
1571 |
The following is an incomplete list of developers who've worked on |
| e3a5325 by Evan Prodromou at 2009-08-26 |
1572 |
StatusNet. Apologies for any oversight; please let evan@status.net know |
| a1434ee by Evan Prodromou at 2008-09-23 |
1573 |
if anyone's been overlooked in error. |
|
1574 |
|
| e3a5325 by Evan Prodromou at 2009-08-26 |
1575 |
* Evan Prodromou, founder and lead developer, StatusNet, Inc. |
|
1576 |
* Zach Copley, StatusNet, Inc. |
|
1577 |
* Earle Martin, StatusNet, Inc. |
|
1578 |
* Marie-Claude Doyon, designer, StatusNet, Inc. |
|
1579 |
* Sarven Capadisli, StatusNet, Inc. |
|
1580 |
* Robin Millette, StatusNet, Inc. |
| a1434ee by Evan Prodromou at 2008-09-23 |
1581 |
* Ciaran Gultnieks |
|
1582 |
* Michael Landers |
|
1583 |
* Ori Avtalion |
|
1584 |
* Garret Buell |
|
1585 |
* Mike Cochrane |
|
1586 |
* Matthew Gregg |
|
1587 |
* Florian Biree |
|
1588 |
* Erik Stambaugh |
|
1589 |
* 'drry' |
|
1590 |
* Gina Haeussge |
| 07086d1 by Evan Prodromou at 2008-11-14 |
1591 |
* Tryggvi Björgvinsson |
| fae7c08 by Evan Prodromou at 2009-01-29 |
1592 |
* Adrian Lang |
|
1593 |
* Ori Avtalion |
|
1594 |
* Meitar Moscovitz |
|
1595 |
* Ken Sheppardson (Trac server, man-about-town) |
| 8bdb7dc by Evan Prodromou at 2009-07-08 |
1596 |
* Tiago 'gouki' Faria (i18n manager) |
| 60f737d by Evan Prodromou at 2009-02-06 |
1597 |
* Sean Murphy |
| 254e5e5 by Evan Prodromou at 2009-03-12 |
1598 |
* Leslie Michael Orchard |
|
1599 |
* Eric Helgeson |
|
1600 |
* Ken Sedgwick |
| 8f40a1a by Evan Prodromou at 2009-04-08 |
1601 |
* Brian Hendrickson |
|
1602 |
* Tobias Diekershoff |
| f66e996 by Evan Prodromou at 2009-05-29 |
1603 |
* Dan Moore |
|
1604 |
* Fil |
| 8bdb7dc by Evan Prodromou at 2009-07-08 |
1605 |
* Jeff Mitchell |
|
1606 |
* Brenda Wallace |
|
1607 |
* Jeffery To |
|
1608 |
* Federico Marani |
| 36d2c66 by Zach Copley at 2009-07-10 |
1609 |
* Craig Andrews |
| cf199a9 by Evan Prodromou at 2009-10-31 |
1610 |
* mEDI |
| d708e40 by Evan Prodromou at 2009-12-23 |
1611 |
* Brett Taylor |
| a7e73d3 by Sarven Capadisli at 2010-01-08 |
1612 |
* Brigitte Schuster |
| a1434ee by Evan Prodromou at 2008-09-23 |
1613 |
|
| 07086d1 by Evan Prodromou at 2008-11-14 |
1614 |
Thanks also to the developers of our upstream library code and to the |
| e3a5325 by Evan Prodromou at 2009-08-26 |
1615 |
thousands of people who have tried out Identi.ca, installed StatusNet, |
| 07086d1 by Evan Prodromou at 2008-11-14 |
1616 |
told their friends, and built the Open Microblogging network to what |
|
1617 |
it is today. |