forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			122 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Upgrading
 | |
| =========
 | |
| 
 | |
| 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.
 | |
| 
 | |
| If you've been using StatusNet 0.7, 0.6, 0.5 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. There is no automated
 | |
| upgrade procedure in StatusNet 0.9.9. 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 0.9.9 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. Rebuild 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!
 | |
| 
 | |
|     If your database is at version 0.8.0 or higher in the 0.8.x line, you can run a
 | |
|     special upgrade script:
 | |
| 
 | |
|         mysql -u<rootuser> -p<rootpassword> <database> db/08to09.sql
 | |
| 
 | |
|     If you are upgrading from any 0.9.x version like 0.9.6, run this script:
 | |
| 
 | |
|         mysql -u<rootuser> -p<rootpassword> <database> db/096to097.sql
 | |
| 
 | |
|     Despite the name, it should work for any 0.9.x branch.
 | |
| 
 | |
|     Otherwise, go to your StatusNet directory and AFTER YOU MAKE A
 | |
|     BACKUP run the rebuilddb.sh script like this:
 | |
| 
 | |
|         ./scripts/rebuilddb.sh rootuser rootpassword database db/statusnet.sql
 | |
| 
 | |
|     Here, rootuser and rootpassword are the username and password for a
 | |
|     user who can drop and create databases as well as tables; typically
 | |
|     that's _not_ the user StatusNet runs as. Note that rebuilddb.sh drops
 | |
|     your database and rebuilds it; if there is an error you have no
 | |
|     database. Make sure you have a backup.
 | |
|     For PostgreSQL databases there is an equivalent, rebuilddb_psql.sh,
 | |
|     which operates slightly differently. Read the documentation in that
 | |
|     script before running it.
 | |
| 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 that the XMPP
 | |
|     bots have changed since version 0.5; see above for details.
 | |
| 
 | |
| If you're upgrading from very old versions, you may want to look at
 | |
| the fixup_* scripts in the scripts directories. These will store some
 | |
| precooked data in the DB. All upgraders should check out the inboxes
 | |
| options below.
 | |
| 
 | |
| 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: 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.
 | |
| 
 | |
| Notice inboxes
 | |
| --------------
 | |
| 
 | |
| Notice inboxes are now required. If you don't have inboxes enabled,
 | |
| StatusNet will no longer run.
 | |
| 
 | |
| UTF-8 Database
 | |
| --------------
 | |
| 
 | |
| 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.
 |