{"_id":"593534c09b5614002f285a68","project":"543026235eceb608003fde5f","version":{"_id":"543026235eceb608003fde62","__v":7,"project":"543026235eceb608003fde5f","createdAt":"2014-10-04T16:53:55.746Z","releaseDate":"2014-10-04T16:53:55.746Z","categories":["543026235eceb608003fde63","57c833c059cd4b0e00b888ed","57dfceebef837d0e00fd8a93","59352c7842a56e003b5acb9a","593551c8988102000fddeba3","59356055988102000fddf1e0","5935c8a786e994000f9e500c"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"lts","version_clean":"0.11.9","version":"0.11.9"},"category":{"_id":"59352c7842a56e003b5acb9a","project":"543026235eceb608003fde5f","version":"543026235eceb608003fde62","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-06-05T10:03:36.502Z","from_sync":false,"order":1,"slug":"getting-started-from-supportghostorgdevelopers","title":"Self-Host Install & Setup"},"user":"55acc88c6b4ff90d00784b61","__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-06-05T10:38:56.273Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":0,"body":"Ghost is an Open Source platform that allows you to write and publish your own blog – giving you the tools to make it easy and even fun to do. This guide will walk you through everything from installing Ghost to writing your first post using Markdown.\n[block:api-header]\n{\n  \"title\": \"Step 1: Installing Ghost\"\n}\n[/block]\n**Note**: If you’re looking to avoid any manual installation of Ghost, Ghost(Pro) is our managed service that requires zero setup and or configuration.\n\nTo get started with Ghost, you’ll first need to install it. There are a number of different ways to install Ghost, depending on where you want to install it. \n\n- [1-Click Installer & Hosting](/v0.11.9/docs/install-with-3rd-party-tools) \n- Manually [Installing Ghost on Linux](/v0.11.9/docs/installing-ghost-on-linux) \n- Manually [Installing Ghost on Mac](/v0.11.9/docs/installing-ghost-on-mac) \n- Manually [Installing Ghost on Windows](/v0.11.9/docs/installing-ghost-on-windows) \n[block:api-header]\n{\n  \"title\": \"Step 2: Basic Ghost Configuration\"\n}\n[/block]\nConfiguring your blog takes place in the `config.js` file. This file is created the first time you start Ghost and lives in the root directory of Ghost. If you followed the linux install guide, this will be located at `/var/www/ghost/config.js`. If you haven’t run Ghost yet, you can run the command `cp config.example.js config.js` to create a `config.js` file.\n\nThere are 2 key pieces of information you’ll need to configure: your blogs **URL** and **mail** settings. The URL is necessary otherwise you’ll find lots of links take you to the default `http://my-ghost-blog.com` page. Ghost can function without mail settings, but we do recommend you add them.\n\nTo edit the config file, you’ll need to use a text editor. A commonly available on on linux is nano – so to edit the config.js file, type `nano config.js`. Change the settings inside of the `production: { }` section, and type `Ctrl + x`, then `Y` and finally enter to save and exit when you’re done.\n\nFor full details on all of the configuration options, see the [configuring Ghost](/v0.11.9/docs/configuring-ghost)  and the [mail configuration](/v0.11.9/docs/mail-config) guides.\n[block:api-header]\n{\n  \"title\": \"Step 3: Setup your server\"\n}\n[/block]\nOnce Ghost is installed, running and configured, you’ll need to take steps to ensure that Ghost stays running, is accessible on a custom domain and is secure.\n\n### Ghost as a long running process\n\nNode applications like Ghost will only stay running whilst you have the command line open. There are many options for configuring Ghost to stay running, such as using forever or pm2. These are all documented in the [Start Ghost in Background](/v0.11.9/docs/start-ghost-in-background) article. We recommend the `init script` method.\n\n### Proxy a custom domain with nginx\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"Do not run Ghost on port 80 directly. This is considered a security risk. We always recommend using a proxy such as nginx.\",\n  \"title\": \"Warning:\"\n}\n[/block]\nThe next step after setting up Ghost as a long running process, is to configure a custom domain by using a web server as a proxy. We recommend using [nginx](http://nginx.org/en/) and cover the steps in our [NGINX Config](/v0.11.9/docs/basic-nginx-config-self-hosted-with-custom-domain) guide.\n\n### Configure SSL\n\nFinally, once you’ve got the basic nginx config in place, we also highly recommend [SSL Setup](/v0.11.9/docs/how-to-setup-ssl-for-self-hosted-ghost). This is particularly important for the Ghost admin so that you can login securely.","excerpt":"","slug":"getting-started-guide","type":"basic","title":"Introduction"}
Ghost is an Open Source platform that allows you to write and publish your own blog – giving you the tools to make it easy and even fun to do. This guide will walk you through everything from installing Ghost to writing your first post using Markdown. [block:api-header] { "title": "Step 1: Installing Ghost" } [/block] **Note**: If you’re looking to avoid any manual installation of Ghost, Ghost(Pro) is our managed service that requires zero setup and or configuration. To get started with Ghost, you’ll first need to install it. There are a number of different ways to install Ghost, depending on where you want to install it. - [1-Click Installer & Hosting](/v0.11.9/docs/install-with-3rd-party-tools) - Manually [Installing Ghost on Linux](/v0.11.9/docs/installing-ghost-on-linux) - Manually [Installing Ghost on Mac](/v0.11.9/docs/installing-ghost-on-mac) - Manually [Installing Ghost on Windows](/v0.11.9/docs/installing-ghost-on-windows) [block:api-header] { "title": "Step 2: Basic Ghost Configuration" } [/block] Configuring your blog takes place in the `config.js` file. This file is created the first time you start Ghost and lives in the root directory of Ghost. If you followed the linux install guide, this will be located at `/var/www/ghost/config.js`. If you haven’t run Ghost yet, you can run the command `cp config.example.js config.js` to create a `config.js` file. There are 2 key pieces of information you’ll need to configure: your blogs **URL** and **mail** settings. The URL is necessary otherwise you’ll find lots of links take you to the default `http://my-ghost-blog.com` page. Ghost can function without mail settings, but we do recommend you add them. To edit the config file, you’ll need to use a text editor. A commonly available on on linux is nano – so to edit the config.js file, type `nano config.js`. Change the settings inside of the `production: { }` section, and type `Ctrl + x`, then `Y` and finally enter to save and exit when you’re done. For full details on all of the configuration options, see the [configuring Ghost](/v0.11.9/docs/configuring-ghost) and the [mail configuration](/v0.11.9/docs/mail-config) guides. [block:api-header] { "title": "Step 3: Setup your server" } [/block] Once Ghost is installed, running and configured, you’ll need to take steps to ensure that Ghost stays running, is accessible on a custom domain and is secure. ### Ghost as a long running process Node applications like Ghost will only stay running whilst you have the command line open. There are many options for configuring Ghost to stay running, such as using forever or pm2. These are all documented in the [Start Ghost in Background](/v0.11.9/docs/start-ghost-in-background) article. We recommend the `init script` method. ### Proxy a custom domain with nginx [block:callout] { "type": "warning", "body": "Do not run Ghost on port 80 directly. This is considered a security risk. We always recommend using a proxy such as nginx.", "title": "Warning:" } [/block] The next step after setting up Ghost as a long running process, is to configure a custom domain by using a web server as a proxy. We recommend using [nginx](http://nginx.org/en/) and cover the steps in our [NGINX Config](/v0.11.9/docs/basic-nginx-config-self-hosted-with-custom-domain) guide. ### Configure SSL Finally, once you’ve got the basic nginx config in place, we also highly recommend [SSL Setup](/v0.11.9/docs/how-to-setup-ssl-for-self-hosted-ghost). This is particularly important for the Ghost admin so that you can login securely.