]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - UPGRADE
Potential SQL injection in Local_group::setNickname()
[quix0rs-gnu-social.git] / UPGRADE
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.