finish the README file
darcs-hash:20080922223239-5ed1f-1d34d37c75b2fc321e00063a788e9ca0c8baa359.gz
This commit is contained in:
parent
2944989d8a
commit
a1434ee1cf
327
README
327
README
|
@ -3,7 +3,7 @@ README
|
||||||
------
|
------
|
||||||
|
|
||||||
Laconica 0.6.0
|
Laconica 0.6.0
|
||||||
12 September 2008
|
22 September 2008
|
||||||
|
|
||||||
This is the README file for Laconica, the Open Source microblogging
|
This is the README file for Laconica, the Open Source microblogging
|
||||||
platform. It includes installation instructions, descriptions of
|
platform. It includes installation instructions, descriptions of
|
||||||
|
@ -62,6 +62,25 @@ License along with this program, in the file "COPYING". If not, see
|
||||||
of using the software, and if you do not wish to share your
|
of using the software, and if you do not wish to share your
|
||||||
modifications, *YOU MAY NOT INSTALL LACONICA*.
|
modifications, *YOU MAY NOT INSTALL LACONICA*.
|
||||||
|
|
||||||
|
Additional library software has been made available in the 'extlib'
|
||||||
|
directory. All of it is Free Software and can be distributed under
|
||||||
|
liberal terms, but those terms may differ in detail from the AGPL's
|
||||||
|
particulars. See each package's license file in the extlib directory
|
||||||
|
for additional terms.
|
||||||
|
|
||||||
|
New this version
|
||||||
|
================
|
||||||
|
|
||||||
|
New features in version 0.6.0 include:
|
||||||
|
|
||||||
|
* Invitations by email.
|
||||||
|
* Users can mark messages as "favorites" (only Web, not API).
|
||||||
|
* A bridge to push messages on the Laconica instance to an account on
|
||||||
|
Twitter.
|
||||||
|
* Direct private messages between users on a server (only Web, not API
|
||||||
|
or IM or SMS).
|
||||||
|
* Restructured off-line daemons.
|
||||||
|
|
||||||
Prerequisites
|
Prerequisites
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
@ -84,6 +103,7 @@ Your PHP installation must include the following PHP extensions:
|
||||||
- Curl. This is for fetching files by HTTP.
|
- Curl. This is for fetching files by HTTP.
|
||||||
- XMLWriter. This is for formatting XML and HTML output.
|
- XMLWriter. This is for formatting XML and HTML output.
|
||||||
- MySQL. For accessing the database.
|
- MySQL. For accessing the database.
|
||||||
|
- GD. For scaling down avatar images.
|
||||||
|
|
||||||
For some functionality, you will also need the following extensions:
|
For some functionality, you will also need the following extensions:
|
||||||
|
|
||||||
|
@ -477,12 +497,96 @@ to these resources.
|
||||||
Themes
|
Themes
|
||||||
------
|
------
|
||||||
|
|
||||||
|
There are two themes shipped with this version of Laconica: "stoica",
|
||||||
|
which is what the Identi.ca site uses, and "default", which is a good
|
||||||
|
basis for other sites.
|
||||||
|
|
||||||
|
As of right now, your ability to change the theme is site-wide; users
|
||||||
|
can't choose their own theme. Additionally, the only thing you can
|
||||||
|
change in the theme is CSS stylesheets and some image files; you can't
|
||||||
|
change the HTML output, like adding or removing menu items.
|
||||||
|
|
||||||
|
You can choose a theme using the $config['site']['theme'] element in
|
||||||
|
the config.php file. See below for details.
|
||||||
|
|
||||||
|
You can add your own theme by making a sub-directory of the 'theme'
|
||||||
|
subdirectory with the name of your theme. Each theme can have the
|
||||||
|
following files:
|
||||||
|
|
||||||
|
display.css: a CSS2 file for "default" styling for all browsers.
|
||||||
|
ie6.css: a CSS2 file for override styling for fixing up Internet
|
||||||
|
Explorer 6.
|
||||||
|
ie7.css: a CSS2 file for override styling for fixing up Internet
|
||||||
|
Explorer 7.
|
||||||
|
logo.png: a logo image for the site.
|
||||||
|
default-avatar-profile.png: a 96x96 pixel image to use as the avatar for
|
||||||
|
users who don't upload their own.
|
||||||
|
default-avatar-stream.png: Ditto, but 48x48. For streams of notices.
|
||||||
|
default-avatar-mini.png: Ditto ditto, but 24x24. For subscriptions
|
||||||
|
listing on profile pages.
|
||||||
|
|
||||||
|
You may want to start by copying the files from the default theme to
|
||||||
|
your own directory.
|
||||||
|
|
||||||
Translation
|
Translation
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
Translations in Laconica use the gettext system (http://www.gnu.org/software/gettext/).
|
||||||
|
Theoretically, you can add your own sub-directory to the locale/
|
||||||
|
subdirectory to add a new language to your system. You'll need to
|
||||||
|
compile the ".po" files into ".mo" files, however.
|
||||||
|
|
||||||
Upgrading
|
Upgrading
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
If you've been using Laconica 0.5 or lower, or if you've been tracking
|
||||||
|
the "darcs" version of the software, you will probably want to upgrade
|
||||||
|
and keep your existing data. There is no automated upgrade procedure
|
||||||
|
in Laconica 0.6. Try these step-by-step instructions; read to the end
|
||||||
|
first before trying them.
|
||||||
|
|
||||||
|
0. Download Laconica and set up all the prerequisites as if you were
|
||||||
|
doing a new install.
|
||||||
|
1. Make backups of both your database and your Web directory. UNDER NO
|
||||||
|
CIRCUMSTANCES should you try to do an upgrade without a known-good
|
||||||
|
backup. You have been warned.
|
||||||
|
2. Shut down Web access to your site, either by turning off your Web
|
||||||
|
server or by redirecting all pages to a "sorry, under maintenance"
|
||||||
|
page.
|
||||||
|
3. Shut down XMPP access to your site, typically by shutting down the
|
||||||
|
xmppdaemon.php process and all other daemons that you're running.
|
||||||
|
If you've got "monit" or "cron" automatically restarting your
|
||||||
|
daemons, make sure to turn that off, too.
|
||||||
|
4. Shut down SMS and email access to your site. The easy way to do
|
||||||
|
this is to comment out the line piping incoming email to your
|
||||||
|
maildaemon.php file, and running something like "newaliases".
|
||||||
|
5. Once all writing processes to your site are turned off, make a
|
||||||
|
final backup of the Web directory and database.
|
||||||
|
6. Move your Laconica directory to a backup spot, like "mublog.bak".
|
||||||
|
7. Unpack your Laconica 0.6 tarball and move it to "mublog" or
|
||||||
|
wherever your code used to be.
|
||||||
|
8. Copy the config.php file and avatar directory from your old
|
||||||
|
directory to your new directory.
|
||||||
|
9. Copy htaccess.sample to .htaccess in the new directory. Change the
|
||||||
|
RewriteBase to use the correct path.
|
||||||
|
10. Rebuild the database. Go to your Laconica directory and run the
|
||||||
|
rebuilddb.sh script like this:
|
||||||
|
|
||||||
|
./scripts/rebuilddb.sh rootuser rootpassword database db/laconica.sql
|
||||||
|
|
||||||
|
Here, rootuser and rootpassword are the username and password for a
|
||||||
|
user who can drop and create databases as well as tables; typically
|
||||||
|
that's _not_ the user Laconica runs as.
|
||||||
|
11. Use mysql client to log into your database and make sure that the
|
||||||
|
notice, user, profile, subscription etc. tables are non-empty.
|
||||||
|
12. Turn back on the Web server, and check that things still work.
|
||||||
|
13. Turn back on XMPP bots and email maildaemon. Note that the XMPP
|
||||||
|
bots have changed since version 0.5; see above for details.
|
||||||
|
|
||||||
|
If you're upgrading from very old versions, you may want to look at
|
||||||
|
the fixup_* scripts in the scripts directories. These will store some
|
||||||
|
precooked data in the DB.
|
||||||
|
|
||||||
Configuration options
|
Configuration options
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
@ -560,59 +664,139 @@ You can configure the software to queue time-consuming tasks, like
|
||||||
sending out SMS email or XMPP messages, for off-line processing. See
|
sending out SMS email or XMPP messages, for off-line processing. See
|
||||||
'Queues and daemons' above for how to set this up.
|
'Queues and daemons' above for how to set this up.
|
||||||
|
|
||||||
enabled: Whether to
|
enabled: Whether to uses queues. Defaults to false.
|
||||||
|
|
||||||
'queue' =>
|
license
|
||||||
array('enabled' => false),
|
-------
|
||||||
'license' =>
|
|
||||||
array('url' => 'http://creativecommons.org/licenses/by/3.0/',
|
|
||||||
'title' => 'Creative Commons Attribution 3.0',
|
|
||||||
'image' => 'http://i.creativecommons.org/l/by/3.0/88x31.png'),
|
|
||||||
'mail' =>
|
|
||||||
array('backend' => 'mail',
|
|
||||||
'params' => NULL),
|
|
||||||
'nickname' =>
|
|
||||||
array('blacklist' => array()),
|
|
||||||
'avatar' =>
|
|
||||||
array('server' => NULL),
|
|
||||||
'public' =>
|
|
||||||
array('localonly' => true),
|
|
||||||
'theme' =>
|
|
||||||
array('server' => NULL),
|
|
||||||
'xmpp' =>
|
|
||||||
array('enabled' => false,
|
|
||||||
'server' => 'INVALID SERVER',
|
|
||||||
'port' => 5222,
|
|
||||||
'user' => 'update',
|
|
||||||
'encryption' => true,
|
|
||||||
'resource' => 'uniquename',
|
|
||||||
'password' => 'blahblahblah',
|
|
||||||
'host' => NULL, # only set if != server
|
|
||||||
'debug' => false, # print extra debug info
|
|
||||||
'public' => array()), # JIDs of users who want to receive the public stream
|
|
||||||
'tag' =>
|
|
||||||
array('dropoff' => 864000.0),
|
|
||||||
'daemon' =>
|
|
||||||
array('piddir' => '/var/run',
|
|
||||||
'user' => false,
|
|
||||||
'group' => false)
|
|
||||||
);
|
|
||||||
Web
|
|
||||||
---
|
|
||||||
|
|
||||||
Mail
|
The default license to use for your users notices. The default is the
|
||||||
|
Creative Commons Attribution 3.0 license, which is probably the right
|
||||||
|
choice for any public site. Note that some other servers will not
|
||||||
|
accept notices if you apply a stricter license than this.
|
||||||
|
|
||||||
|
url: URL of the license, used for links.
|
||||||
|
title: Title for the license, like 'Creative Commons Attribution 3.0'.
|
||||||
|
image: A button shown on each page for the license.
|
||||||
|
|
||||||
|
mail
|
||||||
----
|
----
|
||||||
|
|
||||||
SMS
|
This is for configuring out-going email. We use PEAR's Mail module,
|
||||||
|
see: http://pear.php.net/manual/en/package.mail.mail.factory.php
|
||||||
|
|
||||||
|
backend: the backend to use for mail, one of 'mail', 'sendmail', and
|
||||||
|
'smtp'. Defaults to PEAR's default, 'mail'.
|
||||||
|
params: if the mail backend requires any parameters, you can provide
|
||||||
|
them in an associative array.
|
||||||
|
|
||||||
|
nickname
|
||||||
|
--------
|
||||||
|
|
||||||
|
This is for configuring nicknames in the service.
|
||||||
|
|
||||||
|
blacklist: an array of strings for usernames that may not be
|
||||||
|
registered. A default array exists for strings that are
|
||||||
|
used by Laconica (e.g. 'doc', 'main', 'avatar', 'theme')
|
||||||
|
but you may want to add others if you have other software
|
||||||
|
installed in a subdirectory of Laconica or if you just
|
||||||
|
don't want certain words used as usernames.
|
||||||
|
|
||||||
|
avatar
|
||||||
|
------
|
||||||
|
|
||||||
|
For configuring avatar access.
|
||||||
|
|
||||||
|
server: If set, defines another server where avatars are stored in the
|
||||||
|
root directory. Note that the 'avatar' subdir still has to be
|
||||||
|
writeable. You'd typically use this to split HTTP requests on
|
||||||
|
the client to speed up page loading, either with another
|
||||||
|
virtual server or with an NFS or SAMBA share. Clients
|
||||||
|
typically only make 2 connections to a single server at a
|
||||||
|
time (http://ur1.ca/6ih), so this can parallelize the job.
|
||||||
|
Defaults to null.
|
||||||
|
|
||||||
|
public
|
||||||
|
------
|
||||||
|
|
||||||
|
For configuring the public stream.
|
||||||
|
|
||||||
|
localonly: If set to true, only messages posted by users of this
|
||||||
|
service (rather than other services, filtered through OMB)
|
||||||
|
are shown in the public stream. Default true.
|
||||||
|
|
||||||
|
theme
|
||||||
|
-----
|
||||||
|
|
||||||
|
server: Like avatars, you can speed up page loading by pointing the
|
||||||
|
theme file lookup to another server (virtual or real). The
|
||||||
|
theme server's root path should map to the Laconica "theme"
|
||||||
|
subdirectory. Defaults to NULL.
|
||||||
|
|
||||||
|
xmpp
|
||||||
|
----
|
||||||
|
|
||||||
|
For configuring the XMPP sub-system.
|
||||||
|
|
||||||
|
enabled: Whether to accept and send messages by XMPP. Default false.
|
||||||
|
server: server part of XMPP ID for update user.
|
||||||
|
port: connection port for clients. Default 5222, which you probably
|
||||||
|
shouldn't need to change.
|
||||||
|
user: username for the client connection. Users will receive messages
|
||||||
|
from 'user'@'server'.
|
||||||
|
resource: a unique identifier for the connection to the server. This
|
||||||
|
is actually used as a prefix for each XMPP component in the system.
|
||||||
|
password: password for the user account.
|
||||||
|
host: some XMPP domains are served by machines with a different
|
||||||
|
hostname. (For example, @gmail.com GTalk users connect to
|
||||||
|
talk.google.com). Set this to the correct hostname if that's the
|
||||||
|
case with your server.
|
||||||
|
encryption: Whether to encrypt the connection between Laconica and the
|
||||||
|
XMPP server. Defaults to true, but you can get
|
||||||
|
considerably better performance turning it off if you're
|
||||||
|
connecting to a server on the same machine or on a
|
||||||
|
protected network.
|
||||||
|
debug: if turned on, this will make the XMPP library blurt out all of
|
||||||
|
the incoming and outgoing messages as XML stanzas. Use as a
|
||||||
|
last resort, and never turn it on if you don't have queues
|
||||||
|
enabled, since it will spit out sensitive data to the browser.
|
||||||
|
public: an array of JIDs to send _all_ notices to. This is useful for
|
||||||
|
participating in third-party search and archiving services.
|
||||||
|
|
||||||
|
tag
|
||||||
---
|
---
|
||||||
|
|
||||||
XMPP
|
Miscellaneous tagging stuff.
|
||||||
----
|
|
||||||
|
dropoff: Decay factor for tag listing, in seconds.
|
||||||
|
Defaults to exponential decay over ten days; you can twiddle
|
||||||
|
with it to try and get better results for your site.
|
||||||
|
|
||||||
|
daemon
|
||||||
|
------
|
||||||
|
|
||||||
|
For daemon processes.
|
||||||
|
|
||||||
|
piddir: directory that daemon processes should write their PID file
|
||||||
|
(process ID) to. Defaults to /var/run/, which is where this
|
||||||
|
stuff should usually go on Unix-ish systems.
|
||||||
|
user: If set, the daemons will try to change their effective user ID
|
||||||
|
to this user before running. Probably a good idea, especially if
|
||||||
|
you start the daemons as root. Note: user name, like 'daemon',
|
||||||
|
not 1001.
|
||||||
|
group: If set, the daemons will try to change their effective group ID
|
||||||
|
to this named group. Again, a name, not a numerical ID.
|
||||||
|
|
||||||
Troubleshooting
|
Troubleshooting
|
||||||
===============
|
===============
|
||||||
|
|
||||||
The primary output for
|
The primary output for Laconica is syslog, unless you configured a
|
||||||
|
separate logfile. This is probably the first place to look if you're
|
||||||
|
getting weird behaviour from Laconica.
|
||||||
|
|
||||||
|
If you're tracking the unstable version of Laconica in the darcs
|
||||||
|
repository (see below), and you get a compilation error ("unexpected
|
||||||
|
T_STRING") in the browser, check to see that you don't have any
|
||||||
|
conflicts in your code.
|
||||||
|
|
||||||
Myths
|
Myths
|
||||||
=====
|
=====
|
||||||
|
@ -636,11 +820,60 @@ assumptions.
|
||||||
and password into the file on a production Web server; unscrupulous
|
and password into the file on a production Web server; unscrupulous
|
||||||
persons may try to read it to get your passwords.
|
persons may try to read it to get your passwords.
|
||||||
|
|
||||||
Further information and Feedback
|
Unstable version
|
||||||
================================
|
================
|
||||||
|
|
||||||
There are several ways to get more information and
|
If you're adventurous or impatient, you may want to install the
|
||||||
|
development version of Laconica. To get it, use the darcs version
|
||||||
|
control tool (http://darcs.net/) like so:
|
||||||
|
|
||||||
|
darcs get http://laconi.ca/darcs/ mublog
|
||||||
|
|
||||||
|
To keep it up-to-date, use 'darcs pull'. Watch for conflicts!
|
||||||
|
|
||||||
|
Further information
|
||||||
|
===================
|
||||||
|
|
||||||
|
There are several ways to get more information about Laconica.
|
||||||
|
|
||||||
|
* There is a mailing list for Laconica developers and admins at
|
||||||
|
http://mail.laconi.ca/mailman/listinfo/laconica-dev
|
||||||
|
* The #laconica IRC channel on freenode.net (http://www.freenode.net/).
|
||||||
|
* The Laconica wiki, http://laconi.ca/trac/
|
||||||
|
|
||||||
|
Feedback
|
||||||
|
========
|
||||||
|
|
||||||
|
* Microblogging messages to http://identi.ca/evan are very welcome.
|
||||||
|
* Laconica's Trac server has a bug tracker for any defects you may find,
|
||||||
|
or ideas for making things better. http://laconi.ca/trac/
|
||||||
|
* e-mail to evan@identi.ca will usually be read and responded to very
|
||||||
|
quickly, unless the question is really hard.
|
||||||
|
|
||||||
Credits
|
Credits
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
The following is an incomplete list of developers who've worked on
|
||||||
|
Laconi.ca. Apologies for any oversight; please let evan@identi.ca know
|
||||||
|
if anyone's been overlooked in error.
|
||||||
|
|
||||||
|
* Evan Prodromou, founder and lead developer, Control Yourself, Inc.
|
||||||
|
* Zach Copley, Control Yourself, Inc.
|
||||||
|
* Earle Martin, Control Yourself, Inc.
|
||||||
|
* Marie-Claude Doyon, designer, Control Yourself, Inc.
|
||||||
|
* Ciaran Gultnieks
|
||||||
|
* Michael Landers
|
||||||
|
* Ori Avtalion
|
||||||
|
* Garret Buell
|
||||||
|
* Mike Cochrane
|
||||||
|
* Matthew Gregg
|
||||||
|
* Florian Biree
|
||||||
|
* Erik Stambaugh
|
||||||
|
* 'drry'
|
||||||
|
* Gina Haeussge
|
||||||
|
* Ken Sheppardson (Trac server, man-about-town)
|
||||||
|
* Tiago 'gouki' Faria (entrans)
|
||||||
|
|
||||||
|
Thanks also to the thousands of people who have tried out Identi.ca,
|
||||||
|
installed Laconi.ca, told their friends, and built the Open
|
||||||
|
Microblogging network to what it is today.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user