<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ghost Archives - Linux Windows and android Tutorials</title>
	<atom:link href="https://www.osradar.com/tag/ghost/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.osradar.com</link>
	<description>tutorials and news and Seurity</description>
	<lastBuildDate>Fri, 01 Mar 2019 08:22:10 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8.12</generator>
	<item>
		<title>Migrate word-press site to Ghost instances</title>
		<link>https://www.osradar.com/migrate-word-press-site-to-ghost-instances/</link>
					<comments>https://www.osradar.com/migrate-word-press-site-to-ghost-instances/#respond</comments>
		
		<dc:creator><![CDATA[osradar_editor]]></dc:creator>
		<pubDate>Fri, 01 Mar 2019 08:21:16 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ghost]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.osradar.com/?p=11091</guid>

					<description><![CDATA[<p>As the name of the main subject of the post says this is about deploying a equivalent Ghost instance for a site that have been managed by WordPress. IMPORTANT &#8211; At the writing of this post, this would only work on Ghost version 1.0.0. Getting Started Note that through out the document, I will stick [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.osradar.com/migrate-word-press-site-to-ghost-instances/">Migrate word-press site to Ghost instances</a> appeared first on <a rel="nofollow" href="https://www.osradar.com">Linux  Windows and android  Tutorials</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>As the name of the main subject of the post says this is about deploying a equivalent Ghost instance for a site that have been managed by WordPress.</p>
<p>IMPORTANT &#8211; At the writing of this post, this would only work on Ghost version 1.0.0.</p>
<h2><strong>Getting Started</strong></h2>
<p>Note that through out the document, I will stick to Ubuntu 18.04 OS version.</p>
<div class="td-g-rec td-g-rec-id-content_inline td_uid_2_5c7620a1d8bfb_rand td_block_template_1 "></div>
<h4 class="td-g-rec td-g-rec-id-content_inline td_uid_2_5c6fd84a5cb42_rand td_block_template_1 "><strong style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;">Step 01</strong><span style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;"> — Install WordPress plugin that allow to back up the existing post metadata</span></h4>
<ul>
<li>http://sitea.com/wp-admin -&gt; plugins -&gt; Add new</li>
<li>Search &#8220;ghost&#8221;</li>
</ul>
<div><img loading="lazy" class="alignnone size-full wp-image-11166" src="https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-27_13-12-03.png" alt="" width="563" height="256" srcset="https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-27_13-12-03.png 563w, https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-27_13-12-03-300x136.png 300w" sizes="(max-width: 563px) 100vw, 563px" /></div>
<div>Make sure to &#8220;activate&#8221; once installed.</div>
<div></div>
<h4><strong style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;">Step 02</strong><span style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;"> — Download the Ghost compatible JSON that has got the enough metadata </span></h4>
<ul>
<li>Tools -&gt; Export to Ghost &gt;</li>
<li>Then click &#8220;<em><strong>Download Ghost File</strong></em>&#8221; and this will save a JSON containing all the metadata that required to spin up the equivalent Ghost instance.</li>
</ul>
<div></div>
<h4><strong style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;">Step 03</strong><span style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;"> — Export Images that are part of the existing WordPress site.</span></h4>
<ul>
<li>This step involves coping all the directory &amp; files that are belongs to WEB site&#8217;s root Directory -&gt; wp-content -&gt; uploads. For example /var/www/html/siteA/wp-content/uploads/.</li>
<li>To make a copy against all these data, you can use;
<ul>
<li>WInSCP from windows systems / SCP from Linux =&gt; SSH service should be running on the server that host the existing wordpress site.</li>
<li>FTP file transfer client =&gt; FTP service should be running on the server that host the existing wordpress site</li>
<li>Or check you cPannel options that probably support this.</li>
</ul>
</li>
</ul>
<div></div>
<div>
<h4><strong style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;">Step 04</strong><span style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;"> — Spinning up new Ghost instance. </span></h4>
<ul>
<li>To upload all these downloads we should have a Ghost Instance running. Check my previous post on;
<ul>
<li><a href="https://www.osradar.com/setting-up-ghost-cms-on-linux/">Setting up Ghost CMS on Linux</a></li>
<li><a href="https://www.osradar.com/multiple-ghost-instances-on-a-single-server/">Multiple Ghost Instances on a Single Server</a></li>
</ul>
</li>
</ul>
</div>
<div></div>
<h4><strong style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;">Step 05</strong><span style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;"> — Import the downloaded images into Ghost instance</span></h4>
<ul>
<li>First, upload all the downloaded files &amp; folders at step 03 into your new Ghost instances. These data should go under /var/www/ghostName/content/images/</li>
<li>Now we need to make some changes to the Json that we downloaded in step02. Replace <code>wp-content/uploads</code> with <code>content/images</code> by executing the following command.<br />
<span style="background-color: #f1f1f1; font-family: Consolas, Monaco, monospace;"># sed -i.bak -e &#8216;s|wp-content\\/uploads|content\\/images|g&#8217; downloadGhostInstance.json</span></li>
<li>Browse http://siteA.com/ghost/settings/labs/ and Click on &#8220;<em><strong>Choose File</strong></em>&#8221; and select the JSON file that we just updated, and click &#8220;<em><strong>Import</strong></em>&#8220;</li>
</ul>
<div></div>
<h4><strong style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;">Step 06</strong><span style="color: #111111; font-family: Roboto, sans-serif; font-size: 19px;"> — Setting up the necessary permissions. </span></h4>
<pre># chown -R ghost:ghost /var/www/ghost/content/images</pre>
<div></div>
<div>That&#8217;s it. Now you can restart the Ghost instance and have your WordPress site on Ghost.!</div>
<div></div>
<div></div>
<div><em><strong>&#8220;I hope this has been informative for you&#8221;</strong></em></div>
<p>The post <a rel="nofollow" href="https://www.osradar.com/migrate-word-press-site-to-ghost-instances/">Migrate word-press site to Ghost instances</a> appeared first on <a rel="nofollow" href="https://www.osradar.com">Linux  Windows and android  Tutorials</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.osradar.com/migrate-word-press-site-to-ghost-instances/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Multiple Ghost Instances on a Single Server</title>
		<link>https://www.osradar.com/multiple-ghost-instances-on-a-single-server/</link>
					<comments>https://www.osradar.com/multiple-ghost-instances-on-a-single-server/#respond</comments>
		
		<dc:creator><![CDATA[osradar_editor]]></dc:creator>
		<pubDate>Thu, 28 Feb 2019 09:37:49 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[ghost]]></category>
		<guid isPermaLink="false">https://www.osradar.com/?p=11061</guid>

					<description><![CDATA[<p>Hosting different domains on different nodes cost you more and that&#8217;s what Virtual Hosting add more benefit by allowing multiple domains to co-exists within a single server. However, the same concept to get working on Ghost there some additional steps that required. Let jump and get started. Core areas that we will be working on: [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.osradar.com/multiple-ghost-instances-on-a-single-server/">Multiple Ghost Instances on a Single Server</a> appeared first on <a rel="nofollow" href="https://www.osradar.com">Linux  Windows and android  Tutorials</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hosting different domains on different nodes cost you more and that&#8217;s what Virtual Hosting add more benefit by allowing multiple domains to co-exists within a single server. However, the same concept to get working on Ghost there some additional steps that required. Let jump and get started.</p>
<p>Core areas that we will be working on:</p>
<ul>
<li>Make a copy of the existing Ghost instance and tweak some setting to host new blog</li>
<li>Add additional VirtualHost on nginx to host the new domain &#8211; newblog.osradar.com</li>
<li>Manage separate DB within MySQL to host the new blog</li>
<li>Create systemD unit files to manage each blog</li>
</ul>
<p>&nbsp;</p>
<h2><strong>Getting Started</strong></h2>
<p>Note that through out the document, I will stick to Ubuntu 18.04 OS version.</p>
<div class="td-g-rec td-g-rec-id-content_inline td_uid_2_5c6fd84a5cb42_rand td_block_template_1 "></div>
<div>
<h4><strong>Step 01</strong> — Copy the existing Ghost instance and make the necessary changes</h4>
</div>
<pre># cd /var/www/
# cp -pr ghost ghost-new
# cd /var/www/ghost-new/system/files/
# mv blog.osradar.com.conf newblog.osradar.com.conf</pre>
<h4></h4>
<h4><strong>Step 02</strong> — Create new VirtualHost</h4>
<pre># cd /etc/nginx/sites-available/
# ln -s /var/www/ghost-new/system/files/newblog.osradar.com.conf newblog.osradar.com.conf
# cd /etc/nginx/sites-enabled/
# ln -s /etc/nginx/sites-available/newblog.osradar.com.conf newblog.osradar.com.conf</pre>
<pre># vim /etc/nginx/sites-enabled/newblog.osradar.com.conf</pre>
<pre>server {
    listen 80;
    listen [::]:80;

    server_name <strong>newblog.osradar.com</strong>;
    root /var/www/<strong>ghost-new</strong>/system/nginx-root;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://<strong>127.0.0.1:2369</strong>;
        
    }

    location ~ /.well-known {
        allow all;
    }

    client_max_body_size 50m;
}</pre>
<p>&nbsp;</p>
<h4><strong>Step 03</strong> — Manage new MySQL DB</h4>
<pre># mysql -uroot -p</pre>
<pre>mysql&gt; create database <strong>new_blog_osradar</strong>;
mysql&gt; GRANT ALL ON <strong>new_blog_osradar</strong>.* TO root@'localhost'
mysql&gt; flush privileges;</pre>
<p><strong>new_blog_osradar</strong> =&gt; is a new database to host the new blog</p>
<pre># grep database /var/www/ghost/config.production.json

  "database": {
      "database": "ghost_production"

</pre>
<p><strong>ghost_production</strong> =&gt; is the database name for the existing Ghost instance. Lets back it up and restore with the newly created DB.</p>
<pre># mysqldump -uroot -p --no-data ghost_production &gt; backup.sql
# mysql -uroot -p new_blog_osradar&lt;backup.sql</pre>
<p>Lets change the  required configuration in the new instance of Ghost</p>
<pre># vim /var/www/ghost-new/config.production.json</pre>
<pre>{
  "url": "<strong>http://newblog.osradar.com</strong>",
  "server": {
    "port": <strong>2369</strong>,
    "host": "127.0.0.1"
  },
  "database": {
    "client": "mysql",
    "connection": {
      "host": "localhost",
      "user": "root",
      "password": "password",
      "database": "<strong>new_blog_osradar</strong>"
    }
  },</pre>
<p>&nbsp;</p>
<h4><strong>Step 04</strong> — Create new SystemD unit file</h4>
<pre># cd /etc/systemd/system/
# cp ghost_blog-osradar-com.service <strong>ghost_newblog-osradar-com.service
</strong># vim ghost_newblog-osradar-com.service</pre>
<pre>[Unit]
Description=Ghost systemd service for blog: newblog-osradar-com
Documentation=https://docs.ghost.org

[Service]
Type=simple
<strong>WorkingDirectory=/var/www/ghost-new</strong>
User=999
Environment="NODE_ENV=production"
ExecStart=/usr/local/bin/node /usr/local/bin/ghost run
Restart=always

[Install]
WantedBy=multi-user.target</pre>
<p>&nbsp;</p>
<p>That&#8217;s it. Now its all about setting up DNS records from different domains to map the single IP address that we have on our system. So, when browse from http://blog.osradar.com to http://newblog.osradar.com Nginx will take care the routing in between domains.</p>
<p><em><strong>&#8220;I hope this has been informative for you&#8221;</strong></em></p>
<p>The post <a rel="nofollow" href="https://www.osradar.com/multiple-ghost-instances-on-a-single-server/">Multiple Ghost Instances on a Single Server</a> appeared first on <a rel="nofollow" href="https://www.osradar.com">Linux  Windows and android  Tutorials</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.osradar.com/multiple-ghost-instances-on-a-single-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Setting up Ghost CMS on Linux</title>
		<link>https://www.osradar.com/setting-up-ghost-cms-on-linux/</link>
					<comments>https://www.osradar.com/setting-up-ghost-cms-on-linux/#respond</comments>
		
		<dc:creator><![CDATA[osradar_editor]]></dc:creator>
		<pubDate>Tue, 26 Feb 2019 18:24:58 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[ghost]]></category>
		<guid isPermaLink="false">https://www.osradar.com/?p=10964</guid>

					<description><![CDATA[<p>If you visit this page intentionally, I think you know what &#8220;Ghost&#8221; is about and what we can use with that. However, to brief about about this new guy &#8211;  actually not that new as the first release suppose to happen back in 2013/2014 &#8211; I think its a worth while. What.? Built on NodeJS, [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.osradar.com/setting-up-ghost-cms-on-linux/">Setting up Ghost CMS on Linux</a> appeared first on <a rel="nofollow" href="https://www.osradar.com">Linux  Windows and android  Tutorials</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>If you visit this page intentionally, I think you know what &#8220;Ghost&#8221; is about and what we can use with that. However, to brief about about this new guy &#8211;  actually not that new as the first release suppose to happen back in 2013/2014 &#8211; I think its a worth while.</p>
<h4><strong>What.?</strong></h4>
<p>Built on NodeJS, its a same kind of Content Management System as &#8220;WordPress&#8221;, but intention is more biased on blogs rather hosting common web site content. Ghost uses MySQL as a backend data store as does in WordPress, though when it comes to creating posts Ghost uses &#8220;Markdown&#8221; rather than visual WYSIWYG. Yes, both platforms are open source and free to download.</p>
<p>&nbsp;</p>
<h2><strong>Getting Started</strong></h2>
<p>Note that through out the document, I will stick to Ubuntu 18.04 OS version.</p>
<h4><strong>Step 01</strong> — Required Package Installation</h4>
<pre># apt-get update</pre>
<pre># apt-get install -y nginx mariadb-server</pre>
<p>&nbsp;</p>
<h4><strong>Step 02</strong> — Create standard user which Ghost CMS can be used with</h4>
<pre># useradd --home-dir /home/blog -m --shell /bin/bash blog</pre>
<pre># usermod -aG sudo blog
# passwd blog</pre>
<p>&nbsp;</p>
<h4><strong>Step 03</strong> — Modify mysql default configuration</h4>
<pre># sudo mysql</pre>
<pre>MariaDB [(none)]&gt; UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';
MariaDB [(none)]&gt; FLUSH PRIVILEGES;
MariaDB [(none)]&gt; exit</pre>
<pre># sudo mysql_secure_installation</pre>
<p>while going through the interactive mysql configuration, make sure to set the mysql root password.</p>
<p>&nbsp;</p>
<h4><strong>Step 04</strong> — NodeJS Installation</h4>
<pre># curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash
# apt-get install -y nodejs</pre>
<p>Optionally, you can install specific nodeJS version by</p>
<pre># apt-get install npm
# npm install n -g
# n latest or # n 6.9.1
# node -v</pre>
<p>&nbsp;</p>
<h4><strong>Step 05</strong> — Ghost installation</h4>
<p>Install ghost-cli</p>
<pre># sudo npm install ghost-cli@latest -g

OR need a specific version do;
# sudo npm install ghost-cli@1.0.0 -g</pre>
<p>&nbsp;</p>
<p>Create directory structure to host the Ghost instance</p>
<pre># sudo mkdir -p /var/www/ghost
# sudo chown blog.blog /var/www/ghost
# sudo chmod 775 /var/www/ghost</pre>
<p>&nbsp;</p>
<p>Install the ghost instance</p>
<pre># cd /var/www/ghost/
# ghost install
OR
# ghost install 1.0.0</pre>
<pre>? Enter your blog URL: https://blog.osradar.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: [hidden]
? Enter your Ghost database name: ghost_prod
? Do you wish to set up "ghost" mysql user? Yes
? Do you wish to set up Nginx? Yes
? Do you wish to set up SSL? Yes
? Do you wish to set up Systemd? Yes
? Do you want to start Ghost? Yes</pre>
<p>&nbsp;</p>
<h4><strong>Step 06</strong> — Make sure responsible daemons are up &amp; running</h4>
<pre># systemctl status mariadb.service
# systemctl status nginx.service
# systemctl status ghost_blog-osradar-com.service</pre>
<p>&nbsp;</p>
<p>Fire up your favorite browser and visit http://blog.osradar.com</p>
<p><img loading="lazy" class="alignnone size-full wp-image-11059" src="https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-22_15-29-42.jpg" alt="" width="1087" height="741" srcset="https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-22_15-29-42.jpg 1087w, https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-22_15-29-42-300x205.jpg 300w, https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-22_15-29-42-768x524.jpg 768w, https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-22_15-29-42-1024x698.jpg 1024w, https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-22_15-29-42-218x150.jpg 218w, https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-22_15-29-42-696x474.jpg 696w, https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-22_15-29-42-1068x728.jpg 1068w, https://www.osradar.com/wp-content/uploads/2019/02/Screenshot_2019-02-22_15-29-42-616x420.jpg 616w" sizes="(max-width: 1087px) 100vw, 1087px" /></p>
<p>&nbsp;</p>
<p>In the up coming posts, I will be working on..</p>
<ul>
<li><a href="https://www.osradar.com/multiple-ghost-instances-on-a-single-server/">Multiple Ghost environment on a single server</a></li>
<li><a href="https://www.osradar.com/migrate-word-press-site-to-ghost-instances/">Migrate word-press site to Ghost instances</a></li>
</ul>
<p><strong><em>&#8220;Hope this has been informative for you&#8221;</em></strong></p>
<p>The post <a rel="nofollow" href="https://www.osradar.com/setting-up-ghost-cms-on-linux/">Setting up Ghost CMS on Linux</a> appeared first on <a rel="nofollow" href="https://www.osradar.com">Linux  Windows and android  Tutorials</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.osradar.com/setting-up-ghost-cms-on-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
