<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[MelProbe 잡동사니 모음집]]></title><description><![CDATA[시행착오, 일상 기록]]></description><link>https://melprobe.com/</link><image><url>https://melprobe.com/favicon.png</url><title>MelProbe 잡동사니 모음집</title><link>https://melprobe.com/</link></image><generator>Ghost 5.20</generator><lastBuildDate>Thu, 30 Apr 2026 15:28:38 GMT</lastBuildDate><atom:link href="https://melprobe.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Ghost 블로그 설치 과정]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h2 id="ghost-%EC%84%A4%EC%B9%98-%EC%8B%9C%EC%9E%91">Ghost &#xC124;&#xCE58; &#xC2DC;&#xC791;</h2>
<p>Wordpress, docusaurus &#xB4F1; &#xC5EC;&#xB7EC; &#xBE14;&#xB85C;&#xADF8; &#xC911; Ghost&#xAC00; &#xC124;&#xCE58;&#xB3C4; &#xAC04;&#xB2E8;&#xD574;&#xBCF4;&#xC774;&#xACE0; &#xAE54;&#xB054;&#xD574;&#xBCF4;&#xC5EC;&#xC11C; 5&#xB144;&#xAC04; &#xBB35;&#xD600;&#xB480;&#xB358; &#xBE14;&#xB85C;&#xADF8;&#xB97C; &#xB4DC;&#xB514;&#xC5B4; &#xC2DC;&#xC791;&#xD574;&#xBCF8;&#xB2E4;</p>]]></description><link>https://melprobe.com/ghost-블로그-설치-과정/</link><guid isPermaLink="false">63592ff2a8e3865b1ef6fdfa</guid><dc:creator><![CDATA[MelProbe]]></dc:creator><pubDate>Wed, 26 Oct 2022 13:42:28 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h2 id="ghost-%EC%84%A4%EC%B9%98-%EC%8B%9C%EC%9E%91">Ghost &#xC124;&#xCE58; &#xC2DC;&#xC791;</h2>
<p>Wordpress, docusaurus &#xB4F1; &#xC5EC;&#xB7EC; &#xBE14;&#xB85C;&#xADF8; &#xC911; Ghost&#xAC00; &#xC124;&#xCE58;&#xB3C4; &#xAC04;&#xB2E8;&#xD574;&#xBCF4;&#xC774;&#xACE0; &#xAE54;&#xB054;&#xD574;&#xBCF4;&#xC5EC;&#xC11C; 5&#xB144;&#xAC04; &#xBB35;&#xD600;&#xB480;&#xB358; &#xBE14;&#xB85C;&#xADF8;&#xB97C; &#xB4DC;&#xB514;&#xC5B4; &#xC2DC;&#xC791;&#xD574;&#xBCF8;&#xB2E4;.</p>
<p>Ghost&#xB294; &#xB514;&#xC9C0;&#xD138;&#xC624;&#xC158;&#xC5D0;&#xC11C; &#xD638;&#xC2A4;&#xD305;, &#xC124;&#xCE58;&#xAE4C;&#xC9C0; &#xD55C;&#xBC29;&#xC5D0; &#xAC00;&#xB2A5;&#xD558;&#xC9C0;&#xB9CC; Proxmox&#xB85C; &#xAD6C;&#xB3D9;&#xC911;&#xC778; NAS&#xC640; &#xB3C4;&#xBA54;&#xC778;&#xC774; &#xC788;&#xC73C;&#xB2C8; &#xC9C1;&#xC811; &#xD638;&#xC2A4;&#xD305;&#xD558;&#xAE30;&#xB85C; &#xACB0;&#xC815;&#xD588;&#xB2E4;.</p>
<p>&#xC124;&#xCE58; &#xACFC;&#xC815;&#xC740; &#xACF5;&#xC2DD; &#xC0AC;&#xC774;&#xD2B8; &#xAC00;&#xC774;&#xB4DC;&#xB97C; &#xCC38;&#xACE0;&#xD588;&#xB2E4;.</p>
<p><a href="https://ghost.org/docs/install/ubuntu/#overview">https://ghost.org/docs/install/ubuntu/#overview</a></p>
<p>Ghost&#xB97C; &#xC124;&#xCE58;&#xD560; Ubuntu&#xB294; &#xAE30;&#xC874;&#xC5D0; &#xB9CC;&#xB4E4;&#xC5B4;&#xB454; &#xAE68;&#xB057;&#xD55C; Ubuntu Container &#xC774;&#xBBF8;&#xC9C0;&#xAC00; &#xC788;&#xC5B4;&#xC11C; &#xBCF5;&#xC81C;&#xD574;&#xC11C; &#xC0AC;&#xC6A9;&#xD588;&#xB2E4;.</p>
<p>Ubuntu 18.04.5 LTS<br>
4&#xCF54;&#xC5B4;, 1GB &#xB7A8;, 10GB ssd &#xD560;&#xB2F9;</p>
<h2 id="1-%EC%9A%B0%EB%B6%84%ED%88%AC-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8">1. &#xC6B0;&#xBD84;&#xD22C; &#xD328;&#xD0A4;&#xC9C0; &#xC5C5;&#xB370;&#xC774;&#xD2B8;</h2>
<pre><code>sudo apt-get update
sudo apt-get upgrade
</code></pre>
<h2 id="2-nginx-%EC%84%A4%EC%B9%98">2. nginx &#xC124;&#xCE58;</h2>
<pre><code>sudo apt-get install nginx
</code></pre>
<p>Container&#xC5D0;&#xC11C; ufw&#xB294; &#xC0AC;&#xC6A9;&#xD558;&#xC9C0; &#xC54A;&#xC73C;&#xBBC0;&#xB85C; ufw &#xAD00;&#xB828; &#xC124;&#xC815;&#xC740; &#xC2A4;&#xD0B5;&#xD588;&#xB2E4;.</p>
<h2 id="3-mysql-%EC%84%A4%EC%B9%98">3. MySQL &#xC124;&#xCE58;</h2>
<pre><code>sudo apt-get install mysql-server
</code></pre>
<h2 id="4-nodejs-%EC%84%A4%EC%B9%98">4. Node.js &#xC124;&#xCE58;</h2>
<pre><code>curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash
sudo apt-get install -y nodejs
</code></pre>
<p>Node.js&#xB294; Ghost&#xC5D0;&#xC11C; &#xC9C0;&#xC6D0;&#xD558;&#xB294; &#xBC84;&#xC804;&#xC744; &#xC124;&#xCE58;&#xD574;&#xC57C;&#xD55C;&#xB2E4;.</p>
<p>2022.10.26 &#xAE30;&#xC900; 16&#xBC84;&#xC804;&#xC774; &#xAD8C;&#xC7A5; &#xBC84;&#xC804;</p>
<h2 id="5-ghost-cli-%EC%84%A4%EC%B9%98">5. Ghost-CLI &#xC124;&#xCE58;</h2>
<pre><code>sudo npm install ghost-cli@latest -g
</code></pre>
<p>Ghost &#xC124;&#xCE58; &#xBC0F; &#xAD00;&#xB9AC; &#xB3C4;&#xAD6C;&#xC778; Ghost-CLI &#xC124;&#xCE58;</p>
<h2 id="6-ghost-%EC%84%A4%EC%B9%98">6. Ghost &#xC124;&#xCE58;</h2>
<pre><code>sudo mkdir -p /var/www/melprobe.com
sudo chown blog:blog /var/www/melprobe.com
sudo chmod 775 /var/www/melprobe.com
</code></pre>
<p>Ghost&#xAC00; &#xC124;&#xCE58;&#xB420; &#xD3F4;&#xB354; &#xC0DD;&#xC131; &#xBC0F; &#xAD8C;&#xD55C; &#xC124;&#xC815;<br>
adduser&#xB85C; blog &#xC720;&#xC800; &#xC0DD;&#xC131;&#xD574;&#xC11C; &#xC0AC;&#xC6A9;&#xD588;&#xB2E4;.</p>
<pre><code>cd /var/www/melprobe.com
ghost install
</code></pre>
<pre><code>? Enter your blog URL: (http://localhost:2368)
</code></pre>
<p>&#xC124;&#xCE58; &#xACFC;&#xC815;&#xC5D0;&#xC11C; blog URL&#xC744; &#xBB3C;&#xC5B4;&#xBCF4;&#xB294;&#xB370; nginx&#xB85C; reverse proxy &#xC124;&#xC815;&#xD574;&#xB454; Container&#xB791; letsencrypt&#xC5D0;&#xC11C; &#xBC1C;&#xAE09;&#xD55C; SSL &#xC778;&#xC99D;&#xC11C;&#xAC00; &#xB530;&#xB85C; &#xC788;&#xC5B4;&#xC11C; localhost &#xADF8;&#xB300;&#xB85C; &#xC9C4;&#xD589;&#xD588;&#xB2E4;.</p>
<p>proxy &#xC5C6;&#xC774; &#xC0AC;&#xC6A9;&#xD560; &#xACBD;&#xC6B0; URL&#xC5D0; &#xB3C4;&#xBA54;&#xC778; &#xC801;&#xC73C;&#xBA74; SSL &#xC778;&#xC99D;&#xC11C;&#xAE4C;&#xC9C0; &#xD55C;&#xBC88;&#xC5D0; &#xC124;&#xC815;&#xD574;&#xC900;&#xB2E4;.</p>
<pre><code>? Enter your MySQL hostname: (localhost)
</code></pre>
<p>MySQL hostname &#xBB3C;&#xC5B4;&#xBCF4;&#xB294;&#xB370; DB &#xB530;&#xB85C; &#xBD84;&#xB9AC;&#xD574;&#xC11C; &#xC11C;&#xBC84; &#xAD6C;&#xB3D9;&#xD560; &#xC0DD;&#xAC01;&#xC740; &#xC5C6;&#xC5B4;&#xC11C; &#xC55E;&#xC5D0;&#xC11C; &#xC124;&#xCE58;&#xD55C; MySQL &#xADF8;&#xB300;&#xB85C; &#xC0AC;&#xC6A9;&#xD588;&#xB2E4;.</p>
<pre><code>? Enter your MySQL username: root
</code></pre>
<p>MySQL &#xC0AC;&#xC6A9;&#xC790; &#xC774;&#xB984; &#xBB3C;&#xC5B4;&#xBCF4;&#xB294;&#xB370; DB &#xC0C8;&#xB85C; &#xC124;&#xCE58;&#xD55C;&#xAC70;&#xBA74; root &#xC0AC;&#xC6A9;&#xD558;&#xB77C;&#xACE0; &#xAC00;&#xC774;&#xB4DC; &#xB418;&#xC788;&#xC5B4;&#xC11C; root&#xB85C; &#xC785;&#xB825;&#xD588;&#xB2E4;.</p>
<pre><code>? Enter your Ghost database name: (melprobe_com_prod)
</code></pre>
<p>Ghost DB&#xC774;&#xB984; &#xC790;&#xB3D9;&#xC0DD;&#xC131;&#xB41C; &#xC774;&#xB984; &#xADF8;&#xB300;&#xB85C; &#xC0AC;&#xC6A9;&#xD588;&#xB2E4;.</p>
<pre><code>? Do you wish to set up &quot;ghost&quot; mysql user? (Y/n) Y
</code></pre>
<p>root MySQL user &#xC124;&#xC815;&#xD558;&#xBA74; Ghost-CLI&#xC5D0;&#xC11C; DB &#xC811;&#xADFC; &#xAC00;&#xB2A5;&#xD574;&#xC9C4;&#xB2E4;&#xACE0; &#xD558;&#xB2C8; Y&#xB85C; &#xC124;&#xC815;&#xD588;&#xB2E4;.</p>
<pre><code>Your url contains a port. Skipping Nginx setup.
&#x2139; Setting up Nginx [skipped]
Nginx setup task was skipped, skipping SSL setup
&#x2139; Setting up SSL [skipped]
</code></pre>
<p>proxy &#xC0AC;&#xC6A9;&#xD560;&#xAC70;&#xB77C; localhost:2368&#xB85C; URL &#xC124;&#xC815;&#xD588;&#xB354;&#xB2C8; SSL &#xC124;&#xC815; &#xC2A4;&#xD0B5;&#xB42C;&#xB2E4;.</p>
<pre><code>? Do you wish to set up Systemd? (Y/n) Y
</code></pre>
<p>systemd&#xC5D0; &#xB4F1;&#xB85D;&#xD574;&#xC57C; service start, stop&#xC774; &#xD3B8;&#xD574;&#xC9C0;&#xB2C8;&#xAE4C; &#xB2F9;&#xC5F0;&#xD788; Y</p>
<h2 id="7-%EC%84%A4%EC%B9%98-%ED%8A%B8%EB%9F%AC%EB%B8%94%EC%8A%88%ED%8C%85">7. &#xC124;&#xCE58; &#xD2B8;&#xB7EC;&#xBE14;&#xC288;&#xD305;</h2>
<pre><code>ghost uninstall

ghost install
</code></pre>
<p>&#xBB38;&#xC81C; &#xBC1C;&#xC0DD;&#xC2DC; uninstall &#xD574;&#xC11C; &#xD3F4;&#xB354; &#xB0B4;&#xC6A9;&#xBB3C; &#xC2F9; &#xBE44;&#xC6B0;&#xACE0; &#xB2E4;&#xC2DC; install &#xD574;&#xC11C; &#xD574;&#xACB0;&#xD558;&#xB77C;&#xACE0; &#xAC00;&#xC774;&#xB4DC;&#xB418;&#xC5B4;&#xC788;&#xB2E4;.</p>
<h3 id="7-1-sudoers-%EC%B6%94%EA%B0%80-%EC%95%88%ED%95%B4%EC%84%9C-%EC%97%90%EB%9F%AC-%EB%B0%9C%EC%83%9D">7-1. sudoers &#xCD94;&#xAC00; &#xC548;&#xD574;&#xC11C; &#xC5D0;&#xB7EC; &#xBC1C;&#xC0DD;</h3>
<pre><code>Error: Command failed: /bin/sh -c sudo -S -p &apos;#node-sudo-passwd#&apos;  useradd --system --user-group ghost
#node-sudo-passwd#blog is not in the sudoers file.  This incident will be reported.
</code></pre>
<p>adduser&#xB85C; blog &#xC720;&#xC800; &#xCD94;&#xAC00;&#xD558;&#xACE0; sudoers &#xD30C;&#xC77C;&#xC5D0; &#xCD94;&#xAC00; &#xC548;&#xD574;&#xC11C; sudo&#xAC00; &#xBD88;&#xAC00;&#xB2A5;&#xD574;&#xC11C; &#xC5D0;&#xB7EC;&#xBC1C;&#xC0DD;&#xD588;&#xB2E4;.<br>
sudoers&#xC5D0; blog &#xC720;&#xC800; &#xCD94;&#xAC00;&#xD558;&#xACE0; uninstall -&gt; install&#xB85C; &#xD574;&#xACB0;</p>
<h3 id="7-2-mysql-root-%EA%B3%84%EC%A0%95-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EB%B6%88%EA%B0%80-%EC%97%90%EB%9F%AC">7-2. MySQL root &#xACC4;&#xC815; &#xB85C;&#xADF8;&#xC778; &#xBD88;&#xAC00; &#xC5D0;&#xB7EC;</h3>
<pre><code>1) ConfigError

Error detected in the production configuration.

Message: Access denied for user &apos;root&apos;@&apos;localhost&apos; (using password: YES)
Configuration Key(s): database.connection.user / database.connection.password
</code></pre>
<p>MySQL root &#xACC4;&#xC815; &#xD328;&#xC2A4;&#xC6CC;&#xB4DC; &#xC124;&#xC815;&#xC774; &#xC548;&#xB418;&#xC5B4;&#xC788;&#xC5B4;&#xC11C; &#xBC1C;&#xC0DD;&#xD55C; &#xC5D0;&#xB7EC;</p>
<pre><code>mysql -u root -p
</code></pre>
<p>&#xBE44;&#xBC00;&#xBC88;&#xD638; &#xBB3C;&#xC5B4;&#xBCF4;&#xBA74; &#xADF8;&#xB0E5; &#xC5D4;&#xD130; &#xB204;&#xB974;&#xBA74; &#xB85C;&#xADF8;&#xC778;&#xB41C;&#xB2E4;.</p>
<pre><code>mysql&gt; ALTER USER &apos;root&apos;@&apos;localhost&apos; IDENTIFIED BY &apos;{&#xBE44;&#xBC00;&#xBC88;&#xD638;}&apos;;
mysql&gt; exit;
</code></pre>
<p>Ghost &#xC124;&#xCE58; &#xACFC;&#xC815;&#xC5D0;&#xC11C; &#xC785;&#xB825;&#xD55C; &#xBE44;&#xBC00;&#xBC88;&#xD638;&#xB85C; root &#xACC4;&#xC815; &#xBE44;&#xBC00;&#xBC88;&#xD638; &#xC124;&#xC815;&#xD558;&#xACE0; <code>ghost start</code>&#xB85C; &#xC2DC;&#xC791;&#xD558;&#xBA74; &#xC815;&#xC0C1;&#xC801;&#xC73C;&#xB85C; &#xC2DC;&#xC791;&#xB41C;&#xB2E4;.</p>
<h2 id="8-%EA%B4%80%EB%A6%AC%EC%9E%90-%ED%8E%98%EC%9D%B4%EC%A7%80%EC%97%90%EC%84%9C-%EC%B4%88%EA%B8%B0%EC%84%A4%EC%A0%95">8. &#xAD00;&#xB9AC;&#xC790; &#xD398;&#xC774;&#xC9C0;&#xC5D0;&#xC11C; &#xCD08;&#xAE30;&#xC124;&#xC815;</h2>
<p>http://{URL}/ghost/ &#xB85C; &#xC811;&#xC18D;&#xD558;&#xBA74; &#xAD00;&#xB9AC;&#xC790; &#xCD08;&#xAE30; &#xC124;&#xC815;&#xC774; &#xC9C4;&#xD589;&#xB41C;&#xB2E4;.</p>
<p><img src="https://melprobe.com/content/images/2022/10/admin.png" alt="admin" loading="lazy"></p>
<h2 id="9-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EC%82%AC%EC%9A%A9%EB%9F%89">9. &#xCEE8;&#xD14C;&#xC774;&#xB108; &#xB9AC;&#xC18C;&#xC2A4; &#xC0AC;&#xC6A9;&#xB7C9;</h2>
<p><img src="https://melprobe.com/content/images/2022/10/resource.png" alt="resource" loading="lazy"><br>
&#xBA54;&#xBAA8;&#xB9AC; 500MB, &#xCEE8;&#xD14C;&#xC774;&#xB108; &#xC6A9;&#xB7C9; 4GB<br>
&#xCC98;&#xC74C;&#xC5D0; &#xD560;&#xB2F9;&#xD55C; CPU, RAM, SSD &#xCD94;&#xAC00;&#xB85C; &#xD560;&#xB2F9;&#xD560; &#xD544;&#xC694;&#xB294; &#xC5C6;&#xC5B4;&#xBCF4;&#xC778;&#xB2E4;.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item></channel></rss>