git.gnu.io has moved to IP address 209.51.188.249 -- please double check where you are logging in.

UPGRADE 3.96 KB
Newer Older
1 2 3
Upgrading
=========

4 5 6 7 8 9 10 11 12 13
GNU social 1.1.x to GNU social 1.2.x
------------------------------------

If you are tracking the GNU social git repository, we currently recommend
using the "master" branch (or nightly if you want to use latest features)
and follow this procedure: 

0. Backup your data. The StatusNet upgrade discussions below have some
    guidelines to back up the database and files (mysqldump and rsync).

14 15 16
    MAKE SURE YOU ARE THE SAME USER THAT RUNS THE PHP FILES WHILE PERFORMING
    THE COMMANDS BELOW (I usually prepend the commands with 'sudo -u social')

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
1. Stop your queue daemons (you can run this command even if you do not
    use the queue daemons):
    $ bash scripts/stopdaemons.sh

2. Run the command to fetch the latest sourcecode:
    $ git pull
    
    If you are not using git we recommend following the instructions below
    for upgrading "StatusNet 1.1.x to GNU social 1.2.x" as they are similar.

3. Run the upgrade script:
    $ php scripts/upgrade.php

   The upgrade script will likely take a long time because it will
    upgrade the tables to another character encoding and make other
    automated upgrades. Make sure it ends without errors. If you get
Matthias Fritzsche's avatar
Matthias Fritzsche committed
33
    errors, create a new task on https://git.gnu.io/gnu/gnu-social/issues
34 35 36 37 38

4. Start your queue daemons again (you can run this command even if you
    do not use the queue daemons):
    $ bash scripts/startdaemons.sh

Matthias Fritzsche's avatar
Matthias Fritzsche committed
39
5. Report any issues at https://git.gnu.io/gnu/gnu-social/issues
40

41 42 43 44 45 46 47 48 49 50
If you are using ssh keys to log in to your server, you can make this
procedure pretty painless (assuming you have automated backups already).
Make sure you "cd" into the correct directory (in this case "htdocs")
and use the correct login@hostname combo:
    $ ssh social@domain.example 'cd htdocs
            && bash scripts/stopdaemons.sh
            && git pull
            && time php scripts/upgrade.php
            && bash scripts/startdaemons.sh'

51 52
StatusNet 1.1.x to GNU social 1.2.x
-----------------------------------
53 54 55 56 57

We cannot support migrating from any other version of StatusNet than 
1.1.1. If you are running a StatusNet version lower than this, please 
follow the upgrade procedures for each respective StatusNet version.

58 59 60 61
You are now running StatusNet 1.1.1 and want to migrate to GNU social
1.2.x. Beware there may be changes in minimum required version of PHP
and the modules required, so review the INSTALL file (php5-intl is a
newly added dependency for example).
62

63
* Before you begin: Make backups. Always make backups. Of your entire 
64 65
directory structure and the database too. All tables. All data. Alles.

66 67
0. Make a backup of everything. To backup the database, you can use a
variant of this command (you will be prompted for the database password):
68
    $ mysqldump -u dbuser -p dbname > social-backup.sql
69

70
1. Stop your queue daemons 'bash scripts/stopdaemons.sh' should do it.
71
    Not everyone runs queue daemons, but the above command won't hurt.
72

73
2. Unpack your GNU social code to a fresh directory. You can do this
74
    by cloning our git repository:
Matthias Fritzsche's avatar
Matthias Fritzsche committed
75
    $ git clone https://git.gnu.io/gnu/gnu-social.git gnusocial
76

77
3. Synchronize your local files to the GNU social directory. These 
78
    will be the local files such as avatars, config and files:
79

80 81 82 83 84
        avatar/*
        file/*
        local/*
        .htaccess
        config.php
85

86
    This command will point you in the right direction on how to do it:
mmn's avatar
mmn committed
87
    $ rsync -avP statusnet/{.htaccess,avatar,file,local,config.php} gnusocial/
88

89
4. Replace your old StatusNet directory with the new GNU social
90
    directory in your webserver root.
91

92
5. Run the upgrade script: 'php scripts/upgrade.php'
93 94 95
   The upgrade script will likely take a long time because it will
    upgrade the tables to another character encoding and make other
    automated upgrades. Make sure it ends without errors. If you get
Matthias Fritzsche's avatar
Matthias Fritzsche committed
96
    errors, create a new task on https://git.gnu.io/gnu/gnu-social/issues
97

98
6. Start your queue daemons: 'bash scripts/startdaemons.sh'
99

Matthias Fritzsche's avatar
Matthias Fritzsche committed
100
7. Report any issues at https://git.gnu.io/gnu/gnu-social/issues