1
Upgrading
2
=========
3
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.
8
9
0. Download StatusNet and set up all the prerequisites as if you were
10
   doing a new install.
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"
16
   page.
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
31
   directory.
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.
35
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!
39
40
    In your new StatusNet 1.1.0-alpha1 directory and AFTER YOU MAKE A
41
    BACKUP run the upgrade.php script like this:
42
43
        php ./scripts/upgrade.php
44
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.
49
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.
55
56
UTF-8 Database
57
--------------
58
59
If you are upgrading from a 0.8.x or 0.9.x version, you can safely
60
skip this section.
61
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
66
what to do.
67
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
78
   option enabled.
79
2. When you're ready, set $config['db']['utf8'] to true, so that
80
   new notices will be stored correctly.
81
82
Older versions
83
==============
84
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
90
with this situation.
91
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
95
to update it.
96
97
Note that the XMPP bots have changed since version 0.5; see above for
98
details.
99
100
Privacy
101
=======
102
103
With StatusNet 1.0, our default install profile is for private sites.
104
105
If you did not specify the privacy level of your site previously, it
106
was public. Now, it's private.
107
108
If you upgrade a public site, you will need to reset the privacy
109
level. You can do this in your config.php:
110
111
       $config['site']['private'] = false;
112
113
...or with setconfig.php in the db:
114
115
       php setconfig.php site private false
116
117
...or with the site admin panel.