| 
									
										
										
										
											2011-08-22 18:28:50 -04:00
										 |  |  | Upgrading | 
					
						
							|  |  |  | ========= | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-07 18:42:40 -04:00
										 |  |  | If you've been using StatusNet 0.9.9 or lower, or if you've | 
					
						
							| 
									
										
										
										
											2011-08-22 18:28:50 -04:00
										 |  |  | been tracking the "git" version of the software, you will probably | 
					
						
							| 
									
										
										
										
											2011-09-07 18:42:40 -04:00
										 |  |  | want to upgrade and keep your existing data. Try these step-by-step | 
					
						
							| 
									
										
										
										
											2011-08-22 18:28:50 -04:00
										 |  |  | 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". | 
					
						
							| 
									
										
										
										
											2011-09-07 18:42:40 -04:00
										 |  |  | 7. Unpack your StatusNet 1.0.0 tarball and move it to "statusnet" or | 
					
						
							| 
									
										
										
										
											2011-08-22 18:28:50 -04:00
										 |  |  |    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. | 
					
						
							| 
									
										
										
										
											2011-09-07 18:42:40 -04:00
										 |  |  | 10. Upgrade the database. | 
					
						
							| 
									
										
										
										
											2011-08-22 18:28:50 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |     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! | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-07 18:42:40 -04:00
										 |  |  |     In your new StatusNet 1.0.0 directory and AFTER YOU MAKE A | 
					
						
							|  |  |  |     BACKUP run the upgrade.php script like this: | 
					
						
							| 
									
										
										
										
											2011-08-22 18:28:50 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-07 18:42:40 -04:00
										 |  |  |         php ./scripts/upgrade.php | 
					
						
							| 
									
										
										
										
											2011-08-22 18:28:50 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							| 
									
										
										
										
											2011-09-07 18:42:40 -04:00
										 |  |  | 13. Turn back on XMPP bots and email maildaemon. | 
					
						
							| 
									
										
										
										
											2011-08-22 18:28:50 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  | -------------- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-07 18:42:40 -04:00
										 |  |  | If you are upgrading from a 0.8.x or 0.9.x version, you can safely | 
					
						
							|  |  |  | skip this section. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-22 18:28:50 -04:00
										 |  |  | 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. | 
					
						
							| 
									
										
										
										
											2011-09-07 18:42:40 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2011-09-08 13:22:38 -04:00
										 |  |  | 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. |