{"id":8563,"date":"2015-02-27T18:07:25","date_gmt":"2015-02-27T18:07:25","guid":{"rendered":"https:\/\/wp.okra.host\/article\/installing-ghost\/"},"modified":"2021-03-07T14:30:33","modified_gmt":"2021-03-07T13:30:33","slug":"installing-ghost","status":"publish","type":"ht_kb","link":"https:\/\/kb.okra.host\/de\/article\/installing-ghost\/","title":{"rendered":"Installieren von Ghost"},"content":{"rendered":"<h2 id=\"overview\" >\u00dcbersicht<\/h2>\n<p>Ghost is a gorgeous blogging platform supported on <a title=\"Ist ein Terminalzugang vorhanden?\" href=\"https:\/\/kb.okra.host\/de\/terminal\/is-terminal-access-available\/\">Developer+ accounts<\/a> on <a title=\"Ermitteln der Plattformversion\" href=\"https:\/\/kb.okra.host\/de\/platform\/determining-platform-version\/\">v6+<\/a> platforms. Ghost requires <a title=\"Zugriff auf das Terminal\" href=\"https:\/\/kb.okra.host\/de\/terminal\/accessing-terminal\/\">terminal access<\/a> to deploy and hooks into Passenger affording simple process management.<\/p>\n<div id=\"attachment_750\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kb.okra.host\/wp-content\/uploads\/2015\/02\/ghost-first-post.png\" rel=\"lightbox-0\" data-lbwps-width=\"1353\" data-lbwps-height=\"770\" data-lbwps-srcsmall=\"https:\/\/kb.okra.host\/wp-content\/uploads\/2015\/02\/ghost-first-post.png\"><img decoding=\"async\" aria-describedby=\"caption-attachment-750\" loading=\"lazy\" class=\"size-medium wp-image-750\" src=\"https:\/\/kb.okra.host\/wp-content\/uploads\/2015\/02\/ghost-first-post-300x171.png\" alt=\"Basic layout from a fresh Ghost install\" width=\"300\" height=\"171\" \/><\/a><\/p>\n<p id=\"caption-attachment-750\" class=\"wp-caption-text\">Basic layout from a fresh Ghost install<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h2 id=\"quickstart\" >Schnellstart<\/h2>\n<p>This guide is designed to get Ghost up and running with the fewest steps. Ghost will be SQLite as a database backend, but you might want to <a href=\"http:\/\/support.ghost.org\/config\/\">configure it<\/a>\u00a0to take advantage of MySQL&#8217;s improved throughput.<\/p>\n<ol>\n<li>Login to the <a title=\"Zugriff auf das Terminal\" href=\"https:\/\/kb.okra.host\/de\/terminal\/accessing-terminal\/\">Terminal<\/a><\/li>\n<li>Create a subdomain to serve Ghost. Since it&#8217;s launched with Passenger, you will need to make a Passenger-compatible filesystem layout\n<ul>\n<li>\n<pre data-language=\"shell\"><code>cd \/var\/www\r\nmkdir -p ghost\/{tmp,public}\r\ncd ghost<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/ghost.org\/download\/\">Download Ghost<\/a> from ghost.org. At the time of writing, 0.6.4 is the latest version:\n<ul>\n<li>\n<pre data-language=\"shell\"><code>wget https:\/\/ghost.org\/zip\/ghost-0.6.4.zip\r\nunzip ghost-0.6.4.zip\r\nrm -f ghost-0.6.4.zip<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>Ghost has been downloaded and extracted to <code>\/var\/www\/ghost<\/code>. Ghost is a Node.js application that relies on third-party dependencies to run. These can be installed used the Node.js package manager (<em>npm<\/em>)\n<ul>\n<li>Install missing dependencies:\n<pre data-language=\"shell\"><code>npm install --production\u00a0<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>Verbinden Sie <code>\u00f6ffentlich\/<\/code> to a subdomain within the <a title=\"Anmeldung am Bedienfeld\" href=\"https:\/\/kb.okra.host\/de\/control-panel\/logging-into-the-control-panel\/\">Bedienfeld<\/a> unter\u00a0<strong>Web<\/strong> &gt;\u00a0<strong><strong>Subdomains<br \/>\n<\/strong><\/strong><\/p>\n<div id=\"attachment_754\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kb.okra.host\/wp-content\/uploads\/2015\/02\/ghost-subdomain-assignment.png\" rel=\"lightbox-1\" data-lbwps-width=\"1000\" data-lbwps-height=\"219\" data-lbwps-srcsmall=\"https:\/\/kb.okra.host\/wp-content\/uploads\/2015\/02\/ghost-subdomain-assignment.png\"><img decoding=\"async\" aria-describedby=\"caption-attachment-754\" loading=\"lazy\" class=\"size-medium wp-image-754\" src=\"https:\/\/kb.okra.host\/wp-content\/uploads\/2015\/02\/ghost-subdomain-assignment-300x66.png\" alt=\"Connecting Ghost to a subdomain within the control panel.\" width=\"300\" height=\"66\" \/><\/a><\/p>\n<p id=\"caption-attachment-754\" class=\"wp-caption-text\">Connecting Ghost to a subdomain within the control panel<\/p>\n<\/div>\n<\/li>\n<li>Erstellen einer <a title=\".htaccess-Leitfaden\" href=\"https:\/\/kb.okra.host\/de\/guides\/htaccess-guide\/\">.htaccess<\/a> control file in <code>\u00f6ffentlich\/<\/code> and set <em>PassengerNodejs<\/em> to inform the web server that this is a <a title=\"Node.js ausf\u00fchren\" href=\"https:\/\/kb.okra.host\/de\/guides\/running-node-js\/\">Node.js application<\/a> to be launched with Passenger. `<code>which node`<\/code>\u00a0is shorthand to resolve the location of your Node interpreter as selected by <a href=\"https:\/\/kb.okra.host\/de\/node\/changing-node-versions\/\">nvm<\/a>:\n<ul>\n<li>\n<pre data-language=\"shell\"><code>echo \"PassengerNodejs `which node`\" &gt;&gt; public\/.htaccess<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>Erstellen einer <a href=\"https:\/\/kb.okra.host\/de\/mysql\/creating-a-database\/\">MySQL database<\/a>. Ghost connects over TCP socket, so ensure that <a href=\"https:\/\/kb.okra.host\/de\/mysql\/connecting-remotely-mysql\/\">remote permissions<\/a> on 127.0.0.1 are granted to the user. By default, when a user is created, permissions are only granted to &#8220;localhost&#8221; and not 127.0.0.1.<\/li>\n<li>Edit <code>core\/server\/config\/env\/config.production.json<\/code>\u00a0with your database credentials. Change <em>user<\/em>, <em>password<\/em>, und <em>database<\/em> fields.\n<ul>\n<li>\n<pre data-language=\"shell\"><code>nano core\/server\/config\/env\/config.production.json<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>Populate the database\n<ul>\n<li>\n<pre data-language=\"shell\"><code>env NODE_ENV=production knex-migrator init<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>Finally, Passenger expects the entry-point to be named &#8220;<code>app.js<\/code>&#8220;. Ghost uses <code>index.js<\/code> as its startup file. Create a symbolic link from <code>index.js<\/code> an <code>app.js<\/code> to satisfy Passenger:\n<ul>\n<li>\n<pre data-language=\"shell\"><code>ln -s index.js app.js<\/code><\/pre>\n<\/li>\n<\/ul>\n<\/li>\n<li>Once done, access \/signup on the subdomain to setup your admin\u00a0account\n<ul>\n<li><span style=\"color: #000080\">For example<\/span>, in this walkthrough, the URL on <em>ghost.example.com<\/em> would be <em>http:\/\/ghost.example.com\/ghost<\/em><\/li>\n<\/ul>\n<\/li>\n<li><em><strong>Viel Spa\u00df!<\/strong><\/em>\n<\/p>\n<div id=\"attachment_748\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kb.okra.host\/wp-content\/uploads\/2015\/02\/ghost-admin-dialog.png\" rel=\"lightbox-2\" data-lbwps-width=\"1355\" data-lbwps-height=\"770\" data-lbwps-srcsmall=\"https:\/\/kb.okra.host\/wp-content\/uploads\/2015\/02\/ghost-admin-dialog.png\"><img decoding=\"async\" aria-describedby=\"caption-attachment-748\" loading=\"lazy\" class=\"size-medium wp-image-748\" src=\"https:\/\/kb.okra.host\/wp-content\/uploads\/2015\/02\/ghost-admin-dialog-300x170-1.png\" alt=\"Ghost administrative dialog after setup\" width=\"300\" height=\"170\" \/><\/a><\/p>\n<p id=\"caption-attachment-748\" class=\"wp-caption-text\">Ghost administrative dialog after setup<\/p>\n<\/div>\n<\/li>\n<\/ol>\n<h2 id=\"odds-and-ends\" >Odds and Ends<\/h2>\n<h3 id=\"restarting\" >Neustart von<\/h3>\n<p>Node.js piggybacks Passenger, and in doing so, can be easily restarted using the <code>tmp\/<\/code> control directory. Follow the general\u00a0<a title=\"Neustart von Passagierprozessen\" href=\"https:\/\/kb.okra.host\/de\/ruby\/restarting-passenger-processes\/\">guide to restarting<\/a> a Passenger-backed application.<\/p>\n<h2 id=\"see-also\" >Siehe auch<\/h2>\n<ul>\n<li><a href=\"https:\/\/ghost.org\/\">Ghost Website<\/a><\/li>\n<li><a href=\"http:\/\/support.ghost.org\/config\/\">Ghost Configuration<\/a><\/li>\n<li><a href=\"http:\/\/support.ghost.org\/getting-started\/\">Ghost Documentation: Getting Started<\/a><\/li>\n<li><a href=\"http:\/\/ghost.futz.net\/\">Example Ghost installation on a v6 platform<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Overview Ghost is a gorgeous blogging platform supported on Developer+ accounts on v6+ platforms. Ghost requires terminal access to deploy and hooks into Passenger affording simple process management. Basic layout from a fresh Ghost install &nbsp; Quickstart This guide is designed to get Ghost up and running with the fewest&#8230;<\/p>","protected":false},"author":1,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[60],"ht-kb-tag":[],"class_list":["post-8563","ht_kb","type-ht_kb","status-publish","format-standard","has-post-thumbnail","hentry","ht_kb_category-guides"],"_links":{"self":[{"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb\/8563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/comments?post=8563"}],"version-history":[{"count":2,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb\/8563\/revisions"}],"predecessor-version":[{"id":8568,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb\/8563\/revisions\/8568"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/media\/8565"}],"wp:attachment":[{"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/media?parent=8563"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb-category?post=8563"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb-tag?post=8563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}