HOW TO HOST MULTIPLE WORDPRESS INSTALLS ON A SYNOLOGY NAS starting with george.com

  1. if you’ve previously installed the synology wordpress package, remove it, and delete everything inside your /web folder.
  2. if you have not already done so, install and run MariaDB, phpmyadmin, and Web Station. in MariaDB make a root password, then in phpmyadmin log in with those credentials and make a new User called ‘suzie’ and password ‘password’ and assign that user all Global Privileges.
  3. go to your domain name registrar and make two changes: point your A record for george.com to the external ip address of your syno – just that – and make a CNAME record pointing “www” to your domain name.
  4. make a subfolder in /web called ‘george’
  5. in phpmyadmin, make a new, empty, database and call it ‘george’
  6. in Web Station>Virtual Servers, make two new entries, one for ‘george.com’, another for ‘www.george.com,’ and point them both at /web/george
  7. download a copy of wordpress from wordpress.org. upload it to /web/george, extract it there, move the contents of the ‘wordpress’ folder to /george, and then delete the zip file and the now empty ‘wordpress’ folder
  8. open the wp-config-example.php file. make the following changes, DB NAME ‘george’, DB USER ‘suzie’, DB PASSWORD ‘password’, $table prefix ‘grg_’. save this php file as ‘wp-config’…..make sure you change the table prefix to something unique, and of course make a strong password in step 2.
  9. in your new wp-config file, add the following two entries, before the ‘that’s all, stop editing’ message: firstly, add ‘define(‘WP_MEMORY_LIMIT’, ‘128M’);’ you’ll need this, or 256M, if you want to run woocommerce. Secondly, add ‘define(‘FS_METHOD’, ‘direct’);’. without this you won’t be able to install or update plugins.
  10. if your DNS change has propagated, type ‘george.com/wp-admin/install.php’ in your browser and follow the setup instructions. database name is ‘george’, username is ‘suzie’, password is ‘password’, db host is ‘localhost’, and table prefix is ‘grg_’. WP SITE and WP HOME are ‘george.com.’
  11. when you get the Welcome screen, set your own username and password for logging into wp-admin.

that’s it. you can now log into the backend of your site at george.com/wp-admin. for fred.com, and dave.com etc, redo numbers 3 – 11 again, this time subfolder ‘/fred’ and ‘/dave’ etc

if you have any problems let me know.

2 years ago
Great work. I’m currently developing my web pages with HTML and php but I will try it with WP and see how it goes. Btw do you know how to set up sub-domains for each web pages? Like in case I want to make www.george.com and blog.george.com each will have their own index.php file in their own folder which are folders called www and blog respectively. I guess it will be similar with step 6 right? Just create another entry called blog.george.com and point it to /web/george/blog, is this correct?

Yes, correct. In DNS records you’d point blog CNAME at your domain name, install a wordpress instance in /web/george/blog, and make a virtual server record that pointed blog.george.com (and www) at the same blog sub sub folder.