X-Git-Url: https://git.mxchange.org/?p=quix0rs-gnu-social.git;a=blobdiff_plain;f=UPGRADE;h=3a1dd8a9b9a3b324ababe0256476790c57992b29;hp=cf2375dffe1f71f83a39e6111f4f1374df38d445;hb=HEAD;hpb=8c710ad2c1b80544acccb515f7b601aadff2de16 diff --git a/UPGRADE b/UPGRADE index cf2375dffe..3a1dd8a9b9 100644 --- a/UPGRADE +++ b/UPGRADE @@ -1,117 +1,98 @@ Upgrading ========= -If you've been using StatusNet 0.9.9 or lower, or if you've -been tracking the "git" version of the software, you will probably -want to upgrade and keep your existing data. Try these step-by-step -instructions; read to the end first before trying them. - -0. Download StatusNet and set up all the prerequisites as if you were - doing a new install. -1. Make backups of both your database and your Web directory. UNDER NO - CIRCUMSTANCES should you try to do an upgrade without a known-good - backup. You have been warned. -2. Shut down Web access to your site, either by turning off your Web - server or by redirecting all pages to a "sorry, under maintenance" - page. -3. Shut down XMPP access to your site, typically by shutting down the - xmppdaemon.php process and all other daemons that you're running. - If you've got "monit" or "cron" automatically restarting your - daemons, make sure to turn that off, too. -4. Shut down SMS and email access to your site. The easy way to do - this is to comment out the line piping incoming email to your - maildaemon.php file, and running something like "newaliases". -5. Once all writing processes to your site are turned off, make a - final backup of the Web directory and database. -6. Move your StatusNet directory to a backup spot, like "statusnet.bak". -7. Unpack your StatusNet 1.0.0 tarball and move it to "statusnet" or - wherever your code used to be. -8. Copy the config.php file and the contents of the avatar/, background/, - file/, and local/ subdirectories from your old directory to your new - directory. -9. Copy htaccess.sample to .htaccess in the new directory. Change the - RewriteBase to use the correct path. -10. Upgrade the database. - - NOTE: this step is destructive and cannot be - reversed. YOU CAN EASILY DESTROY YOUR SITE WITH THIS STEP. Don't - do it without a known-good backup! - - In your new StatusNet 1.0.0 directory and AFTER YOU MAKE A - BACKUP run the upgrade.php script like this: - - php ./scripts/upgrade.php - -11. Use mysql or psql client to log into your database and make sure that - the notice, user, profile, subscription etc. tables are non-empty. -12. Turn back on the Web server, and check that things still work. -13. Turn back on XMPP bots and email maildaemon. - -NOTE: the 1.0.0 version of StatusNet changed the URLs for all admin -panels from /admin/* to /panel/*. This now allows the (popular) -username 'admin', but blocks the considerably less popular username -'panel'. If you have an existing user named 'panel', you should rename -them before upgrading. - -UTF-8 Database --------------- - -If you are upgrading from a 0.8.x or 0.9.x version, you can safely -skip this section. - -StatusNet 0.7.4 introduced a fix for some incorrectly-stored -international characters ("UTF-8"). This fix is not -backwards-compatible; installations from before 0.7.4 will show -non-ASCII characters of old notices incorrectly. This section explains -what to do. - -0. You can disable the new behaviour by setting the 'db''utf8' config - option to "false". You should only do this until you're ready to - convert your DB to the new format. -1. When you're ready to convert, you can run the fixup_utf8.php script - in the scripts/ subdirectory. If you've had the "new behaviour" - enabled (probably a good idea), you can give the ID of the first - "new" notice as a parameter, and only notices before that one will - be converted. Notices are converted in reverse chronological order, - so the most recent (and visible) ones will be converted first. The - script should work whether or not you have the 'db''utf8' config - option enabled. -2. When you're ready, set $config['db']['utf8'] to true, so that - new notices will be stored correctly. - -Older versions -============== - -IMPORTANT NOTE: StatusNet 0.7.4 introduced a fix for some -incorrectly-stored international characters ("UTF-8"). For new -installations, it will now store non-ASCII characters correctly. -However, older installations will have the incorrect storage, and will -consequently show up "wrong" in browsers. See below for how to deal -with this situation. - -NOTE: the database definition file, laconica.ini, has been renamed to -statusnet.ini (since this is the recommended database name). If you -have a line in your config.php pointing to the old name, you'll need -to update it. - -Note that the XMPP bots have changed since version 0.5; see above for -details. - -Privacy -======= - -With StatusNet 1.0, our default install profile is for private sites. - -If you did not specify the privacy level of your site previously, it -was public. Now, it's private. - -If you upgrade a public site, you will need to reset the privacy -level. You can do this in your config.php: - - $config['site']['private'] = false; - -...or with setconfig.php in the db: - - php setconfig.php site private false - -...or with the site admin panel. +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). + +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 + errors, create a new task on https://git.gnu.io/gnu/gnu-social/issues + +4. Start your queue daemons again (you can run this command even if you + do not use the queue daemons): + $ bash scripts/startdaemons.sh + +5. Report any issues at https://git.gnu.io/gnu/gnu-social/issues + +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' + +StatusNet 1.1.x to GNU social 1.2.x +----------------------------------- + +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. + +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). + +* Before you begin: Make backups. Always make backups. Of your entire +directory structure and the database too. All tables. All data. Alles. + +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): + $ mysqldump -u dbuser -p dbname > social-backup.sql + +1. Stop your queue daemons 'bash scripts/stopdaemons.sh' should do it. + Not everyone runs queue daemons, but the above command won't hurt. + +2. Unpack your GNU social code to a fresh directory. You can do this + by cloning our git repository: + $ git clone https://git.gnu.io/gnu/gnu-social.git gnusocial + +3. Synchronize your local files to the GNU social directory. These + will be the local files such as avatars, config and files: + + avatar/* + background/* + file/* + local/* + .htaccess + config.php + + This command will point you in the right direction on how to do it: + $ rsync -avP statusnet/{.htaccess,avatar,background,file,local,config.php} gnusocial/ + +4. Replace your old StatusNet directory with the new GNU social + directory in your webserver root. + +5. 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 + errors, create a new task on https://git.gnu.io/gnu/gnu-social/issues + +6. Start your queue daemons: 'bash scripts/startdaemons.sh' + +7. Report any issues at https://git.gnu.io/gnu/gnu-social/issues