]>
Commit | Line | Data |
---|---|---|
1 | <!DOCTYPE html> | |
2 | <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> | |
3 | <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> | |
4 | <head> | |
5 | <meta charset="utf-8"> | |
6 | <meta http-equiv="X-UA-Compatible" content="IE=edge"> | |
7 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
8 | ||
9 | ||
10 | <link rel="shortcut icon" href="../img/favicon.ico"> | |
11 | <title>Upgrade and migration - Shaarli Documentation</title> | |
12 | <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'> | |
13 | ||
14 | <link rel="stylesheet" href="../css/theme.css" type="text/css" /> | |
15 | <link rel="stylesheet" href="../css/theme_extra.css" type="text/css" /> | |
16 | <link rel="stylesheet" href="../css/highlight.css"> | |
17 | <link href="../github-markdown.css" rel="stylesheet"> | |
18 | ||
19 | <script> | |
20 | // Current page data | |
21 | var mkdocs_page_name = "Upgrade and migration"; | |
22 | var mkdocs_page_input_path = "Upgrade-and-migration.md"; | |
23 | var mkdocs_page_url = "/Upgrade-and-migration/"; | |
24 | </script> | |
25 | ||
26 | <script src="../js/jquery-2.1.1.min.js"></script> | |
27 | <script src="../js/modernizr-2.8.3.min.js"></script> | |
28 | <script type="text/javascript" src="../js/highlight.pack.js"></script> | |
29 | ||
30 | </head> | |
31 | ||
32 | <body class="wy-body-for-nav" role="document"> | |
33 | ||
34 | <div class="wy-grid-for-nav"> | |
35 | ||
36 | ||
37 | <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav"> | |
38 | <div class="wy-side-nav-search"> | |
39 | <a href=".." class="icon icon-home"> Shaarli Documentation</a> | |
40 | <div role="search"> | |
41 | <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get"> | |
42 | <input type="text" name="q" placeholder="Search docs" /> | |
43 | </form> | |
44 | </div> | |
45 | </div> | |
46 | ||
47 | <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> | |
48 | <ul class="current"> | |
49 | ||
50 | ||
51 | <li class="toctree-l1"> | |
52 | ||
53 | <a class="" href="..">Home</a> | |
54 | </li> | |
55 | ||
56 | <li class="toctree-l1"> | |
57 | ||
58 | <span class="caption-text">Setup</span> | |
59 | <ul class="subnav"> | |
60 | <li class=""> | |
61 | ||
62 | <a class="" href="../Download-and-Installation/">Download and Installation</a> | |
63 | </li> | |
64 | <li class=" current"> | |
65 | ||
66 | <a class="current" href="./">Upgrade and migration</a> | |
67 | <ul class="subnav"> | |
68 | ||
69 | <li class="toctree-l3"><a href="#preparation">Preparation</a></li> | |
70 | ||
71 | <ul> | |
72 | ||
73 | <li><a class="toctree-l4" href="#note-your-current-version">Note your current version</a></li> | |
74 | ||
75 | <li><a class="toctree-l4" href="#backup-your-data">Backup your data</a></li> | |
76 | ||
77 | <li><a class="toctree-l4" href="#migrating-data-from-a-previous-installation">Migrating data from a previous installation</a></li> | |
78 | ||
79 | </ul> | |
80 | ||
81 | ||
82 | <li class="toctree-l3"><a href="#recommended-upgrading-from-release-archives">Recommended : Upgrading from release archives</a></li> | |
83 | ||
84 | ||
85 | <li class="toctree-l3"><a href="#upgrading-with-git">Upgrading with Git</a></li> | |
86 | ||
87 | <ul> | |
88 | ||
89 | <li><a class="toctree-l4" href="#updating-a-community-shaarli">Updating a community Shaarli</a></li> | |
90 | ||
91 | <li><a class="toctree-l4" href="#migrating-and-upgrading-from-sebsauvages-repository">Migrating and upgrading from Sebsauvage's repository</a></li> | |
92 | ||
93 | </ul> | |
94 | ||
95 | ||
96 | <li class="toctree-l3"><a href="#troubleshooting">Troubleshooting</a></li> | |
97 | ||
98 | <ul> | |
99 | ||
100 | <li><a class="toctree-l4" href="#you-must-specify-an-integer-as-a-key">You must specify an integer as a key</a></li> | |
101 | ||
102 | </ul> | |
103 | ||
104 | ||
105 | </ul> | |
106 | </li> | |
107 | <li class=""> | |
108 | ||
109 | <a class="" href="../Server-requirements/">Server requirements</a> | |
110 | </li> | |
111 | <li class=""> | |
112 | ||
113 | <a class="" href="../Server-configuration/">Server configuration</a> | |
114 | </li> | |
115 | <li class=""> | |
116 | ||
117 | <a class="" href="../Server-security/">Server security</a> | |
118 | </li> | |
119 | <li class=""> | |
120 | ||
121 | <a class="" href="../Shaarli-configuration/">Shaarli configuration</a> | |
122 | </li> | |
123 | <li class=""> | |
124 | ||
125 | <a class="" href="../Plugins/">Plugins</a> | |
126 | </li> | |
127 | </ul> | |
128 | </li> | |
129 | ||
130 | <li class="toctree-l1"> | |
131 | ||
132 | <span class="caption-text">Docker</span> | |
133 | <ul class="subnav"> | |
134 | <li class=""> | |
135 | ||
136 | <a class="" href="../docker/docker-101/">Docker 101</a> | |
137 | </li> | |
138 | <li class=""> | |
139 | ||
140 | <a class="" href="../docker/shaarli-images/">Shaarli images</a> | |
141 | </li> | |
142 | <li class=""> | |
143 | ||
144 | <a class="" href="../docker/reverse-proxy-configuration/">Reverse proxy configuration</a> | |
145 | </li> | |
146 | <li class=""> | |
147 | ||
148 | <a class="" href="../docker/resources/">Docker resources</a> | |
149 | </li> | |
150 | </ul> | |
151 | </li> | |
152 | ||
153 | <li class="toctree-l1"> | |
154 | ||
155 | <span class="caption-text">Usage</span> | |
156 | <ul class="subnav"> | |
157 | <li class=""> | |
158 | ||
159 | <a class="" href="../Features/">Features</a> | |
160 | </li> | |
161 | <li class=""> | |
162 | ||
163 | <a class="" href="../Bookmarklet/">Bookmarklet</a> | |
164 | </li> | |
165 | <li class=""> | |
166 | ||
167 | <a class="" href="../Browsing-and-searching/">Browsing and searching</a> | |
168 | </li> | |
169 | <li class=""> | |
170 | ||
171 | <a class="" href="../Firefox-share/">Firefox share</a> | |
172 | </li> | |
173 | <li class=""> | |
174 | ||
175 | <a class="" href="../RSS-feeds/">RSS feeds</a> | |
176 | </li> | |
177 | <li class=""> | |
178 | ||
179 | <a class="" href="../REST-API/">REST API</a> | |
180 | </li> | |
181 | </ul> | |
182 | </li> | |
183 | ||
184 | <li class="toctree-l1"> | |
185 | ||
186 | <span class="caption-text">How To</span> | |
187 | <ul class="subnav"> | |
188 | <li class=""> | |
189 | ||
190 | <a class="" href="../Backup,-restore,-import-and-export/">Backup, restore, import and export</a> | |
191 | </li> | |
192 | <li class=""> | |
193 | ||
194 | <a class="" href="../Various-hacks/">Various hacks</a> | |
195 | </li> | |
196 | </ul> | |
197 | </li> | |
198 | ||
199 | <li class="toctree-l1"> | |
200 | ||
201 | <a class="" href="../Troubleshooting/">Troubleshooting</a> | |
202 | </li> | |
203 | ||
204 | <li class="toctree-l1"> | |
205 | ||
206 | <span class="caption-text">Development</span> | |
207 | <ul class="subnav"> | |
208 | <li class=""> | |
209 | ||
210 | <a class="" href="../Development-guidelines/">Development guidelines</a> | |
211 | </li> | |
212 | <li class=""> | |
213 | ||
214 | <a class="" href="../Continuous-integration-tools/">Continuous integration tools</a> | |
215 | </li> | |
216 | <li class=""> | |
217 | ||
218 | <a class="" href="../GnuPG-signature/">GnuPG signature</a> | |
219 | </li> | |
220 | <li class=""> | |
221 | ||
222 | <a class="" href="../Coding-guidelines/">Coding guidelines</a> | |
223 | </li> | |
224 | <li class=""> | |
225 | ||
226 | <a class="" href="../Directory-structure/">Directory structure</a> | |
227 | </li> | |
228 | <li class=""> | |
229 | ||
230 | <a class="" href="../3rd-party-libraries/">3rd party libraries</a> | |
231 | </li> | |
232 | <li class=""> | |
233 | ||
234 | <a class="" href="../Plugin-System/">Plugin System</a> | |
235 | </li> | |
236 | <li class=""> | |
237 | ||
238 | <a class="" href="../Release-Shaarli/">Release Shaarli</a> | |
239 | </li> | |
240 | <li class=""> | |
241 | ||
242 | <a class="" href="../Versioning-and-Branches/">Versioning and Branches</a> | |
243 | </li> | |
244 | <li class=""> | |
245 | ||
246 | <a class="" href="../Security/">Security</a> | |
247 | </li> | |
248 | <li class=""> | |
249 | ||
250 | <a class="" href="../Static-analysis/">Static analysis</a> | |
251 | </li> | |
252 | <li class=""> | |
253 | ||
254 | <a class="" href="../Theming/">Theming</a> | |
255 | </li> | |
256 | <li class=""> | |
257 | ||
258 | <a class="" href="../Unit-tests/">Unit tests</a> | |
259 | </li> | |
260 | </ul> | |
261 | </li> | |
262 | ||
263 | <li class="toctree-l1"> | |
264 | ||
265 | <span class="caption-text">About</span> | |
266 | <ul class="subnav"> | |
267 | <li class=""> | |
268 | ||
269 | <a class="" href="../FAQ/">FAQ</a> | |
270 | </li> | |
271 | <li class=""> | |
272 | ||
273 | <a class="" href="../Community-&-Related-software/">Community & Related software</a> | |
274 | </li> | |
275 | </ul> | |
276 | </li> | |
277 | ||
278 | </ul> | |
279 | </div> | |
280 | | |
281 | </nav> | |
282 | ||
283 | <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> | |
284 | ||
285 | ||
286 | <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> | |
287 | <i data-toggle="wy-nav-top" class="fa fa-bars"></i> | |
288 | <a href="..">Shaarli Documentation</a> | |
289 | </nav> | |
290 | ||
291 | ||
292 | <div class="wy-nav-content"> | |
293 | <div class="rst-content"> | |
294 | <div role="navigation" aria-label="breadcrumbs navigation"> | |
295 | <ul class="wy-breadcrumbs"> | |
296 | <li><a href="..">Docs</a> »</li> | |
297 | ||
298 | ||
299 | ||
300 | <li>Setup »</li> | |
301 | ||
302 | ||
303 | ||
304 | <li>Upgrade and migration</li> | |
305 | <li class="wy-breadcrumbs-aside"> | |
306 | ||
307 | <a href="https://github.com/shaarli/Shaarli/edit/master/docs/Upgrade-and-migration.md" | |
308 | class="icon icon-github"> Edit on GitHub</a> | |
309 | ||
310 | </li> | |
311 | </ul> | |
312 | <hr/> | |
313 | </div> | |
314 | <div role="main"> | |
315 | <div class="section"> | |
316 | ||
317 | <h2 id="preparation">Preparation</h2> | |
318 | <h3 id="note-your-current-version">Note your current version</h3> | |
319 | <p>If anything goes wrong, it's important for us to know which version you're upgrading from.<br /> | |
320 | The current version is present in the <code>version.php</code> file.</p> | |
321 | <h3 id="backup-your-data">Backup your data</h3> | |
322 | <p>Shaarli stores all user data under the <code>data</code> directory: | |
323 | - <code>data/config.php</code> - main configuration file | |
324 | - <code>data/datastore.php</code> - bookmarked links | |
325 | - <code>data/ipbans.php</code> - banned IP addresses | |
326 | - <code>data/updates.txt</code> - contains all automatic update to the configuration and datastore files already run</p> | |
327 | <p>See <a href="../Shaarli configuration">Shaarli configuration</a> for more information about Shaarli resources.</p> | |
328 | <p>It is recommended to backup this repository <em>before</em> starting updating/upgrading Shaarli: | |
329 | - users with SSH access: copy or archive the directory to a temporary location | |
330 | - users with FTP access: download a local copy of your Shaarli installation using your favourite client</p> | |
331 | <h3 id="migrating-data-from-a-previous-installation">Migrating data from a previous installation</h3> | |
332 | <p>As all user data is kept under <code>data</code>, this is the only directory you need to worry about when migrating to a new installation, which corresponds to the following steps:</p> | |
333 | <ul> | |
334 | <li>backup the <code>data</code> directory</li> | |
335 | <li>install or update Shaarli:<ul> | |
336 | <li>fresh installation - see <a href="../Download and installation">Download and installation</a></li> | |
337 | <li>update - see the following sections</li> | |
338 | </ul> | |
339 | </li> | |
340 | <li>check or restore the <code>data</code> directory</li> | |
341 | </ul> | |
342 | <h2 id="recommended-upgrading-from-release-archives">Recommended : Upgrading from release archives</h2> | |
343 | <p>All tagged revisions can be downloaded as tarballs or ZIP archives from the <a href="https://github.com/shaarli/Shaarli/releases">releases</a> page.</p> | |
344 | <p>We recommend that you use the latest release tarball with the <code>-full</code> suffix. It contains the dependencies, please read <a href="../Download and installation">Download and installation</a> for <code>git</code> complete instructions.</p> | |
345 | <p>Once downloaded, extract the archive locally and update your remote installation (e.g. via FTP) -be sure you keep the content of the <code>data</code> directory!</p> | |
346 | <p>After upgrading, access your fresh Shaarli installation from a web browser; the configuration and data store will then be automatically updated, and new settings added to <code>data/config.json.php</code> (see <a href="../Shaarli configuration">Shaarli configuration</a> for more details).</p> | |
347 | <h2 id="upgrading-with-git">Upgrading with Git</h2> | |
348 | <h3 id="updating-a-community-shaarli">Updating a community Shaarli</h3> | |
349 | <p>If you have installed Shaarli from the <a href="../Download#clone-with-git-recommended">community Git repository</a>, simply <a href="https://www.git-scm.com/docs/git-pull">pull new changes</a> from your local clone:</p> | |
350 | <pre><code class="bash">$ cd /path/to/shaarli | |
351 | $ git pull | |
352 | ||
353 | From github.com:shaarli/Shaarli | |
354 | * branch master -> FETCH_HEAD | |
355 | Updating ebd67c6..521f0e6 | |
356 | Fast-forward | |
357 | application/Url.php | 1 + | |
358 | shaarli_version.php | 2 +- | |
359 | tests/Url/UrlTest.php | 1 + | |
360 | 3 files changed, 3 insertions(+), 1 deletion(-) | |
361 | </code></pre> | |
362 | ||
363 | <p>Shaarli >= <code>v0.8.x</code>: install/update third-party PHP dependencies using <a href="https://getcomposer.org/">Composer</a>:</p> | |
364 | <pre><code class="bash">$ composer install --no-dev | |
365 | ||
366 | Loading composer repositories with package information | |
367 | Updating dependencies | |
368 | - Installing shaarli/netscape-bookmark-parser (v1.0.1) | |
369 | Downloading: 100% | |
370 | </code></pre> | |
371 | ||
372 | <h3 id="migrating-and-upgrading-from-sebsauvages-repository">Migrating and upgrading from Sebsauvage's repository</h3> | |
373 | <p>If you have installed Shaarli from <a href="https://github.com/sebsauvage/Shaarli">Sebsauvage's original Git repository</a>, you can use <a href="https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes">Git remotes</a> to update your working copy.</p> | |
374 | <p>The following guide assumes that: | |
375 | - you have a basic knowledge of Git <a href="https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell">branching</a> and <a href="https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes">remote repositories</a> | |
376 | - the default remote is named <code>origin</code> and points to Sebsauvage's repository | |
377 | - the current branch is <code>master</code> | |
378 | - if you have personal branches containing customizations, you will need to <a href="https://git-scm.com/book/en/v2/Git-Branching-Rebasing">rebase them</a> after the upgrade; beware though, a lot of changes have been made since the community fork has been created, so things are very likely to break! | |
379 | - the working copy is clean: | |
380 | - no versioned file has been locally modified | |
381 | - no untracked files are present</p> | |
382 | <h4 id="step-0-show-repository-information">Step 0: show repository information</h4> | |
383 | <pre><code class="bash">$ cd /path/to/shaarli | |
384 | ||
385 | $ git remote -v | |
386 | origin https://github.com/sebsauvage/Shaarli (fetch) | |
387 | origin https://github.com/sebsauvage/Shaarli (push) | |
388 | ||
389 | $ git branch -vv | |
390 | * master 029f75f [origin/master] Update README.md | |
391 | ||
392 | $ git status | |
393 | On branch master | |
394 | Your branch is up-to-date with 'origin/master'. | |
395 | nothing to commit, working directory clean | |
396 | </code></pre> | |
397 | ||
398 | <h4 id="step-1-update-git-remotes">Step 1: update Git remotes</h4> | |
399 | <pre><code>$ git remote rename origin sebsauvage | |
400 | $ git remote -v | |
401 | sebsauvage https://github.com/sebsauvage/Shaarli (fetch) | |
402 | sebsauvage https://github.com/sebsauvage/Shaarli (push) | |
403 | ||
404 | $ git remote add origin https://github.com/shaarli/Shaarli | |
405 | $ git fetch origin | |
406 | ||
407 | remote: Counting objects: 3015, done. | |
408 | remote: Compressing objects: 100% (19/19), done. | |
409 | remote: Total 3015 (delta 446), reused 457 (delta 446), pack-reused 2550 | |
410 | Receiving objects: 100% (3015/3015), 2.59 MiB | 918.00 KiB/s, done. | |
411 | Resolving deltas: 100% (1899/1899), completed with 48 local objects. | |
412 | From https://github.com/shaarli/Shaarli | |
413 | * [new branch] master -> origin/master | |
414 | * [new branch] stable -> origin/stable | |
415 | [...] | |
416 | * [new tag] v0.6.4 -> v0.6.4 | |
417 | * [new tag] v0.7.0 -> v0.7.0 | |
418 | </code></pre> | |
419 | ||
420 | <h4 id="step-2-use-the-stable-community-branch">Step 2: use the stable community branch</h4> | |
421 | <pre><code class="bash">$ git checkout origin/stable -b stable | |
422 | Branch stable set up to track remote branch stable from origin. | |
423 | Switched to a new branch 'stable' | |
424 | ||
425 | $ git branch -vv | |
426 | master 029f75f [sebsauvage/master] Update README.md | |
427 | * stable 890afc3 [origin/stable] Merge pull request #509 from ArthurHoaro/v0.6.5 | |
428 | </code></pre> | |
429 | ||
430 | <p>Shaarli >= <code>v0.8.x</code>: install/update third-party PHP dependencies using <a href="https://getcomposer.org/">Composer</a>:</p> | |
431 | <pre><code class="bash">$ composer install --no-dev | |
432 | ||
433 | Loading composer repositories with package information | |
434 | Updating dependencies | |
435 | - Installing shaarli/netscape-bookmark-parser (v1.0.1) | |
436 | Downloading: 100% | |
437 | </code></pre> | |
438 | ||
439 | <p>Optionally, you can delete information related to the legacy version:</p> | |
440 | <pre><code class="bash">$ git branch -D master | |
441 | Deleted branch master (was 029f75f). | |
442 | ||
443 | $ git remote remove sebsauvage | |
444 | ||
445 | $ git remote -v | |
446 | origin https://github.com/shaarli/Shaarli (fetch) | |
447 | origin https://github.com/shaarli/Shaarli (push) | |
448 | ||
449 | $ git gc | |
450 | Counting objects: 3317, done. | |
451 | Delta compression using up to 8 threads. | |
452 | Compressing objects: 100% (1237/1237), done. | |
453 | Writing objects: 100% (3317/3317), done. | |
454 | Total 3317 (delta 2050), reused 3301 (delta 2034)to | |
455 | </code></pre> | |
456 | ||
457 | <h4 id="step-3-configuration">Step 3: configuration</h4> | |
458 | <p>After migrating, access your fresh Shaarli installation from a web browser; the configuration will then be automatically updated, and new settings added to <code>data/config.php</code> (see <a href="../Shaarli configuration">Shaarli configuration</a> for more details).</p> | |
459 | <h2 id="troubleshooting">Troubleshooting</h2> | |
460 | <p>If the solutions provided here doesn't work, please open an issue specifying which version you're upgrading from and to.</p> | |
461 | <h3 id="you-must-specify-an-integer-as-a-key">You must specify an integer as a key</h3> | |
462 | <p>In <code>v0.8.1</code> we changed how link keys are handled (from timestamps to incremental integers). | |
463 | Take a look at <code>data/updates.txt</code> content.</p> | |
464 | <h4 id="updatestxt-contains-updatemethoddatastoreids"><code>updates.txt</code> contains <code>updateMethodDatastoreIds</code></h4> | |
465 | <p>Try to delete it and refresh your page while being logged in.</p> | |
466 | <h4 id="updatestxt-doesnt-exists-or-doesnt-contain-updatemethoddatastoreids"><code>updates.txt</code> doesn't exists or doesn't contain <code>updateMethodDatastoreIds</code></h4> | |
467 | <ol> | |
468 | <li>Create <code>data/updates.txt</code> if it doesn't exist.</li> | |
469 | <li>Paste this string in the update file <code>;updateMethodRenameDashTags;</code></li> | |
470 | <li>Login to Shaarli.</li> | |
471 | <li>Delete the update file.</li> | |
472 | <li>Refresh.</li> | |
473 | </ol> | |
474 | ||
475 | </div> | |
476 | </div> | |
477 | <footer> | |
478 | ||
479 | <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> | |
480 | ||
481 | <a href="../Server-requirements/" class="btn btn-neutral float-right" title="Server requirements">Next <span class="icon icon-circle-arrow-right"></span></a> | |
482 | ||
483 | ||
484 | <a href="../Download-and-Installation/" class="btn btn-neutral" title="Download and Installation"><span class="icon icon-circle-arrow-left"></span> Previous</a> | |
485 | ||
486 | </div> | |
487 | ||
488 | ||
489 | <hr/> | |
490 | ||
491 | <div role="contentinfo"> | |
492 | <!-- Copyright etc --> | |
493 | ||
494 | </div> | |
495 | ||
496 | Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. | |
497 | </footer> | |
498 | ||
499 | </div> | |
500 | </div> | |
501 | ||
502 | </section> | |
503 | ||
504 | </div> | |
505 | ||
506 | <div class="rst-versions" role="note" style="cursor: pointer"> | |
507 | <span class="rst-current-version" data-toggle="rst-current-version"> | |
508 | ||
509 | <a href="https://github.com/shaarli/Shaarli" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a> | |
510 | ||
511 | ||
512 | <span><a href="../Download-and-Installation/" style="color: #fcfcfc;">« Previous</a></span> | |
513 | ||
514 | ||
515 | <span style="margin-left: 15px"><a href="../Server-requirements/" style="color: #fcfcfc">Next »</a></span> | |
516 | ||
517 | </span> | |
518 | </div> | |
519 | <script src="../js/theme.js"></script> | |
520 | ||
521 | </body> | |
522 | </html> |