Installing Ghost in WSL
Shame on Tuj for installing Ghost on public server before installing locally.
Tuj: Time flows in the opposite direction on Earth? (pretending to be a galactic hitchhiker)
Locally we plan to install things in the Windows Subsystem for Linux rather than struggling with quirks of Windows. Well, it turns out there are still some minor struggles.
Follow exactly the same steps as in Installing Ghost up to just before the point of
ghost install. For development purposes, probably
ghost install --development is more appropriate. BTW the Linux flavour in current WSL defaults to Ubuntu 16.04 which
ghost-cli supports. After our powerful Surface groaned under the load for 10 minutes,
ghost was installed and the setup failed. Due to a bug in WSL,
sudo -u does not work. This was what ruined the setup process. At that point, all that was missing was the migration of the database, so we just ran it manually using the
sudo sudo workaround provided in the link above.
sudo sudo -E -u ghost $HOME/.nvm/versions/node/v6.5.0/lib/node_modules/ghost-cli/node_modules/.bin/knex-migrator-migrate --init --mgpath /var/www/ghost/current
During the setup, we used url http://localhost:2368 so that we will visit ghost directly.
Remember to start
mysqld if it is not running already. Since we are in WSL, services do not run automatically.
ghost start --development
failed, because of
sudo -u again. What works is the following.
sudo node current/index.js
Then launch a browser and visit http://localhost:2368.
Some Random Thoughts
The VPS is so much powerful than our local machine. The building and linking processes were so much faster. We thought that it would be quite limited by its tiny size of memory. We did have to add swap for the VPS to accommodate the memory eater
npm. We are also super envious of the download speed! Downloading the dependencies for ghost actually failed many times on our local machine. (╯°□°)╯︵ ┻━┻