WordPress powers almost 30% of the web; alongside Joomla and Drupal, it’s the world’s most-used CMS for creating websites (1). Free, easy to learn and install and extremely flexible, WordPress has many advantages. However, WordPress has become more cumbersome over time, so people are increasingly looking for credible free, independent alternatives to that product.
Ghost, an interesting alternative to WordPress for creating minimalist blogs
If you yearn to get back to a simple, uncluttered and responsive CMS that’s dedicated to the content of your blog, then you’re clearly in the target audience for Ghost.
Launched in 2013, Ghost is an open source CMS designed to create uncluttered blogs. Its minimalist admin interface is easy to use, and article writing is done in Markdown, an easy-to-learn text formatting language that saves a lot of time once you’ve got the hang of it.
Compared to WordPress, Ghost is faster, easier to use and focuses visitors’ attention on the content. On the other hand, Ghost is less flexible and complete than WordPress; it also requires some technical knowledge to install and web hosting that’s compatible with the Node.js software platform to work.
Installing the Ghost CMS with Infomaniak
Two cloud solutions are available to you for using Ghost with Infomaniak: Jelastic Cloud or a cloud server.
Installing Ghost on Jelastic Cloud (recommended)
- Log in to the Jelastic admin area from your manager
- Open the Jelastic marketplace
- Enter Ghost in the search field
- Follow the wizard and wait for Ghost to be deployed
Installing Ghost on a managed cloud server
The following information is provided for information purposes only.
- Create a web hosting site on the managed cloud server
- Create a website on the web hosting site
- Install NVM using Fast Installer
- Create an FTP+SSH account
- Using SSH, connect to your hosting site
- Install NPM with the command
npm install -g npm@latest
- Retrieve the latest version of Ghost with the command
npm i -g ghost-cli
- Run the command
export GHOST_CLI_PRE_CHECKS=false
which allows you to avoid the checks and to go to root access - Check that the target directory of your website is empty and install Ghost with the command
cd YOUR-WEBSITE-FOLDER && ghost install --db sqlite3 --no-setup-linux-user --no-setup-nginx --no-setup-ssl --no-start --process local
(e.g.: for the default “web” directory:cd web && ghost install --db sqlite3 --no-setup-linux-user --no-setup-nginx --no-setup-ssl --no-start --process local
) - Enter the requested information:
- System checks failed with message: ‘Linux version is not Ubuntu 16’
Some features of Ghost-CLI may not work without additional configuration.
For local installs we recommend using `ghost install local` instead.
Continue anyway? (Y/N)
Answer yes (=y) - Enter your blog URL: (http://localhost:2368) => enter the URL address from which your website will be accessible
- System checks failed with message: ‘Linux version is not Ubuntu 16’
- As Ghost runs on port 2368, it’s necessary to redirect the traffic via the website’s .htaccess file. At the root of the website, open or create the .htaccess file with the command
nano .htaccess
- Insert the following directives in the .htaccess file:
RewriteEngine On
RewriteRule ^(.*)$ http://localhost:2368/$1 [L,P]
DirectoryIndex - Switch to the production environment with the command
NODE_ENV=production node versions/2.26.0/core/index.js
- Check that your website’s working correctly. Use the command
ghost restart
if changing the configuration files. - In order to ensure continuous operation of the site, install Forever with the command:
npm install forever -g
- To run the script continuously, use the command:
forever start --uid "NOM" versions/2.26.0/core/index.js
Congratulations, all that’s left to do is configure the database on MySQL and allow sending authenticated emails in SMTP. To do that, modify the config.production.json file based on the following information:
"mail": { "from": "my@domain.ch", "transport": "SMTP", "options": { "host": "mail.infomaniak.com", "port": 587, "auth": { "user": "my@mail.ch", "pass": "PASSWORD" } } }, "database": { "client": "mysql", "connection": { "host": "PREFIX.myd.infomaniak.com", "port": 3306, "user": "USER", "password": "PASSWORD", "database": "DB_NAME" } },
This procedure was updated on 20 November 2020.
Useful resources
(1) w3techs.com
How to protect your online presence and manage your domain names properly
Wednesday November 29th, 2023
You must be logged in to post a comment.