Switching from Synology’s WordPress end-of-life package to Web Station

I installed the WordPress package when setting up my Synology NAS, it’s been running without fault for years but due to lack of package updates has reached end of life. Time to migrate to Web Station!

The WordPress package maintained by Synology is locked to PHP 5.6 and Apache HTTP Server 2.2 meaning there’s no upgrade path for either PHP or Apache HTTP Web Server.

Here’s how to migrate from the Synology WordPress package to Web Station:

  1. Connect to DSM and log in as an Administrator, or user with read/write access to Web Station files at /web/ as well as the following DSM Apps
    • File Manager
    • Package Centre
    • Web Station
  2. Open File Station and navigate to the /web/wordpress/ directory
  3. Copy the /web/wordpress/ directory contents to a new temporary directory away from Web Station (e.g. /backup/wordpress/…)
  4. Open Package Centre
  5. Search for “Apache” and install the Apache HTTP Server 2.4 package
  6. Search for “PHP” and install the PHP 7.3 package
  7. Open Web Station
  8. From the Status tab ensure that both Apache HTTP Server 2.4 and PHP 7.3 are listed within the Back-end Packages section and marked as Installed.
  9. Switch to the PHP Settings tab
  10. Create a new Profile by clicking the Create button, set the following fields within the popup dialog:
    • Profile Name: Default profile
    • Description: Default PHP 7.3 profile
    • PHP version: PHP 7.3
    • Enable PHP cache
    • Select any PHP extensions you require, if unsure check against the default extensions already enabled from the default PHP 5.6 profile on the PHP Settings tab
    • Click OK to create the new Profile
  11. Switch to the Virtual Host tab
  12. Create a new Virtual Host by clicking the Create button, set the following fields within the popup dialog:
    • Hostname: wordpress
    • Port: 80 / 443
    • Document root: Click the Browse button and navigate to the /web/wordpress/ directory
    • HTTP back-end server: Apache HTTP Server 2.4
    • PHP: Default Profile (PHP 7.3)
    • Click OK to create the new Virtual Host
  13. Open Package Centre
  14. Search for “WordPress” and select Uninstall from the Actions dropdown
  15. Accept the confirmation prompt that you wish to uninstall this package
  16. When prompted if you wish to delete the WordPress database leave the tickbox unchecked and do not fill the database login fields; we want to keep the existing WordPress database
  17. Click Uninstall to remove the WordPress package
  18. Open File Station and copy the temporary backup directory (e.g. /backup/wordpress/…) back to /web/wordpress/
  19. Open Web Station and switch to the Virtual Hosts tab
  20. Ensure that the Sub-folder Name column for the wordpress Virtual Host is still set as /web/wordpress, if this is blank edit the Virtual Host and re-link it to /web/wordpress/
  21. That’s it!

Open up your browser and navigate to your WordPress site to confirm the migration was successful. You can now change the HTTP back-end server and PHP version at any time via Web Station! Pretty nifty. 🙂

Published by

Michael Visser

I'm a WordPress Plugin developer, UAV & Raspberry Pi enthusiast and general tinkerer. This visser.io domain serves as my development playground for non-WordPress Plugin projects.

13 thoughts on “Switching from Synology’s WordPress end-of-life package to Web Station”

  1. Thanks for this Michael. Well laid out and easy to follow.
    Just tried it with partial success. WordPress is now using php 7.3 and Apache 2.4 but every page I request 404’s.
    My php 7.3 Virtual server per your script is setup to match php5.6 as suggested.

    Deleting some of the extra stuff has got me past the initial WordPress function is disabled message I had at every turn but now it’s 404s.
    So I’m just ploughing my way through checking what Synology has added and messed about with, against my virgin copy, in the hope I’ll get there.

    syno-misc.php, .htaccess, .htaccess.syno, disabled.html were added
    wp-config.php has a number of changes.
    The admin and edit screens all work – but view a page and 404!

    Incidentally, I downloaded WP 5.4.1 and loaded that up to a separate folder, within the web folder WebStation is using, and I set that up as a new separate WordPress instance. That seems to be working fine.

    I really don’t understand any value in Synology’s approach when a simple (almost) load-and-go setup is so easy. Take a backup, download from wp, unzip it, delete the wp_content folder, whack it up there. Voila!

    Has anyone had recent experience and success replacing the base wordpress install after removing the Synology package?

    I’ll keep hunting and any thoughts would be most appreciated.

  2. Very good instructions Michael!

    I did experience the same MySQL error that Fred commented on, so when I read the comments I knew what to do. Once the extensions where enabled, the site loaded up just fine!

  3. Thanks Michael Visser for sharing this trick. Worked for me!
    Did get the HTTP 500 Error as well like the people commented below.
    Though, selecting all the extensions in the PHP Settings profile did the trick for me! I copied the extension settings from the PHP 5.6 profile, which basically selects all extensions but ldap, libsodium, mailparse, mssql,
    pdo_dblib, phar, ssh2, xsl

    Still not working?
    Another thing what might help is changing the .htaccess file in your wordpress root folder. https://my.bluehost.com/hosting/help/htaccess-php-handlers
    Or just put the Web Station general settings also…

  4. Well I seem to have messed up although I followed directions to a T. I’m getting 500 error when loading the WordPress site after the changes were implemented.

  5. nein geht nicht, php6 gestoppt, doch wordpress will immer noch php6 haben. ansonsten genau wie geschildert gemacht.
    schade.

  6. Hello,

    works also not for me..@Fred, do you mean the extensions under options – PHP settings – Standardprofil – extensions? I activated all of them after it was not working and also selected under virtual host for wordpress http backend server – Apache 2.4 and for php Standardprofil 7.3. But its still not working. Im not so familiar with this things and hope you can help..

    Kind regards

    1. Hey,

      solution was to also configure the standard settings in PHP settings to Apache 2.4 and PHP 7.3 Standardprofil.

      Kind regards 🙂

  7. Hi Michael, thanks for this interesting description. I’m currently playing around with WordPress on a Synology with the idea to use it as a lab environment. So there is nothing to loose, but for sure I need to have actual PHP and HTTP severs.
    However, those steps didn’t work out with my installation. In the end I get an error 500 when trying to login to WordPress. What I did differently: also uninstalled Apache 2.2 and PHP 5.6. Could this be a problem? Or did I loose some access rights when copying the files? If you have an idea, I’m happy to find the answers 🙂

  8. Did not work for me the first time around. For some reason the PHP 5.6 profile showed all extensions as switched off. So I had the same for PHP 7.3. Switched on PHP error display. Error displayed that mysql connect function was missing. Switch on all mysql extensions and it worked.

Leave a Reply

Your email address will not be published. Required fields are marked *