{"componentChunkName":"component---node-modules-gatsby-theme-blog-core-src-templates-post-query-js","path":"/explosive-dsm-6-update/","result":{"data":{"site":{"siteMetadata":{"title":"one melo a day","social":[{"name":"twitter","url":"https://twitter.com/melo0187"},{"name":"github","url":"https://github.com/melo0187"}]}},"blogPost":{"__typename":"MdxBlogPost","id":"8f0f5fc1-5dd6-5002-b985-3c2581046db9","excerpt":"My experience upgrading a DS214play from DSM 5.2 to 6.0","body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"layout\": \"post\",\n  \"title\": \"DSM 6 Adventures: Explosive Update\",\n  \"author\": \"melo\",\n  \"date\": \"2016-03-31T17:00:59.000Z\",\n  \"categories\": [\"DiskStation\", \"Technical\"],\n  \"slug\": \"explosive-dsm-6-update\",\n  \"excerpt\": \"My experience upgrading a DS214play from DSM 5.2 to 6.0\",\n  \"draft\": false,\n  \"meta_title\": \"DSM 6 Adventures: Explosive Update\"\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"I actually planned to make my next post about setting up Synology\\u2019s Directory Server on DSM and use it for authentication with GitBlit, but as John Lennon once said:\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"Life is what happens while you are busy making other plans\")), mdx(\"p\", null, \"And so it happened that DSM 6 was released. I thought I just update to the new version real quick, enjoy some new features and go on with the plans I have for my home lab, but things went down a very different road.\"), mdx(\"h2\", {\n    \"id\": \"the-situation\"\n  }, \"The Situation\"), mdx(\"p\", null, \"If you look through\\xA0this blog, you see\\xA0that I am using my NAS for a little bit more than just for storing and streaming my media. As of now this very blog is hosted on my NAS. Your visit is tracked in Piwik so that I can get some vanity numbers and this is also hosted on my NAS. I \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://melo.myds.me/wordpress/turn-diskstation-into-self-hosted-git-server/\"\n  }), \"run a GitBlit server\"), \" for my little hobby projects and Jenkins for picking up changes\\xA0to my \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://jsonresume.org/\"\n  }), \"resume.json\"), \"\\xA0inspired git repository\\xA0and publish them to my CV website, which makes up the \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://melo.myds.me\"\n  }), \"About Me\"), \" page of this blog. I host these two applications with the help of Tomcat, which runs on my NAS, too. This is true for both before and after the update from DSM 5.2 to version 6.0, but basically all of this was down for the entire weekend and some of it even up until yesterday.\"), mdx(\"h2\", {\n    \"id\": \"what-happened\"\n  }, \"What happened\"), mdx(\"p\", null, \"Afte updating to DSM 6.0, which is basically just a click away in the Control Panel of your update ready Synology NAS device (find the list of supported models \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://www.synology.com/en-global/dsm/applied_models\"\n  }), \"here\"), \"), all of the things described above were not working correctly in one way or another.\"), mdx(\"h3\", {\n    \"id\": \"wordpress-got-weird\"\n  }, \"WordPress got weird\"), mdx(\"p\", null, \"My WordPress blog was in a more or less broken state. Some posts looked normal but for other posts things were broken. The sidebar did not show up and neither did the comments section. I couldn\\u2019t change anything about the theme, because when starting the customizer I was greeted by a dialog telling me that this theme required WordPress version 4.4.2. A look at the dashboard explained the situation: The DSM 6.0 update, which brought along updates for a lot of its packages, also applied an update to the WordPress package, which actually \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"downgraded\"), \" my WordPress installation from version 4.4.2 down to version 4.3.2. Better yet, the ability to update WordPress itself along with the installed plugins and themes was gone! I found myself stuck with a WordPress 4.3.2 installation that was using a theme and features requiring WordPress 4.4.2. A situation that was obviously leading to some problems. It took me a while to get things working again. I will describe described\\xA0the path I took to fix this in a separate post. \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://melo.myds.me/wordpress/restoring-wordpress-after-dsm-6-update/\"\n  }), \"Check it out\"), \"!\"), mdx(\"h3\", {\n    \"id\": \"piwik-went-down\"\n  }, \"Piwik went down\"), mdx(\"p\", null, \"Piwik simply stopped working entirely. Its package had been updated after the DSM 6.0 update, too. When trying to access Piwik, I was simply greeted by a 404 page. Needless to say that tracking my WordPress visits with Piwik was not working. Thankfully the database itself and all the data was still there. There are still some unsolved implications of the update that I need to go around at the moment, but all in all it is up and running again and tracking my blog. Again, I will describe the situation I encountered and how I solved it in a \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://melo.myds.me/wordpress/fix-piwik-after-dsm6-update/\"\n  }), \"separate post\"), \" for the sake of not cluttering this post more than I am already doing.\"), mdx(\"h3\", {\n    \"id\": \"tomcat-got-resetted\"\n  }, \"Tomcat got resetted\"), mdx(\"p\", null, \"With GitBlit and Jenkins the situation was actually quite funny. I was not able to access them through HTTPS, but with HTTP they were still working fine. At least at first glance. I accessed Jenkins and was looking at its empty welcome page. None of my jobs were to be found and no login required for access in the first place. When accessing GitBlit I noticed that I was not able to log in with my usual credentials. Just out of curiosity I tried the default admin/admin credentials and to my surprise I was logged in, but all my repositories had gone. The root cause was the fact that Tomcat had encountered the same fate as almost (or maybe even) all of the installed packages and got updated. In that process several Tomcat configuration files had been \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"overwritten\"), \" with their \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://en.wikipedia.org/wiki/Vanilla_software\"\n  }), \"vanilla versions\"), \" and in case\\xA0you are wondering: No, you do not get asked what to do with your old configuration files before they get wiped during the update process! In the related (yet to be written) post I will summarize the config files that I had customized and lost during the update in the hope of sparing you some pain and allowing you to save them to your backup before updating. Check it out \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://melo.myds.me/wordpress/tomcat-configs-to-backup-for-dsm6-update/\"\n  }), \"here\"), \".\"), mdx(\"h2\", {\n    \"id\": \"wrong-expectations\"\n  }, \"Wrong Expectations\"), mdx(\"p\", null, \"So that is my experience of updating my NAS, used both for media purposes and as a home lab, from DSM 5.2 to 6.0. I was genuinely caught by surprise here. I never had any issues with DSM updates and did not expect to get into so much trouble.\\xA0But this was my fault! I had wrong expectations! DSM 6.0 update was a big one and updated lots of packages in my case. All of the Synology owned packages updated flawlessly, continue to work without issues and sport nice new features. The problems I encountered are all related to third party packages. A \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://www.reddit.com/r/synology/comments/4culuh/my_really_bad_experience_upgrading_a_ds214play/d1m8ma1\"\n  }), \"discussion on reddit\"), \" made a very good analogy on how this is similar to third party packages being provided by an organization backing a Linux repository. I would not expect that organization\\xA0to have tested every package and all possible update paths for all third party packages they provide. I am simply happy they do package\\xA0third party software so that I have a convenient way of installing it and I need to take my own precautions when running and updating that software.\"), mdx(\"h2\", {\n    \"id\": \"on-the-bright-side\"\n  }, \"On the bright side\"), mdx(\"p\", null, \"Everything is back up and sort of functional again, but I still might use some input from Synology\\u2019s support department on some details like the use of Nginx for example. On the bright side I am richer for the experience, learned some new things, need to learn some more, have\\xA0rethought my backup strategy and will write down those detailed posts about how I fixed the described issues hoping that it might be of use to someone and possibly even spare you some of the trouble I had.\"));\n}\n;\nMDXContent.isMDXComponent = true;","slug":"/explosive-dsm-6-update/","title":"DSM 6 Adventures: Explosive Update","tags":[],"keywords":[],"date":"March 31, 2016"},"previous":{"__typename":"MdxBlogPost","id":"463055a3-2f1f-5867-afd2-a4366a50bb37","excerpt":"One of the things I almost instantly wanted to do after purchasing my DiskStation was to use it as a private Git server. I thought I was in…","slug":"/turn-diskstation-into-self-hosted-git-server/","title":"Turn your DiskStation into a self-hosted Git server","date":"March 05, 2016"},"next":{"__typename":"MdxBlogPost","id":"30fe04a3-f24a-5f44-958b-8df0acf146b9","excerpt":"What I did to restore my WordPress blog after the DSM 6 Update","slug":"/restoring-wordpress-after-dsm-6-update/","title":"DSM 6 Adventures: Restoring WordPress","date":"April 14, 2016"}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"8f0f5fc1-5dd6-5002-b985-3c2581046db9","previousId":"463055a3-2f1f-5867-afd2-a4366a50bb37","nextId":"30fe04a3-f24a-5f44-958b-8df0acf146b9"}}}