4 If you've been using StatusNet 1.0 or lower, or if you've
5 been tracking the "git" version of the software, you will probably
6 want to upgrade and keep your existing data. Try these step-by-step
7 instructions; read to the end first before trying them.
9 0. Download StatusNet and set up all the prerequisites as if you were
11 1. Make backups of both your database and your Web directory. UNDER NO
12 CIRCUMSTANCES should you try to do an upgrade without a known-good
13 backup. You have been warned.
14 2. Shut down Web access to your site, either by turning off your Web
15 server or by redirecting all pages to a "sorry, under maintenance"
17 3. Shut down XMPP access to your site, typically by shutting down the
18 xmppdaemon.php process and all other daemons that you're running.
19 If you've got "monit" or "cron" automatically restarting your
20 daemons, make sure to turn that off, too.
21 4. Shut down SMS and email access to your site. The easy way to do
22 this is to comment out the line piping incoming email to your
23 maildaemon.php file, and running something like "newaliases".
24 5. Once all writing processes to your site are turned off, make a
25 final backup of the Web directory and database.
26 6. Move your StatusNet directory to a backup spot, like "statusnet.bak".
27 7. Unpack your StatusNet 1.1.0-alpha1 tarball and move it to "statusnet" or
28 wherever your code used to be.
29 8. Copy the config.php file and the contents of the avatar/, background/,
30 file/, and local/ subdirectories from your old directory to your new
32 9. Copy htaccess.sample to .htaccess in the new directory. Change the
33 RewriteBase to use the correct path.
34 10. Upgrade the database.
36 NOTE: this step is destructive and cannot be
37 reversed. YOU CAN EASILY DESTROY YOUR SITE WITH THIS STEP. Don't
38 do it without a known-good backup!
40 In your new StatusNet 1.1.0-alpha1 directory and AFTER YOU MAKE A
41 BACKUP run the upgrade.php script like this:
43 php ./scripts/upgrade.php
45 11. Use mysql or psql client to log into your database and make sure that
46 the notice, user, profile, subscription etc. tables are non-empty.
47 12. Turn back on the Web server, and check that things still work.
48 13. Turn back on XMPP bots and email maildaemon.
50 NOTE: the 1.0.0 version of StatusNet changed the URLs for all admin
51 panels from /admin/* to /panel/*. This now allows the (popular)
52 username 'admin', but blocks the considerably less popular username
53 'panel'. If you have an existing user named 'panel', you should rename
54 them before upgrading.
59 If you are upgrading from a 0.8.x or 0.9.x version, you can safely
62 StatusNet 0.7.4 introduced a fix for some incorrectly-stored
63 international characters ("UTF-8"). This fix is not
64 backwards-compatible; installations from before 0.7.4 will show
65 non-ASCII characters of old notices incorrectly. This section explains
68 0. You can disable the new behaviour by setting the 'db''utf8' config
69 option to "false". You should only do this until you're ready to
70 convert your DB to the new format.
71 1. When you're ready to convert, you can run the fixup_utf8.php script
72 in the scripts/ subdirectory. If you've had the "new behaviour"
73 enabled (probably a good idea), you can give the ID of the first
74 "new" notice as a parameter, and only notices before that one will
75 be converted. Notices are converted in reverse chronological order,
76 so the most recent (and visible) ones will be converted first. The
77 script should work whether or not you have the 'db''utf8' config
79 2. When you're ready, set $config['db']['utf8'] to true, so that
80 new notices will be stored correctly.
85 IMPORTANT NOTE: StatusNet 0.7.4 introduced a fix for some
86 incorrectly-stored international characters ("UTF-8"). For new
87 installations, it will now store non-ASCII characters correctly.
88 However, older installations will have the incorrect storage, and will
89 consequently show up "wrong" in browsers. See below for how to deal
92 NOTE: the database definition file, laconica.ini, has been renamed to
93 statusnet.ini (since this is the recommended database name). If you
94 have a line in your config.php pointing to the old name, you'll need
97 Note that the XMPP bots have changed since version 0.5; see above for
103 With StatusNet 1.0, our default install profile is for private sites.
105 If you did not specify the privacy level of your site previously, it
106 was public. Now, it's private.
108 If you upgrade a public site, you will need to reset the privacy
109 level. You can do this in your config.php:
111 $config['site']['private'] = false;
113 ...or with setconfig.php in the db:
115 php setconfig.php site private false
117 ...or with the site admin panel.