<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://i6020345.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://i6020345.com/" rel="alternate" type="text/html" hreflang="ko" /><updated>2026-06-09T06:34:00+00:00</updated><id>https://i6020345.com/feed.xml</id><title type="html">i6020345</title><subtitle>열심히 살아보자
</subtitle><author><name>&lt;lee&gt; &lt;jk&gt;</name><email>&lt;ko.leejk@gmail.com&gt;</email></author><entry><title type="html">Gitea 설치 삽질기 — “설치 중” 화면에서 멈췄을 때</title><link href="https://i6020345.com/tech-memo/2026-06-09-gitea-install-troubleshooting/" rel="alternate" type="text/html" title="Gitea 설치 삽질기 — “설치 중” 화면에서 멈췄을 때" /><published>2026-06-09T00:00:00+00:00</published><updated>2026-06-09T00:00:00+00:00</updated><id>https://i6020345.com/tech-memo/gitea-install-troubleshooting</id><content type="html" xml:base="https://i6020345.com/tech-memo/2026-06-09-gitea-install-troubleshooting/"><![CDATA[<p class="lead"><a href="/tech-memo/2026-06-05-gitea-install-windows-server/">윈도우 서버에 Gitea 설치하기</a> 글대로 따라가다,
초기 설정에서 <strong>“설치 중입니다, 잠시만 기다려 주세요…“</strong> 화면이 30분째 그대로였습니다.
정상이 아니었고, 결국 처음부터 다시 깔았습니다. 같은 길로 빠지지 않도록 과정을 남깁니다.</p>

<ol id="markdown-toc">
  <li><a href="#증상" id="markdown-toc-증상">증상</a></li>
  <li><a href="#진단--서버가-살아있나" id="markdown-toc-진단--서버가-살아있나">진단 — 서버가 살아있나?</a></li>
  <li><a href="#원인--콘솔-창을-닫으면-gitea도-죽는다" id="markdown-toc-원인--콘솔-창을-닫으면-gitea도-죽는다">원인 — 콘솔 창을 닫으면 Gitea도 죽는다</a></li>
  <li><a href="#해결--이렇게-다시-했다" id="markdown-toc-해결--이렇게-다시-했다">해결 — 이렇게 다시 했다</a></li>
  <li><a href="#다음엔-이렇게-체크리스트" id="markdown-toc-다음엔-이렇게-체크리스트">다음엔 이렇게 (체크리스트)</a></li>
</ol>

<h2 id="증상">증상</h2>

<p>초기 설정 폼을 채우고 <strong>“Gitea 설치”</strong> 를 눌렀는데, 컵 아이콘과 함께 “설치 중입니다…” 스피너만
계속 돌고 화면이 넘어가지 않았습니다. 30분을 기다려도 그대로였습니다.</p>

<p><img src="/assets/img/tech-memo/03-gitea-installing.png" alt="설치 중 화면" class="lead" loading="lazy" /></p>

<p class="note">이 화면에서 몇 분 이상 멈춰 있으면 정상이 아닙니다. 십중팔구 <strong>뒤에서 Gitea 서버 프로세스가 죽었고, 브라우저만 응답을 기다리는 상태</strong>입니다.</p>

<h2 id="진단--서버가-살아있나">진단 — 서버가 살아있나?</h2>

<p>가장 먼저 Gitea가 정말 떠 있는지부터 확인합니다. PowerShell에서:</p>

<div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">netstat</span><span class="w"> </span><span class="nt">-ano</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">findstr</span><span class="w"> </span><span class="p">:</span><span class="nx">3000</span><span class="w">     </span><span class="c"># 3000 포트 LISTENING 여부</span><span class="w">
</span><span class="n">tasklist</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">findstr</span><span class="w"> </span><span class="nx">gitea</span><span class="w">         </span><span class="c"># gitea 프로세스 존재 여부</span><span class="w">
</span><span class="n">sc</span><span class="w"> </span><span class="nx">query</span><span class="w"> </span><span class="nx">gitea</span><span class="w">                   </span><span class="c"># 서비스로 등록했다면 상태</span><span class="w">
</span></code></pre></div></div>

<p>콘솔에 찍혀 있던 PID(제 경우 <code class="language-plaintext highlighter-rouge">2228</code>)를 직접 조회해 봤더니:</p>

<div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PS</span><span class="w"> </span><span class="nx">C:\</span><span class="err">&gt;</span><span class="w"> </span><span class="nx">tasklist</span><span class="w"> </span><span class="nx">/FI</span><span class="w"> </span><span class="s2">"PID eq 2228"</span><span class="w"> </span><span class="nx">/V</span><span class="w">
</span><span class="err">정보</span><span class="p">:</span><span class="w"> </span><span class="err">실행</span><span class="w"> </span><span class="err">중인</span><span class="w"> </span><span class="err">작업</span><span class="w"> </span><span class="err">중</span><span class="w"> </span><span class="err">지정된</span><span class="w"> </span><span class="err">조건에</span><span class="w"> </span><span class="err">일치하는</span><span class="w"> </span><span class="err">작업이</span><span class="w"> </span><span class="err">없습니다</span><span class="o">.</span><span class="w">
</span></code></pre></div></div>

<p><strong>프로세스가 이미 죽어 있었습니다.</strong> 즉 설치 페이지가 멈춘 게 아니라, 응답해 줄 서버 자체가 사라진 상태였던 겁니다.</p>

<h2 id="원인--콘솔-창을-닫으면-gitea도-죽는다">원인 — 콘솔 창을 닫으면 Gitea도 죽는다</h2>

<p><code class="language-plaintext highlighter-rouge">gitea.exe web</code> 을 콘솔에서 띄운 채로 설치를 진행하고 있었는데, 그 <strong>콘솔 창이 닫히면(또는 종료되면) Gitea 프로세스도 같이 종료</strong>됩니다.
서버가 죽으니 브라우저의 설치 요청은 영원히 응답을 못 받고 스피너만 돕니다.</p>

<p>실행 파일을 다시 찾으려다 한 번 더 헤맸습니다.</p>

<div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PS</span><span class="w"> </span><span class="nx">C:\</span><span class="err">&gt;</span><span class="w"> </span><span class="nx">Get-ChildItem</span><span class="w"> </span><span class="nx">C:\</span><span class="w"> </span><span class="nt">-Filter</span><span class="w"> </span><span class="s2">"*gitea*.exe"</span><span class="w"> </span><span class="nt">-Recurse</span><span class="w"> </span><span class="nt">-ErrorAction</span><span class="w"> </span><span class="nx">SilentlyContinue</span><span class="w">
</span><span class="n">PS</span><span class="w"> </span><span class="nx">C:\</span><span class="err">&gt;</span><span class="w">     </span><span class="c"># 결과 없음</span><span class="w">
</span></code></pre></div></div>

<p>C 드라이브만 뒤져서 “파일이 사라졌다”고 착각했는데, 실제 실행 파일은 <strong><code class="language-plaintext highlighter-rouge">D:\installFiles</code></strong> 에 있었습니다.
검색은 설치한 드라이브를 정확히 지정해야 합니다.</p>

<div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Get-ChildItem</span><span class="w"> </span><span class="nx">D:\</span><span class="w"> </span><span class="nt">-Filter</span><span class="w"> </span><span class="s2">"*gitea*.exe"</span><span class="w"> </span><span class="nt">-Recurse</span><span class="w"> </span><span class="nt">-ErrorAction</span><span class="w"> </span><span class="nx">SilentlyContinue</span><span class="w">
</span></code></pre></div></div>

<h2 id="해결--이렇게-다시-했다">해결 — 이렇게 다시 했다</h2>

<ol>
  <li>남은 프로세스 정리 후 실행 파일 위치(<code class="language-plaintext highlighter-rouge">D:\installFiles</code>) 확인</li>
  <li><strong>콘솔을 닫지 않고</strong> 띄워둔 상태에서 설치 진행 — 또는 아예 처음부터 <a href="/tech-memo/2026-06-05-gitea-install-windows-server/#5-windows-서비스로-등록">Windows 서비스로 등록</a>해서 콘솔 종속을 없앰</li>
  <li>DB는 <strong>우선 SQLite3로 한 번 정상 기동을 확인</strong>한 뒤, 안정되면 MySQL로 전환</li>
  <li>접속은 <code class="language-plaintext highlighter-rouge">localhost</code> 대신 <code class="language-plaintext highlighter-rouge">http://127.0.0.1:3000</code> 으로도 시도 (가끔 localhost 이름 해석 때문에 대기하기도 함)</li>
</ol>

<h2 id="다음엔-이렇게-체크리스트">다음엔 이렇게 (체크리스트)</h2>

<ul class="task-list">
  <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />설치 중에는 <strong>콘솔 창을 절대 닫지 않는다</strong> (닫으면 프로세스 종료)</li>
  <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />가능하면 처음부터 <strong>Windows 서비스로 등록</strong>해 콘솔 종속을 제거</li>
  <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />실행 파일 검색은 <strong>설치한 드라이브 전체</strong>를 대상으로 (<code class="language-plaintext highlighter-rouge">D:\</code> 등)</li>
  <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />DB는 <strong>SQLite로 먼저 검증</strong> 후 MySQL/MSSQL 전환</li>
  <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />“설치 중” 화면이 몇 분 이상이면 기다리지 말고 <code class="language-plaintext highlighter-rouge">netstat :3000</code> 부터 확인</li>
</ul>

<blockquote class="note">
  <p>핵심 교훈: “설치 화면이 멈췄다”가 아니라 <strong>“서버가 죽었다”</strong> 를 의심하라. 멈춘 UI 뒤의 프로세스 생존 여부부터 확인하면 진단이 훨씬 빠릅니다.</p>
</blockquote>]]></content><author><name>&lt;lee&gt; &lt;jk&gt;</name><email>&lt;ko.leejk@gmail.com&gt;</email></author><category term="tech-memo" /><category term="gitea" /><category term="windows-server" /><category term="troubleshooting" /><category term="삽질기" /><summary type="html"><![CDATA[Windows 서버에 Gitea를 설치하다 "설치 중입니다" 화면에서 30분간 멈춘 경험. 원인 진단 명령어와, 다시 겪지 않으려면 어떻게 해야 하는지 정리했습니다.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://i6020345.com/assets/img/tech-memo/gitea_thumb.webp" /><media:content medium="image" url="https://i6020345.com/assets/img/tech-memo/gitea_thumb.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">기술메모를 시작하며</title><link href="https://i6020345.com/tech-memo/2026-06-09-welcome-tech-memo/" rel="alternate" type="text/html" title="기술메모를 시작하며" /><published>2026-06-09T00:00:00+00:00</published><updated>2026-06-09T00:00:00+00:00</updated><id>https://i6020345.com/tech-memo/welcome-tech-memo</id><content type="html" xml:base="https://i6020345.com/tech-memo/2026-06-09-welcome-tech-memo/"><![CDATA[<p class="lead">이것저것 설치하고 설정하다 보면 매번 같은 걸 다시 찾게 됩니다.
그래서 한 번 정리해둔 내용을 두고두고 꺼내 보려고 <strong>기술메모</strong> 카테고리를 만들었습니다.</p>

<ol id="markdown-toc">
  <li><a href="#어떤-글을-적나요" id="markdown-toc-어떤-글을-적나요">어떤 글을 적나요</a></li>
  <li><a href="#새-글-추가하는-법" id="markdown-toc-새-글-추가하는-법">새 글 추가하는 법</a></li>
</ol>

<h2 id="어떤-글을-적나요">어떤 글을 적나요</h2>

<ul>
  <li>각종 소프트웨어 <strong>설치 방법</strong></li>
  <li>개발 환경 <strong>설정/세팅</strong></li>
  <li>삽질하다 해결한 <strong>트러블슈팅</strong> 기록</li>
</ul>

<h2 id="새-글-추가하는-법">새 글 추가하는 법</h2>

<p><code class="language-plaintext highlighter-rouge">tech-memo/_posts/</code> 폴더에 <code class="language-plaintext highlighter-rouge">YYYY-MM-DD-제목.md</code> 형식으로 파일을 만들면 됩니다.
맨 위 front matter에서 <code class="language-plaintext highlighter-rouge">categories: [tech-memo]</code> 만 지켜주면 이 카테고리에 자동으로 묶입니다.</p>

<div class="language-markdown highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">layout</span><span class="pi">:</span> <span class="s">post</span>
<span class="na">title</span><span class="pi">:</span> <span class="s">글 제목</span>
<span class="na">description</span><span class="pi">:</span> <span class="pi">&gt;</span>
  <span class="s">검색/미리보기에 쓰일 한 줄 설명.</span>
<span class="na">categories</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">tech-memo</span><span class="pi">]</span>
<span class="na">tags</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">예시</span><span class="pi">,</span> <span class="nv">태그</span><span class="pi">]</span>
<span class="nn">---</span>

본문 시작...
</code></pre></div></div>

<blockquote class="note">
  <p>파일 이름의 날짜가 미래면 발행되지 않습니다. 작성 시점 날짜로 맞춰주세요.</p>
</blockquote>]]></content><author><name>&lt;lee&gt; &lt;jk&gt;</name><email>&lt;ko.leejk@gmail.com&gt;</email></author><category term="tech-memo" /><category term="meta" /><category term="jekyll" /><summary type="html"><![CDATA[설치 방법과 환경 설정을 기록해두는 기술메모 카테고리를 시작합니다. 글을 어떻게 쓰는지 간단한 사용법도 함께 정리합니다.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://i6020345.com/assets/img/sidebar-bg.jpg" /><media:content medium="image" url="https://i6020345.com/assets/img/sidebar-bg.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">윈도우 서버에 Gitea 설치하기</title><link href="https://i6020345.com/tech-memo/2026-06-05-gitea-install-windows-server/" rel="alternate" type="text/html" title="윈도우 서버에 Gitea 설치하기" /><published>2026-06-05T00:00:00+00:00</published><updated>2026-06-05T00:00:00+00:00</updated><id>https://i6020345.com/tech-memo/gitea-install-windows-server</id><content type="html" xml:base="https://i6020345.com/tech-memo/2026-06-05-gitea-install-windows-server/"><![CDATA[<p class="lead">사내에서 가볍게 Git 저장소를 호스팅하고 싶을 때 <strong>Gitea</strong> 만한 게 없습니다.
단일 실행 파일이라 Windows Server에도 부담 없이 올릴 수 있습니다.</p>

<ol id="markdown-toc">
  <li><a href="#0-준비물" id="markdown-toc-0-준비물">0. 준비물</a></li>
  <li><a href="#1-실행-파일-내려받기" id="markdown-toc-1-실행-파일-내려받기">1. 실행 파일 내려받기</a></li>
  <li><a href="#2-mysql에-데이터베이스-준비" id="markdown-toc-2-mysql에-데이터베이스-준비">2. MySQL에 데이터베이스 준비</a></li>
  <li><a href="#3-실행" id="markdown-toc-3-실행">3. 실행</a></li>
  <li><a href="#4-초기-설정-localhost3000" id="markdown-toc-4-초기-설정-localhost3000">4. 초기 설정 (localhost:3000)</a></li>
  <li><a href="#5-windows-서비스로-등록" id="markdown-toc-5-windows-서비스로-등록">5. Windows 서비스로 등록</a></li>
  <li><a href="#6-동작-확인" id="markdown-toc-6-동작-확인">6. 동작 확인</a></li>
</ol>

<h2 id="0-준비물">0. 준비물</h2>

<ul>
  <li>Windows Server (2016 이상 권장)</li>
  <li>관리자 권한 PowerShell / 콘솔</li>
  <li><strong>MySQL</strong> 인스턴스 (이 글은 <code class="language-plaintext highlighter-rouge">127.0.0.1:3306</code>, DB 이름 <code class="language-plaintext highlighter-rouge">gitea</code> 기준)</li>
</ul>

<h2 id="1-실행-파일-내려받기">1. 실행 파일 내려받기</h2>

<p><a href="https://dl.gitea.com/gitea/">Gitea 다운로드 페이지</a>에서 Windows용 실행 파일을 받습니다.
이 글에서는 <code class="language-plaintext highlighter-rouge">gitea-1.26.2-gogit-windows-4.0-amd64.exe</code> 를 <code class="language-plaintext highlighter-rouge">D:\installFiles</code> 에 두고 진행합니다.</p>

<h2 id="2-mysql에-데이터베이스-준비">2. MySQL에 데이터베이스 준비</h2>

<p>Gitea가 사용할 빈 데이터베이스를 미리 만들어 둡니다.</p>

<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">CREATE</span> <span class="k">DATABASE</span> <span class="n">gitea</span> <span class="nb">CHARACTER</span> <span class="k">SET</span> <span class="n">utf8mb4</span> <span class="k">COLLATE</span> <span class="n">utf8mb4_unicode_ci</span><span class="p">;</span>
</code></pre></div></div>

<h2 id="3-실행">3. 실행</h2>

<p>실행 파일이 있는 폴더에서 <code class="language-plaintext highlighter-rouge">web</code> 명령으로 띄웁니다.</p>

<div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">cd</span><span class="w"> </span><span class="nx">D:\installFiles</span><span class="w">
</span><span class="o">.</span><span class="n">\gitea-1.26.2-gogit-windows-4.0-amd64.exe</span><span class="w"> </span><span class="nx">web</span><span class="w">
</span></code></pre></div></div>

<p>콘솔에 <code class="language-plaintext highlighter-rouge">Listen: http://0.0.0.0:3000</code> 과 <code class="language-plaintext highlighter-rouge">Prepare to run install page</code> 가 보이면 준비 완료입니다.</p>

<p><img src="/assets/img/tech-memo/01-gitea-console.png" alt="Gitea 실행 콘솔" class="lead" loading="lazy" /></p>

<p class="figcaption">Gitea 실행 콘솔 — 3000번 포트로 리스닝 시작.</p>

<blockquote class="note">
  <p>상단의 <code class="language-plaintext highlighter-rouge">SCRIPT_TYPE "bash" is not on the current PATH</code> 경고는 Windows라 bash가 없어서 나는 것으로, 동작에는 지장이 없습니다.</p>
</blockquote>

<h2 id="4-초기-설정-localhost3000">4. 초기 설정 (localhost:3000)</h2>

<p>브라우저에서 <code class="language-plaintext highlighter-rouge">http://localhost:3000/</code> 에 접속하면 <strong>초기 설정</strong> 화면이 뜹니다.</p>

<p><img src="/assets/img/tech-memo/02-gitea-install-mysql.png" alt="Gitea 초기 설정 화면" class="lead" loading="lazy" /></p>

<p class="figcaption">데이터베이스 설정 — MySQL, 호스트 <code class="language-plaintext highlighter-rouge">127.0.0.1:3306</code>, 이름 <code class="language-plaintext highlighter-rouge">gitea</code>.</p>

<p>데이터베이스 설정을 실제 환경에 맞게 입력합니다.</p>

<ul>
  <li><strong>데이터베이스 유형</strong>: <code class="language-plaintext highlighter-rouge">MySQL</code></li>
  <li><strong>호스트</strong>: <code class="language-plaintext highlighter-rouge">127.0.0.1:3306</code></li>
  <li><strong>이름(DB)</strong>: <code class="language-plaintext highlighter-rouge">gitea</code></li>
  <li><strong>사용자명 / 비밀번호</strong>: MySQL 계정 정보</li>
</ul>

<p>이어서 아래 항목도 확인합니다.</p>

<ul>
  <li><strong>저장소 루트 경로</strong> / <strong>로그 경로</strong>: 원하는 폴더로 지정</li>
  <li><strong>서버 도메인 / 베이스 URL</strong>: 실제 접속 주소로 지정</li>
  <li>마지막에 <strong>관리자 계정</strong>을 꼭 생성</li>
</ul>

<blockquote class="note">
  <p>설정값은 <code class="language-plaintext highlighter-rouge">D:\installFiles\custom\conf\app.ini</code> 에 저장됩니다. 이후 수정은 이 파일에서 합니다.</p>
</blockquote>

<p>맨 아래 <strong>“Gitea 설치”</strong> 버튼을 누르면 설치가 진행됩니다.</p>

<p><img src="/assets/img/tech-memo/03-gitea-installing.png" alt="Gitea 설치 진행 중" class="lead" loading="lazy" /></p>

<p class="figcaption">“설치 중입니다, 잠시만 기다려 주세요…” — 설치가 끝나면 로그인/대시보드 화면으로 넘어갑니다.</p>

<h2 id="5-windows-서비스로-등록">5. Windows 서비스로 등록</h2>

<p>매번 콘솔로 띄울 순 없으니 서비스로 등록해 자동 실행되게 합니다.
<code class="language-plaintext highlighter-rouge">Ctrl+C</code> 로 3번의 실행을 멈춘 뒤:</p>

<div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">sc.exe</span><span class="w"> </span><span class="nx">create</span><span class="w"> </span><span class="nx">gitea</span><span class="w"> </span><span class="nx">start</span><span class="o">=</span><span class="w"> </span><span class="n">auto</span><span class="w"> </span><span class="se">`
</span><span class="w">  </span><span class="nx">binPath</span><span class="o">=</span><span class="w"> </span><span class="s2">"\"</span><span class="n">D:\installFiles\gitea-1.26.2-gogit-windows-4.0-amd64.exe\</span><span class="s2">" web --config \"</span><span class="nx">D:\installFiles\custom\conf\app.ini\</span><span class="s2">""</span><span class="w">
</span><span class="n">sc.exe</span><span class="w"> </span><span class="nx">description</span><span class="w"> </span><span class="nx">gitea</span><span class="w"> </span><span class="s2">"Gitea Git Service"</span><span class="w">
</span><span class="n">sc.exe</span><span class="w"> </span><span class="nx">start</span><span class="w"> </span><span class="nx">gitea</span><span class="w">
</span></code></pre></div></div>

<p>서비스 상태 확인:</p>

<div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Get-Service</span><span class="w"> </span><span class="nx">gitea</span><span class="w">
</span></code></pre></div></div>

<h2 id="6-동작-확인">6. 동작 확인</h2>

<p>다시 <code class="language-plaintext highlighter-rouge">http://localhost:3000/</code> 에 접속해 로그인되면 완료입니다.
<strong>“계정이 성공적으로 생성되었습니다. 환영합니다!”</strong> 와 함께 대시보드가 보이면 설치 성공입니다.</p>

<p><img src="/assets/img/tech-memo/04-gitea-dashboard.png" alt="Gitea 대시보드" class="lead" loading="lazy" /></p>

<p class="figcaption">설치 완료 후 첫 로그인 — 관리자 계정으로 들어온 대시보드.</p>

<p>이제 새 저장소를 만들고 클론 테스트까지 해보세요.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone http://&lt;서버주소&gt;:3000/&lt;user&gt;/&lt;repo&gt;.git
</code></pre></div></div>

<blockquote class="note">
  <p>운영 환경이라면 3000 포트 직접 노출 대신 <strong>IIS/Nginx 리버스 프록시 + HTTPS</strong> 구성을 권장합니다.</p>
</blockquote>]]></content><author><name>&lt;lee&gt; &lt;jk&gt;</name><email>&lt;ko.leejk@gmail.com&gt;</email></author><category term="tech-memo" /><category term="gitea" /><category term="git" /><category term="windows-server" /><category term="mysql" /><summary type="html"><![CDATA[Windows Server에 경량 Git 호스팅 서비스 Gitea(1.26.2)를 설치하고, MySQL을 데이터베이스로 연결해 초기 설정까지 진행하는 방법.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://i6020345.com/assets/img/tech-memo/gitea_thumb.webp" /><media:content medium="image" url="https://i6020345.com/assets/img/tech-memo/gitea_thumb.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">nvm으로 Node.js 설치/버전 관리</title><link href="https://i6020345.com/tech-memo/2026-06-01-nodejs-nvm-install/" rel="alternate" type="text/html" title="nvm으로 Node.js 설치/버전 관리" /><published>2026-06-01T00:00:00+00:00</published><updated>2026-06-01T00:00:00+00:00</updated><id>https://i6020345.com/tech-memo/nodejs-nvm-install</id><content type="html" xml:base="https://i6020345.com/tech-memo/2026-06-01-nodejs-nvm-install/"><![CDATA[<p class="lead">프로젝트마다 요구하는 Node 버전이 달라서 골치 아플 때, <strong>nvm</strong>(Node Version Manager) 하나면 끝납니다.</p>

<ol id="markdown-toc">
  <li><a href="#1-nvm-설치" id="markdown-toc-1-nvm-설치">1. nvm 설치</a></li>
  <li><a href="#2-node-설치" id="markdown-toc-2-node-설치">2. Node 설치</a></li>
  <li><a href="#3-버전-전환" id="markdown-toc-3-버전-전환">3. 버전 전환</a></li>
  <li><a href="#4-프로젝트별-자동-전환" id="markdown-toc-4-프로젝트별-자동-전환">4. 프로젝트별 자동 전환</a></li>
</ol>

<h2 id="1-nvm-설치">1. nvm 설치</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl <span class="nt">-o-</span> https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
</code></pre></div></div>

<p>설치 후 셸을 다시 열거나 아래를 실행합니다.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">source</span> ~/.nvm/nvm.sh
</code></pre></div></div>

<h2 id="2-node-설치">2. Node 설치</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nvm <span class="nb">install</span> <span class="nt">--lts</span>      <span class="c"># 최신 LTS 설치</span>
nvm <span class="nb">install </span>20         <span class="c"># 특정 메이저 버전</span>
</code></pre></div></div>

<h2 id="3-버전-전환">3. 버전 전환</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nvm use 20             <span class="c"># 현재 셸에서 20 사용</span>
nvm <span class="nb">alias </span>default 20   <span class="c"># 기본 버전 고정</span>
nvm <span class="nb">ls</span>                 <span class="c"># 설치된 버전 목록</span>
</code></pre></div></div>

<h2 id="4-프로젝트별-자동-전환">4. 프로젝트별 자동 전환</h2>

<p>프로젝트 루트에 <code class="language-plaintext highlighter-rouge">.nvmrc</code> 파일을 두면 됩니다.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">echo</span> <span class="s2">"20"</span> <span class="o">&gt;</span> .nvmrc
nvm use        <span class="c"># .nvmrc 버전으로 전환</span>
</code></pre></div></div>

<blockquote class="note">
  <p>Windows에서는 nvm 대신 <a href="https://github.com/coreybutler/nvm-windows">nvm-windows</a>를 사용하세요.</p>
</blockquote>]]></content><author><name>&lt;lee&gt; &lt;jk&gt;</name><email>&lt;ko.leejk@gmail.com&gt;</email></author><category term="tech-memo" /><category term="nodejs" /><category term="nvm" /><category term="javascript" /><summary type="html"><![CDATA[nvm을 설치해 여러 버전의 Node.js를 자유롭게 오가며 사용하는 방법. macOS / Linux 공통.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://i6020345.com/assets/img/sidebar-bg.jpg" /><media:content medium="image" url="https://i6020345.com/assets/img/sidebar-bg.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>