]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - UPGRADE
Introduced common_location_shared() to check if location sharing is always,
[quix0rs-gnu-social.git] / UPGRADE
diff --git a/UPGRADE b/UPGRADE
index cf2375dffe1f71f83a39e6111f4f1374df38d445..3a1dd8a9b9a3b324ababe0256476790c57992b29 100644 (file)
--- a/UPGRADE
+++ b/UPGRADE
 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