Install quick start.txt

Installation Instructions StatusNet 0.9.6 ("Man on the Moon") Release date: 19 October 2010

This document describes how to obtain and install the latest version of StatusNet, the Open Source microblogging platform. The purpose of this guide is to get you up and running with StatusNet as quickly as possible.

Information on using and configuring StatusNet can be found in the "doc" subdirectory (of the installation package) or on StatusNet's documentation wiki:

http://status.net/wiki/Main_Page

1. License --

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program, in the file "COPYING". If not, see .

IMPORTANT NOTE: The GNU Affero General Public License (AGPL) has *different requirements* from the "regular" GPL. In particular, if   you make modifications to the StatusNet source code on your server, you *MUST MAKE AVAILABLE* the modified version of the source code to your users under the same license. This is a legal requirement of using the software, and if you do not wish to share your modifications, *YOU MAY NOT INSTALL STATUSNET*.

Documentation in the /doc-src/ directory is available under the Creative Commons Attribution 3.0 Unported license, with attribution to "StatusNet". See http://creativecommons.org/licenses/by/3.0/ for details.

CSS and images in the /theme/ directory are available under the Creative Commons Attribution 3.0 Unported license, with attribution to "StatusNet". See http://creativecommons.org/licenses/by/3.0/ for details.

Our understanding and intention is that if you add your own theme that uses only CSS and images, those files are not subject to the copyleft requirements of the Affero General Public License 3.0. See http://wordpress.org/news/2009/07/themes-are-gpl-too/. This is not legal advice; consult your lawyer.

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.

2. Obtaining the Software -

The latest version of StatusNet is always available from the following URL:

http://status.net/download

3. Before Installing StatusNet --

The following software packages are *required* for StatusNet to run correctly:


 * PHP 5.2.3+. It may be possible to run this software on earlier versions of PHP, but many of the functions used are only available in PHP 5.2 or above. Ver. 5.2.6 or later is needed for XMPP background daemons on 64-bit platforms. PHP 5.3.x should work correctly in this release, but problems with some plugins are possible.


 * MySQL 5.x. The StatusNet database is stored, by default, in a MySQL server. It has been primarily tested on 5.x servers, although it may be possible to install on earlier (or later, naturally) versions. The server *must* support the MyISAM storage engine -- the default for most MySQL servers -- *and* the InnoDB storage engine.


 * A Web server. Preferably, you should have Apache 2.2.x with the mod_rewrite extension installed and enabled.

Additionally, your PHP installation must include the following PHP extensions:


 * Curl (for fetching files by HTTP.)
 * XMLWriter (for formatting XML and HTML output.)
 * MySQL (for accessing the database.)
 * GD (for scaling down avatar images.)
 * mbstring (for handling Unicode [UTF-8] encoded strings.)

- External libraries

A number of external PHP libraries are used to provide basic functionality and optional functionality for your system. For your convenience, they are available in the "extlib" directory of this package, and you do not have to download and install them.

4. Installing StatusNet ---

Installing the basic StatusNet Web component is a relatively straightforward process, especially if you have previously installed PHP/MySQL packages.

4.1. Unpack the tarball you downloaded on your Web server. Usually a command like this will work:

tar zxf statusnet-0.9.6.tar.gz

This will make a "statusnet-0.9.6" subdirectory in your current directory. (If you don't have shell access on your Web server, you may have to unpack the tarball on your local computer and FTP the files to the server.)

4.2. Move the installation to a directory of your choosing in your Web root directory. Usually something like this will work:

mv statusnet-0.9.6 /var/www/statusnet

This will make your StatusNet instance available in the /statusnet path of your server, (such as "http://example.net/statusnet"); you can, however, give the directory any name you wish. If you know how to configure virtual hosts on your web server, you can also try setting up "http://micro.example.net/" or the like.

4.3. Make your StatusNet directory writeable by the Web server. Generally, the web server runs under its own user and own group for security reasons (often "www-data" on Linux systems).

For example, if the web server user is www-data then you need to make the StatusNet directory owned and accessible by that group.

First change the ownership to www-data group:

chgrp -R www-data /var/www/statusnet

Next change permissions so www-data group can write to your installation directory:

chmod g+w /var/www/statusnet chmod g+x /var/www/statusnet

Finally, ensure that the web server can write files in the avatar, background and file directories:

chmod g+w /var/www/statusnet/avatar chmod g+w /var/www/statusnet/background chmod g+w /var/www/statusnet/file

4.4. Create a database to hold your microblog data. Something like this should work:

mysqladmin -u "username" --password="password" create statusnet

Note that StatusNet must have its own database; you can't share the database with another program. You can name it whatever you want, though.

(If you don't have shell access to your server, you may need to use a tool like PHPAdmin to create a database. Check your hosting service's documentation for how to create a new MySQL database.)

4.5. Create a new database account that StatusNet will use to access the database. If you have shell access, this will probably work from the MySQL shell:

GRANT ALL on statusnet.* TO 'statusnetuser'@'localhost' IDENTIFIED BY 'statusnetpassword';

You should change 'statusnetuser' and 'statusnetpassword' in the above examples to your preferred new username and password. You might want to test logging in to MySQL as this new user before continuing to the next step.

4.6. In a browser, navigate to the StatusNet install script; something like:

http://yourserver.example.com/statusnet/install.php

Enter the database connection information and your site name. The install program will configure your site and install the initial, almost-empty database.

4.7. You should now be able to navigate to your new StatusNet installation's main directory and view your Public Timeline, which will be empty until you register a new user and post your first notice. Before you do this, you should attempt to enable "fancy URLs" if your web server allows it.

4.8. Installing StatusNet on Macintosh systems (pre-OS X 10.6)

Setting up StatusNet to work on Macintosh requires additional steps for machines running OS versions lower than 10.6 (Snow Leopard). Please consult the following wiki page for more information:

http://status.net/wiki/MacOSX

5. Removing "index.php" from your site's URLs -

By default, StatusNet will use URLs that include the main PHP program's name in them. For example, a user's home profile might be found at:

http://example.org/statusnet/index.php/statusnet/fred

On certain systems that don't support this kind of syntax, they'll look like this:

http://example.org/statusnet/index.php?p=statusnet/fred

It's also possible to configure the software so it looks like this instead:

http://example.org/statusnet/fred

These "fancy URLs" are more readable and memorable for users. To use fancy URLs, you must either have Apache 2.x with .htaccess enabled and mod_rewrite enabled, -OR- know how to configure "url redirection" in your server.

5.1. Copy the htaccess.sample file to .htaccess in your StatusNet directory. Note: if you have control of your server's httpd.conf or similar configuration files, it can greatly improve performance to import the .htaccess file into your conf file instead. If you're not sure how to do it, you may save yourself a lot of headache by just leaving the .htaccess file.

5.2. Change the "RewriteBase" in the new .htaccess file to be the URL path to your StatusNet installation on your server. Typically this will be the path to your StatusNet directory relative to your Web root ("*/var/www/statusnet/").

5.3. Add or uncomment or change a line in your config.php file so it says:

$config['site']['fancy'] = true;

You should now be able to navigate to a "fancy" URL on your server, like:

http://example.net/statusnet/main/register

If you changed your HTTP server configuration, you may need to restart the server first.

If it doesn't work, double-check that AllowOverride for the StatusNet directory is 'All' in your Apache configuration file. This is usually /etc/httpd.conf, /etc/apache/httpd.conf, or (on Debian and Ubuntu) /etc/apache2/sites-available/default. See the Apache documentation for .htaccess files for more details:

http://httpd.apache.org/docs/2.2/howto/htaccess.html

Also, check that mod_rewrite is installed and enabled:

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

6. Troubleshooting and Additional Resources ---

StatusNet hosts a forum dedicated to discussion of the software and installation and runtime errors:

http://forum.status.net/

Aside from the forum, there are several other ways to get more information about StatusNet.


 * There is a mailing list for StatusNet developers and admins at:

http://mail.status.net/mailman/listinfo/statusnet-dev


 * The #statusnet IRC channel on freenode.net 
 * The StatusNet wiki 
 * The StatusNet blog 
 * The StatusNet status update 

7. Feedback

http://status.net/bugs
 * Microblogging messages to http://support.status.net/ are very welcome.
 * The microblogging group http://identi.ca/group/statusnet is a good place to discuss the software.
 * StatusNet has a bug tracker for any defects you may find, or ideas for making things better: