<?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>Ubuntu Archives - 어제와 내일의 나 그 사이의 이야기</title>
	<atom:link href="https://lycos7560.com/category/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>생각의 흐름을 타고 다니며 만드는 블로그</description>
	<lastBuildDate>Mon, 16 Mar 2026 21:58:32 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://lycos7560.com/wp-content/uploads/2022/11/cropped-cropped-cropped-log-1-150x150-1-80x80.png</url>
	<title>Ubuntu Archives - 어제와 내일의 나 그 사이의 이야기</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Linux Default Directory Structure (기본 디렉터리 구조)</title>
		<link>https://lycos7560.com/ubuntu/%eb%a6%ac%eb%88%85%ec%8a%a4-%ea%b8%b0%eb%b3%b8-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-linux-default-directory-structure/40290/</link>
					<comments>https://lycos7560.com/ubuntu/%eb%a6%ac%eb%88%85%ec%8a%a4-%ea%b8%b0%eb%b3%b8-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-linux-default-directory-structure/40290/#comments</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Sun, 01 Mar 2026 07:06:00 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[기초]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40290</guid>

					<description><![CDATA[<p>디렉터리 구조 표 디렉터리 용도 이름(어원/줄임말) / 파일 시스템 최상위 디렉터리, 모든 경로의 출발점 &#8211; /bin 기본 명령어(binary) 저장소. 부팅/유저 작업에 필수적인 실행 파일 binary /boot 부팅 관련 파일 저장. 커널, 초기 램디스크, 부트로더 설정 포함 boot /dev 장치 파일 저장 (디스크, 터미널, 가상 장치 등) device /etc 시스템 설정 파일(전역 설정) et cetera (원래 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/ubuntu/%eb%a6%ac%eb%88%85%ec%8a%a4-%ea%b8%b0%eb%b3%b8-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-linux-default-directory-structure/40290/">Linux Default Directory Structure (기본 디렉터리 구조)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-eedf4b9d      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#디렉터리-구조-표" class="uagb-toc-link__trigger">디렉터리 구조 표</a><li class="uagb-toc__list"><a href="#각-디렉터리-상세-설명" class="uagb-toc-link__trigger">각 디렉터리 상세 설명</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#toc_69cf95b80dd99" class="uagb-toc-link__trigger">/</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#bin" class="uagb-toc-link__trigger">/bin</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#boot" class="uagb-toc-link__trigger">/boot</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#dev" class="uagb-toc-link__trigger">/dev</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#etc" class="uagb-toc-link__trigger">/etc</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#home" class="uagb-toc-link__trigger">/home</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#lib-lib64" class="uagb-toc-link__trigger">/lib, /lib64</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#media" class="uagb-toc-link__trigger">/media</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#mnt" class="uagb-toc-link__trigger">/mnt</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#opt" class="uagb-toc-link__trigger">/opt</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#proc" class="uagb-toc-link__trigger">/proc</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#root" class="uagb-toc-link__trigger">/root</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#run" class="uagb-toc-link__trigger">/run</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#sbin" class="uagb-toc-link__trigger">/sbin</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#srv" class="uagb-toc-link__trigger">/srv</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#sys" class="uagb-toc-link__trigger">/sys</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#tmp" class="uagb-toc-link__trigger">/tmp</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#usr" class="uagb-toc-link__trigger">/usr</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#var" class="uagb-toc-link__trigger">/var</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#lostfound" class="uagb-toc-link__trigger">/lost+found</a></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">디렉터리 구조 표</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>디렉터리</th><th>용도</th><th>이름(어원/줄임말)</th></tr></thead><tbody><tr><td><code>/</code></td><td>파일 시스템 최상위 디렉터리, 모든 경로의 출발점</td><td>&#8211;</td></tr><tr><td><code>/bin</code></td><td>기본 명령어(binary) 저장소. 부팅/유저 작업에 필수적인 실행 파일</td><td>binary</td></tr><tr><td><code>/boot</code></td><td>부팅 관련 파일 저장. 커널, 초기 램디스크, 부트로더 설정 포함</td><td>boot</td></tr><tr><td><code>/dev</code></td><td>장치 파일 저장 (디스크, 터미널, 가상 장치 등)</td><td>device</td></tr><tr><td><code>/etc</code></td><td>시스템 설정 파일(전역 설정)</td><td>et cetera (원래 의미) / Editable Text Configuration (재해석)</td></tr><tr><td><code>/home</code></td><td>일반 사용자 홈 디렉터리</td><td>home directory</td></tr><tr><td><code>/lib</code>, <code>/lib64</code></td><td>실행 파일이 필요로 하는 공유 라이브러리</td><td>library</td></tr><tr><td><code>/media</code></td><td>USB, CD-ROM 등 이동식 미디어 자동 마운트 지점</td><td>media (removable media)</td></tr><tr><td><code>/mnt</code></td><td>관리자가 수동으로 마운트할 때 사용하는 임시 디렉터리</td><td>mount</td></tr><tr><td><code>/opt</code></td><td>선택적 소프트웨어 설치 경로</td><td>optional</td></tr><tr><td><code>/proc</code></td><td>가상 파일 시스템. 커널과 프로세스 상태 정보 제공</td><td>process</td></tr><tr><td><code>/root</code></td><td>root(관리자) 계정의 홈 디렉터리</td><td>root / superuser</td></tr><tr><td><code>/run</code></td><td>실행 중 생성되는 상태 파일 저장 (PID, 소켓 등)</td><td>runtime</td></tr><tr><td><code>/sbin</code></td><td>시스템 관리용 실행 파일</td><td>system binary</td></tr><tr><td><code>/srv</code></td><td>시스템 서비스 데이터 저장</td><td>service</td></tr><tr><td><code>/sys</code></td><td>커널 객체 정보 제공 가상 파일 시스템</td><td>system</td></tr><tr><td><code>/tmp</code></td><td>임시 파일 저장소</td><td>temporary</td></tr><tr><td><code>/usr</code></td><td>사용자 프로그램과 라이브러리 저장소</td><td>user / Unix System Resources</td></tr><tr><td><code>/var</code></td><td>가변 데이터 저장 (로그, 메일, 캐시 등)</td><td>variable</td></tr><tr><td><code>/lost+found</code></td><td>파일 시스템 손상 복구 시 fsck가 잃어버린 파일 조각을 모아두는 디렉터리</td><td>lost + found</td></tr></tbody></table></figure>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">각 디렉터리 상세 설명</h2>



<h3 class="wp-block-heading"><code>/</code></h3>



<p>리눅스에서 모든 파일과 디렉터리는 **루트 디렉터리 <code>/</code>**를 기준으로 계층 구조를 갖습니다. 모든 경로는 <code>/</code>에서 시작하며, Windows의 <code>C:\</code>와 비슷한 역할을 하지만, 드라이브 개념이 없고 모든 장치가 여기 아래로 마운트됩니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/bin</code></h3>



<p>시스템 부팅과 사용자 작업에 필수적인 <strong>기본 명령어</strong>가 저장됩니다.</p>



<p>예: <code>ls</code>, <code>cp</code>, <code>mv</code>, <code>cat</code>. 싱글 유저 모드에서도 실행 가능하도록 필수 명령어를 제공합니다.</p>



<ul class="wp-block-list">
<li><code>ls</code>, <code>cp</code>, <code>mv</code> &#8211; 파일 작업</li>



<li><code>cat</code>, <code>grep</code> &#8211; 텍스트 도구</li>



<li><code>bash</code> &#8211; 쉘(Shell)</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/boot</code></h3>



<p>부팅 관련 파일이 저장됩니다. </p>



<p>커널 파일(이미)(<code>vmlinuz</code>), 초기 램디스크(<code>initrd</code>/<code>initramfs</code>), 부트로더 설정(<code>grub.cfg</code>) 등이 포함되어 있으며, </p>



<p>부트로더(GRUB)는 이 파일들을 사용해 커널을 메모리에 올립니다.</p>



<p>GNU GRUB(Grand Unified Bootloader), <strong>커널 파일</strong> &#8211; 운영체제의 심장</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/dev</code></h3>



<p>시스템의 <strong>장치 파일</strong>을 모아두는 디렉터리입니다. </p>



<p>하드디스크, 터미널, 프린터, 가상 장치 등이 모두 파일로 표현됩니다. </p>



<p>예: <code>/dev/sda</code>는 첫 번째 디스크, <code>/dev/null</code>은 데이터를 버리는 장치입니다.</p>



<ul class="wp-block-list">
<li><code>/dev/sda1</code> &#8211; 하드 드라이브 파티션</li>



<li><code>/dev/null</code> &#8211; 데이터를 삼켜버리는 유명한 &#8220;블랙홀&#8221;</li>



<li><code>/dev/random</code> &#8211; 난수 생성기</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/etc</code></h3>



<p>시스템의 <strong>전역 설정 파일</strong>이 있는 디렉터리입니다. </p>



<p>리눅스 시스템의 설정 본부입니다. 모든 설정, 규칙, 시스템 기본 설정이 이곳에 저장됩니다.</p>



<p>초기에는 &#8220;et cetera&#8221;(잡다한 설정) 의미였으며, 현재는 시스템 설정을 담당합니다. </p>



<p>예: <code>/etc/passwd</code>(사용자 계정), <code>/etc/fstab</code>(파일 시스템 마운트 정보).</p>



<ul class="wp-block-list">
<li><strong>사용자 계정</strong> (<code>passwd</code>, <code>shadow</code>)</li>



<li><strong>네트워크 설정</strong> (<code>hosts</code>, <code>resolv.conf</code>)</li>



<li><strong>서비스 설정</strong> (SSH, Apache 등)</li>



<li><strong>시작 스크립트 및 시스템 규칙</strong></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/home</code></h3>



<p>일반 사용자들의 <strong>홈 디렉터리</strong>입니다. </p>



<p>각 사용자는 <code>/home/username</code> 디렉터리를 갖습니다. </p>



<p>root 계정은 <code>/root</code>를 사용합니다. 보안과 안정성을 위해 일반 사용자 폴더(<code>/home</code>)와 분리되어 있습니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/lib</code>, <code>/lib64</code></h3>



<p>실행 파일이 필요로 하는 <strong>공유 라이브러리</strong>를 저장합니다. </p>



<p><code>/bin</code>과 <code>/sbin</code> 프로그램들이 실행되기 위해 필요한 공통 함수들을 제공합니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/media</code></h3>



<p>USB, CD-ROM 등 <strong>이동식 미디어</strong>를 자동 마운트하는 디렉터리입니다. </p>



<p>사용자가 장치를 연결하면 시스템이 <code>/media</code> 아래에 장치를 자동으로 연결합니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/mnt</code></h3>



<p>관리자가 <strong>수동으로 장치를 마운트</strong>할 때 사용하는 임시 디렉터리입니다. 테스트용 외장 하드나 파티션 마운트 시 사용됩니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/opt</code></h3>



<p>선택적 소프트웨어를 설치하는 디렉터리입니다. </p>



<p>표준 레이아웃을 따르지 않는 상용 프로그램이나 독립 패키지를 <code>/opt</code> 아래에 설치하는 방식이 일반적입니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/proc</code></h3>



<p>가상 파일 시스템으로, 커널과 프로세스 상태 정보를 제공합니다. </p>



<p><code>/proc/cpuinfo</code>(CPU 정보), <code>/proc/meminfo</code>(메모리 사용 현황)처럼 실제 파일은 없고 커널이 동적으로 생성합니다.</p>



<ul class="wp-block-list">
<li><code>/proc/cpuinfo</code> &#8211; CPU 상세 정보</li>



<li><code>/proc/meminfo</code> &#8211; 메모리 사용량</li>



<li><code>/proc/[PID]/</code> &#8211; 실행 중인 프로세스 정보</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/root</code></h3>



<p>root(관리자) 계정의 <strong>홈 디렉터리</strong>입니다. 일반 사용자 홈 디렉터리는 <code>/home</code>에 있습니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/run</code></h3>



<p>실행 중 생성되는 <strong>상태 파일</strong>을 저장합니다. </p>



<p>예: 서비스 PID 파일, 소켓 파일, 현재 세션 정보 등&#8230;</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/sbin</code></h3>



<p>시스템 관리용 <strong>실행 파일</strong>을 저장합니다. </p>



<p>예: <code>fsck</code>, <code>reboot</code>, <code>ifconfig</code>. 일반 사용자는 주로 접근하지 않습니다.</p>



<ul class="wp-block-list">
<li><code>mount</code> &#8211; 파일시스템 마운트</li>



<li><code>iptables</code> &#8211; 방화벽 관리</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/srv</code></h3>



<p>시스템에서 제공하는 <strong>서비스 데이터</strong>를 담습니다. 예: 웹 서버의 웹 페이지 데이터 <code>/srv/www</code>.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/sys</code></h3>



<p>커널 객체 정보를 제공하는 <strong>가상 파일 시스템(sysfs)</strong>입니다. </p>



<p>하드웨어와 장치 드라이버 관련 정보를 확인하고 설정할 때 사용합니다.</p>



<p>커널 및 하드웨어 정보와 상호작용하는 더 새롭고 깔끔한 방식의 디렉토리입니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/tmp</code></h3>



<p><strong>임시 파일 저장소</strong>입니다.</p>



<p>프로그램 실행 중 생성되는 임시 데이터를 저장하며, <strong>시스템 재부팅 시 대부분 삭제</strong>됩니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/usr</code></h3>



<p>사용자 프로그램과 라이브러리 저장소입니다. </p>



<p>원래는 &#8220;user&#8221; 디렉터리였으나, 지금은 <strong>응용 프로그램, 라이브러리, 공유 데이터</strong>를 담습니다.</p>



<p><strong>U</strong>ser <strong>S</strong>ystem <strong>R</strong>esources의 약자로, 대부분의 프로그램이 설치되는 곳입니다.</p>



<ul class="wp-block-list">
<li><code>/usr/bin</code> &#8211; 사용자 프로그램 (Firefox, LibreOffice 등)</li>



<li><code>/usr/lib</code> &#8211; 프로그램 라이브러리</li>



<li><code>/usr/local</code> &#8211; 사용자가 직접 설치한 커스텀 소프트웨어</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/var</code></h3>



<p>끊임없이 변하는 가변 데이터를 저장하는 디렉터리입니다. </p>



<p>로그(<code>/var/log</code>), 메일, 캐시, 스풀, 데이터베이스 파일 등 수시로 변경되는 데이터를 저장합니다.</p>



<ul class="wp-block-list">
<li><code>/var/log</code> &#8211; 시스템 로그 (<strong>문제 해결의 보물창고!</strong>)</li>



<li><code>/var/cache</code> &#8211; 애플리케이션 캐시</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><code>/lost+found</code></h3>



<p>파일 시스템 손상 복구를 위해 존재합니다. <code>fsck</code> 실행 시 깨진 inode나 위치를 잃은 파일을 이곳에 모아 복구 작업에 사용합니다.</p>



<p></p>
<p>The post <a href="https://lycos7560.com/ubuntu/%eb%a6%ac%eb%88%85%ec%8a%a4-%ea%b8%b0%eb%b3%b8-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-linux-default-directory-structure/40290/">Linux Default Directory Structure (기본 디렉터리 구조)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/ubuntu/%eb%a6%ac%eb%88%85%ec%8a%a4-%ea%b8%b0%eb%b3%b8-%eb%94%94%eb%a0%89%ed%84%b0%eb%a6%ac-%ea%b5%ac%ec%a1%b0-linux-default-directory-structure/40290/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>MySQL 데이터베이스 &#038; 테이블 용량 확인</title>
		<link>https://lycos7560.com/etc/mysql-%eb%8d%b0%ec%9d%b4%ed%84%b0%eb%b2%a0%ec%9d%b4%ec%8a%a4-%ed%85%8c%ec%9d%b4%eb%b8%94-%ec%9a%a9%eb%9f%89-%ed%99%95%ec%9d%b8/40431/</link>
					<comments>https://lycos7560.com/etc/mysql-%eb%8d%b0%ec%9d%b4%ed%84%b0%eb%b2%a0%ec%9d%b4%ec%8a%a4-%ed%85%8c%ec%9d%b4%eb%b8%94-%ec%9a%a9%eb%9f%89-%ed%99%95%ec%9d%b8/40431/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Wed, 04 Feb 2026 20:16:04 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[개인 공부 저장용]]></category>
		<category><![CDATA[기타]]></category>
		<category><![CDATA[AWS_RDS]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[BackendDeveloper]]></category>
		<category><![CDATA[BigData]]></category>
		<category><![CDATA[CloudDatabase]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[DataAnalysis]]></category>
		<category><![CDATA[DataBase]]></category>
		<category><![CDATA[DatabaseEngineer]]></category>
		<category><![CDATA[DatabaseHealth]]></category>
		<category><![CDATA[DatabaseOptimization]]></category>
		<category><![CDATA[DatabaseSize]]></category>
		<category><![CDATA[DatabaseStorage]]></category>
		<category><![CDATA[DatabaseTuning]]></category>
		<category><![CDATA[DataCleanup]]></category>
		<category><![CDATA[DataFree]]></category>
		<category><![CDATA[DataLength]]></category>
		<category><![CDATA[DataManagement]]></category>
		<category><![CDATA[DataStructure]]></category>
		<category><![CDATA[DataUsage]]></category>
		<category><![CDATA[DBA]]></category>
		<category><![CDATA[DBMS]]></category>
		<category><![CDATA[DBPerformance]]></category>
		<category><![CDATA[DBStatistics]]></category>
		<category><![CDATA[DB관리]]></category>
		<category><![CDATA[DB단편화]]></category>
		<category><![CDATA[DB모니터링]]></category>
		<category><![CDATA[DB상태체크]]></category>
		<category><![CDATA[DB용량확인]]></category>
		<category><![CDATA[DB튜닝]]></category>
		<category><![CDATA[DeveloperLife]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DiskUsage]]></category>
		<category><![CDATA[Efficiency]]></category>
		<category><![CDATA[Fragmentation]]></category>
		<category><![CDATA[Indexing]]></category>
		<category><![CDATA[IndexSize]]></category>
		<category><![CDATA[InformationDesign]]></category>
		<category><![CDATA[InformationSchema]]></category>
		<category><![CDATA[Insight]]></category>
		<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[Metrics]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[OptimizeTable]]></category>
		<category><![CDATA[PerformanceTuning]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[QueryOptimization]]></category>
		<category><![CDATA[QueryPerformance]]></category>
		<category><![CDATA[QueryTips]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[RelationalDatabase]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[ServerManagement]]></category>
		<category><![CDATA[ServerSide]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQLQuery]]></category>
		<category><![CDATA[SQLTutorial]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[SystemAdministration]]></category>
		<category><![CDATA[TableRows]]></category>
		<category><![CDATA[TableSize]]></category>
		<category><![CDATA[TechnicalPost]]></category>
		<category><![CDATA[TechStack]]></category>
		<category><![CDATA[WebDevelopment]]></category>
		<category><![CDATA[개발자일상]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[관계형데이터베이스]]></category>
		<category><![CDATA[기술블로그]]></category>
		<category><![CDATA[기초]]></category>
		<category><![CDATA[데브옵스]]></category>
		<category><![CDATA[데이터구조]]></category>
		<category><![CDATA[데이터베이스]]></category>
		<category><![CDATA[데이터베이스기초]]></category>
		<category><![CDATA[데이터분석]]></category>
		<category><![CDATA[데이터사용량]]></category>
		<category><![CDATA[데이터정리]]></category>
		<category><![CDATA[디스크사용량]]></category>
		<category><![CDATA[마리아DB]]></category>
		<category><![CDATA[백엔드]]></category>
		<category><![CDATA[백엔드개발자]]></category>
		<category><![CDATA[빅데이터]]></category>
		<category><![CDATA[서버관리]]></category>
		<category><![CDATA[서버사이드]]></category>
		<category><![CDATA[성능최적화]]></category>
		<category><![CDATA[시스템관리]]></category>
		<category><![CDATA[용량최적화]]></category>
		<category><![CDATA[웹개발]]></category>
		<category><![CDATA[유지보수]]></category>
		<category><![CDATA[인덱스용량]]></category>
		<category><![CDATA[인덱싱]]></category>
		<category><![CDATA[인사이트]]></category>
		<category><![CDATA[인포메이션스키마]]></category>
		<category><![CDATA[정보설계]]></category>
		<category><![CDATA[지표분석]]></category>
		<category><![CDATA[최적화]]></category>
		<category><![CDATA[코딩]]></category>
		<category><![CDATA[쿼리꿀팁]]></category>
		<category><![CDATA[쿼리최적화]]></category>
		<category><![CDATA[클라우드DB]]></category>
		<category><![CDATA[테이블용량]]></category>
		<category><![CDATA[프로그래밍]]></category>
		<category><![CDATA[행개수]]></category>
		<category><![CDATA[확장성]]></category>
		<category><![CDATA[효율성]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40431</guid>

					<description><![CDATA[<p>1. 모든 데이터베이스별 총 용량 확인 현재 서버에 있는 모든 DB의 크기를 한눈에 비교하고 싶을 때 사용합니다. 용량이 큰 순서대로 정렬되어 출력됩니다. 2. 특정 데이터베이스 내의 테이블별 용량 상세 확인 &#8220;어떤 테이블이 용량을 다 잡아먹고 있지?&#8221;라는 궁금증이 생겼을 때 사용합니다. 데이터 크기와 인덱스 크기를 구분해서 보여줍니다. 데이터 크기와 인덱스 크기를 구분 3. 전체 서버의 총 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/etc/mysql-%eb%8d%b0%ec%9d%b4%ed%84%b0%eb%b2%a0%ec%9d%b4%ec%8a%a4-%ed%85%8c%ec%9d%b4%eb%b8%94-%ec%9a%a9%eb%9f%89-%ed%99%95%ec%9d%b8/40431/">MySQL 데이터베이스 &amp; 테이블 용량 확인</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-37ada8aa      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1-모든-데이터베이스별-총-용량-확인" class="uagb-toc-link__trigger">1. 모든 데이터베이스별 총 용량 확인</a><li class="uagb-toc__list"><a href="#2-특정-데이터베이스-내의-테이블별-용량-상세-확인" class="uagb-toc-link__trigger">2. 특정 데이터베이스 내의 테이블별 용량 상세 확인</a><li class="uagb-toc__list"><a href="#3-전체-서버의-총-합계-용량-확인" class="uagb-toc-link__trigger">3. 전체 서버의 총 합계 용량 확인</a><li class="uagb-toc__list"><a href="#4-참고" class="uagb-toc-link__trigger">4. 참고</a></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">1. 모든 데이터베이스별 총 용량 확인</h2>



<p>현재 서버에 있는 <strong>모든 DB의 크기를 한눈에 비교</strong>하고 싶을 때 사용합니다. </p>



<p>용량이 큰 순서대로 정렬되어 출력됩니다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">SELECT 
    table_schema AS 'Database Name',
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size (MB)',
    ROUND(SUM(data_free) / 1024 / 1024, 2) AS 'Free Space (MB)'
FROM 
    information_schema.tables
GROUP BY 
    table_schema
ORDER BY 
    (SUM(data_length + index_length)) DESC;</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">2. 특정 데이터베이스 내의 테이블별 용량 상세 확인</h2>



<p>&#8220;어떤 테이블이 용량을 다 잡아먹고 있지?&#8221;라는 궁금증이 생겼을 때 사용합니다. </p>



<p><strong>데이터 크기와 인덱스 크기를 구분</strong>해서 보여줍니다.</p>



<p><strong>데이터 크기와 인덱스 크기를 구분</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">SELECT 
    table_name AS 'Table Name',
    table_rows AS 'Total Rows',
    ROUND(data_length / 1024 / 1024, 2) AS 'Data Size (MB)',
    ROUND(index_length / 1024 / 1024, 2) AS 'Index Size (MB)',
    ROUND((data_length + index_length) / 1024 / 1024, 2) AS 'Total Size (MB)'
FROM 
    information_schema.tables
WHERE 
    table_schema = '데이터베이스명' -- 여기에 DB 이름 입력
ORDER BY 
    (data_length + index_length) DESC;</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">3. 전체 서버의 총 합계 용량 확인</h2>



<p>서버 전체에서 <strong>MySQL이 사용하는 총 디스크 용량</strong>만 깔끔하게 보고 싶을 때 유용합니다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">SELECT 
    ROUND(SUM(data_length + index_length) / 1024 / 1024 / 1024, 2) AS 'Total Global Size (GB)'
FROM 
    information_schema.tables;</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">4. 참고</h2>



<ul class="wp-block-list">
<li><strong>data_length</strong>: 실제 데이터가 들어있는 물리적 크기입니다.</li>



<li><strong>index_length</strong>: 인덱스(색인)가 차지하는 크기입니다. 데이터는 적은데 인덱스가 너무 크면 최적화(<code>OPTIMIZE TABLE</code>)를 고려해야 합니다.</li>



<li><strong>data_free</strong>: <code>DELETE</code> 등으로 삭제된 행이 차지하던 &#8216;비어있는 공간&#8217;입니다. 이 값이 너무 크면 디스크 공간 낭비가 심하다는 뜻입니다.</li>
</ul>



<p></p>
<p>The post <a href="https://lycos7560.com/etc/mysql-%eb%8d%b0%ec%9d%b4%ed%84%b0%eb%b2%a0%ec%9d%b4%ec%8a%a4-%ed%85%8c%ec%9d%b4%eb%b8%94-%ec%9a%a9%eb%9f%89-%ed%99%95%ec%9d%b8/40431/">MySQL 데이터베이스 &amp; 테이블 용량 확인</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/etc/mysql-%eb%8d%b0%ec%9d%b4%ed%84%b0%eb%b2%a0%ec%9d%b4%ec%8a%a4-%ed%85%8c%ec%9d%b4%eb%b8%94-%ec%9a%a9%eb%9f%89-%ed%99%95%ec%9d%b8/40431/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MySQL 사용자 관리 명령어 (Ubuntu)</title>
		<link>https://lycos7560.com/ubuntu/mysql-%ec%82%ac%ec%9a%a9%ec%9e%90-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4-ubuntu/40258/</link>
					<comments>https://lycos7560.com/ubuntu/mysql-%ec%82%ac%ec%9a%a9%ec%9e%90-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4-ubuntu/40258/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Mon, 26 Jan 2026 07:08:55 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[기타]]></category>
		<category><![CDATA[127.0.0.1]]></category>
		<category><![CDATA[alter_user]]></category>
		<category><![CDATA[bind-address]]></category>
		<category><![CDATA[create_user]]></category>
		<category><![CDATA[DBA]]></category>
		<category><![CDATA[drop_user]]></category>
		<category><![CDATA[flush_privileges]]></category>
		<category><![CDATA[grant명령어]]></category>
		<category><![CDATA[IP주소]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysql_secure_installation]]></category>
		<category><![CDATA[mysql_upgrade]]></category>
		<category><![CDATA[mysql.user]]></category>
		<category><![CDATA[mysqld_safe]]></category>
		<category><![CDATA[mysqld.cnf]]></category>
		<category><![CDATA[RBAC]]></category>
		<category><![CDATA[revoke명령어]]></category>
		<category><![CDATA[root계정]]></category>
		<category><![CDATA[set_password]]></category>
		<category><![CDATA[show_grants]]></category>
		<category><![CDATA[skip-grant-tables]]></category>
		<category><![CDATA[SQL인젝션방지]]></category>
		<category><![CDATA[systemctl]]></category>
		<category><![CDATA[tail명령어]]></category>
		<category><![CDATA[ufw]]></category>
		<category><![CDATA[with_grant_option]]></category>
		<category><![CDATA[감사로그]]></category>
		<category><![CDATA[계정관리]]></category>
		<category><![CDATA[계정잠금]]></category>
		<category><![CDATA[구조변경권한]]></category>
		<category><![CDATA[권한부여]]></category>
		<category><![CDATA[권한상속]]></category>
		<category><![CDATA[권한설정]]></category>
		<category><![CDATA[권한테이블]]></category>
		<category><![CDATA[기초]]></category>
		<category><![CDATA[네트워크보안]]></category>
		<category><![CDATA[네트워크설정]]></category>
		<category><![CDATA[데이터베이스]]></category>
		<category><![CDATA[데이터베이스관리자]]></category>
		<category><![CDATA[데이터베이스생성]]></category>
		<category><![CDATA[데이터베이스연결]]></category>
		<category><![CDATA[데이터보안]]></category>
		<category><![CDATA[데이터조작권한]]></category>
		<category><![CDATA[동시접속]]></category>
		<category><![CDATA[로그확인]]></category>
		<category><![CDATA[로컬접속]]></category>
		<category><![CDATA[리눅스]]></category>
		<category><![CDATA[만료설정]]></category>
		<category><![CDATA[모니터링]]></category>
		<category><![CDATA[문제해결]]></category>
		<category><![CDATA[바인드주소]]></category>
		<category><![CDATA[방화벽]]></category>
		<category><![CDATA[백업사용자]]></category>
		<category><![CDATA[보안강화]]></category>
		<category><![CDATA[보안설정]]></category>
		<category><![CDATA[부팅시자동시작]]></category>
		<category><![CDATA[뷰권한]]></category>
		<category><![CDATA[비밀번호변경]]></category>
		<category><![CDATA[사용자관리]]></category>
		<category><![CDATA[사용자삭제]]></category>
		<category><![CDATA[사용자생성]]></category>
		<category><![CDATA[상태확인]]></category>
		<category><![CDATA[서버관리]]></category>
		<category><![CDATA[서비스시작]]></category>
		<category><![CDATA[서비스재시작]]></category>
		<category><![CDATA[서비스중지]]></category>
		<category><![CDATA[설정파일]]></category>
		<category><![CDATA[성능튜닝]]></category>
		<category><![CDATA[스키마관리]]></category>
		<category><![CDATA[시스템관리]]></category>
		<category><![CDATA[안전모드]]></category>
		<category><![CDATA[암호화]]></category>
		<category><![CDATA[에러로그]]></category>
		<category><![CDATA[역할기반접근제어]]></category>
		<category><![CDATA[연결제한]]></category>
		<category><![CDATA[와일드카드]]></category>
		<category><![CDATA[우분투]]></category>
		<category><![CDATA[원격접속]]></category>
		<category><![CDATA[웹애플리케이션]]></category>
		<category><![CDATA[이벤트권한]]></category>
		<category><![CDATA[인덱스권한]]></category>
		<category><![CDATA[인증]]></category>
		<category><![CDATA[일반사용자]]></category>
		<category><![CDATA[읽기전용]]></category>
		<category><![CDATA[접근로그]]></category>
		<category><![CDATA[접근제어]]></category>
		<category><![CDATA[접속설정]]></category>
		<category><![CDATA[최소권한원칙]]></category>
		<category><![CDATA[커넥션풀]]></category>
		<category><![CDATA[컬럼권한]]></category>
		<category><![CDATA[쿼리권한]]></category>
		<category><![CDATA[쿼리제한]]></category>
		<category><![CDATA[테이블권한]]></category>
		<category><![CDATA[테이블복구]]></category>
		<category><![CDATA[테이블생성권한]]></category>
		<category><![CDATA[트리거권한]]></category>
		<category><![CDATA[특권사용자]]></category>
		<category><![CDATA[패스워드정책]]></category>
		<category><![CDATA[퍼센트기호]]></category>
		<category><![CDATA[포트설정]]></category>
		<category><![CDATA[프로시저권한]]></category>
		<category><![CDATA[함수권한]]></category>
		<category><![CDATA[호스트설정]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40258</guid>

					<description><![CDATA[<p>MySQL 서비스 상태 확인 및 관리 MySQL 접속 로컬 접속 원격 접속 사용자 계정 관리 사용자 생성 사용자 목록 조회 사용자 삭제 계정 잠금/해제 웹 애플리케이션용 사용자 생성 읽기 전용 사용자 생성 백업 전용 사용자 생성 비밀번호 관리 비밀번호 변경 root 비밀번호 초기화 권한 관리 권한 부여 권한 조회 권한 제거 권한 적용 주요 권한 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/ubuntu/mysql-%ec%82%ac%ec%9a%a9%ec%9e%90-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4-ubuntu/40258/">MySQL 사용자 관리 명령어 (Ubuntu)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-06e23be1      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#mysql-서비스-상태-확인-및-관리" class="uagb-toc-link__trigger">MySQL 서비스 상태 확인 및 관리</a><li class="uagb-toc__list"><a href="#mysql-접속" class="uagb-toc-link__trigger">MySQL 접속</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#로컬-접속" class="uagb-toc-link__trigger">로컬 접속</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#원격-접속" class="uagb-toc-link__trigger">원격 접속</a></li></ul></li><li class="uagb-toc__list"><a href="#사용자-계정-관리" class="uagb-toc-link__trigger">사용자 계정 관리</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#사용자-생성" class="uagb-toc-link__trigger">사용자 생성</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#사용자-목록-조회" class="uagb-toc-link__trigger">사용자 목록 조회</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#사용자-삭제" class="uagb-toc-link__trigger">사용자 삭제</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#계정-잠금해제" class="uagb-toc-link__trigger">계정 잠금/해제</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#웹-애플리케이션용-사용자-생성" class="uagb-toc-link__trigger">웹 애플리케이션용 사용자 생성</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#읽기-전용-사용자-생성" class="uagb-toc-link__trigger">읽기 전용 사용자 생성</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#백업-전용-사용자-생성" class="uagb-toc-link__trigger">백업 전용 사용자 생성</a></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#비밀번호-관리" class="uagb-toc-link__trigger">비밀번호 관리</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#비밀번호-변경" class="uagb-toc-link__trigger">비밀번호 변경</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#root-비밀번호-초기화" class="uagb-toc-link__trigger">root 비밀번호 초기화</a></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#권한-관리" class="uagb-toc-link__trigger">권한 관리</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#권한-부여" class="uagb-toc-link__trigger">권한 부여</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#권한-조회" class="uagb-toc-link__trigger">권한 조회</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#권한-제거" class="uagb-toc-link__trigger">권한 제거</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#권한-적용" class="uagb-toc-link__trigger">권한 적용</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#주요-권한-종류" class="uagb-toc-link__trigger">주요 권한 종류</a></ul></ul></ul></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">MySQL 서비스 상태 확인 및 관리</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 서비스 상태 확인
sudo systemctl status mysql

# MySQL 서비스 시작
sudo systemctl start mysql

# MySQL 서비스 중지
sudo systemctl stop mysql

# MySQL 서비스 재시작
sudo systemctl restart mysql

# 부팅 시 자동 시작 설정
sudo systemctl enable mysql

# 자동 시작 해제
sudo systemctl disable mysql</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">MySQL 접속</h2>



<h3 class="wp-block-heading">로컬 접속</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># root 사용자로 접속
sudo mysql -u root -p

# 특정 사용자로 접속
mysql -u username -p

# 데이터베이스 지정하여 접속
mysql -u username -p database_name</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">원격 접속</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 원격 서버 접속
mysql -h hostname_or_ip -u username -p

# 포트 지정 접속
mysql -h hostname_or_ip -P 3306 -u username -p</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">사용자 계정 관리</h2>



<h3 class="wp-block-heading">사용자 생성</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 로컬 접속만 허용하는 사용자 생성
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

-- 특정 IP에서만 접속 허용
CREATE USER 'username'@'192.168.1.100' IDENTIFIED BY 'password';

-- 특정 도메인에서만 접속 허용
CREATE USER 'username'@'%.example.com' IDENTIFIED BY 'password';

-- 모든 호스트에서 접속 허용 (보안상 주의)
CREATE USER 'username'@'%' IDENTIFIED BY 'password';

-- 패스워드 없는 사용자 생성
CREATE USER 'username'@'localhost';</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">사용자 목록 조회</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 모든 사용자 조회
SELECT user, host FROM mysql.user;

-- 특정 사용자 조회
SELECT user, host FROM mysql.user WHERE user = 'username';

-- 현재 접속 중인 사용자 확인
SELECT USER();
SELECT CURRENT_USER();

-- 사용자의 권한 정보와 함께 조회
SELECT user, host, password_expired, account_locked FROM mysql.user;</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">사용자 삭제</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 사용자 삭제
DROP USER 'username'@'host';

-- 여러 사용자 동시 삭제
DROP USER 'user1'@'localhost', 'user2'@'%';

-- 존재하지 않을 수도 있는 사용자 삭제 (에러 방지)
DROP USER IF EXISTS 'username'@'localhost';</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">계정 잠금/해제</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 계정 잠금
ALTER USER 'username'@'host' ACCOUNT LOCK;

-- 계정 해제
ALTER USER 'username'@'host' ACCOUNT UNLOCK;

-- 잠금 상태 확인
SELECT user, host, account_locked FROM mysql.user WHERE user = 'username';</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">웹 애플리케이션용 사용자 생성</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 데이터베이스 생성
CREATE DATABASE webapp_db;

-- 사용자 생성 및 권한 부여
CREATE USER 'webapp_user'@'localhost' IDENTIFIED BY 'secure_password123';
GRANT SELECT, INSERT, UPDATE, DELETE ON webapp_db.* TO 'webapp_user'@'localhost';
FLUSH PRIVILEGES;</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">읽기 전용 사용자 생성</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 읽기 전용 사용자
CREATE USER 'readonly_user'@'%' IDENTIFIED BY 'readonly_password';
GRANT SELECT ON *.* TO 'readonly_user'@'%';
FLUSH PRIVILEGES;</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">백업 전용 사용자 생성</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 백업 사용자 생성
CREATE USER 'backup_user'@'localhost' IDENTIFIED BY 'backup_password';
GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'backup_user'@'localhost';
FLUSH PRIVILEGES;</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">비밀번호 관리</h2>



<h3 class="wp-block-heading">비밀번호 변경</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 현재 사용자의 비밀번호 변경
ALTER USER USER() IDENTIFIED BY 'new_password';

-- 특정 사용자의 비밀번호 변경 (MySQL 8.0 이상 권장)
ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';

-- 이전 버전의 MySQL
SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password');</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">root 비밀번호 초기화</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 1. MySQL 서비스 중지
sudo systemctl stop mysql

# 2. 권한 테이블 없이 MySQL 시작
sudo mysqld_safe --skip-grant-tables &amp;

# 3. root로 비밀번호 없이 접속
mysql -u root

# 4. MySQL 내부에서 비밀번호 변경 (MySQL 8.0 기준)
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

# 5. MySQL 종료 후 정상 재시작
mysql> exit
sudo systemctl restart mysql</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">권한 관리</h2>



<h3 class="wp-block-heading">권한 부여</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 모든 데이터베이스 목록 보기
SHOW DATABASES;

-- 특정 사용자의 권한이 있는 데이터베이스 확인
SHOW GRANTS FOR 'username'@'host';

-- 모든 데이터베이스에 모든 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'username'@'host';

-- 특정 데이터베이스에 모든 권한 부여
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';

-- 특정 테이블에 권한 부여
GRANT SELECT, INSERT, UPDATE ON database_name.table_name TO 'username'@'host';

-- 읽기 전용 권한
GRANT SELECT ON database_name.* TO 'username'@'host';

-- 특정 컬럼에만 권한 부여
GRANT SELECT (column1, column2) ON database_name.table_name TO 'username'@'host';

-- WITH GRANT OPTION (다른 사용자에게 권한 부여 가능)
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host' WITH GRANT OPTION;</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">권한 조회</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 특정 사용자의 권한 조회
SHOW GRANTS FOR 'username'@'host';

-- 현재 사용자의 권한 조회
SHOW GRANTS;

-- 모든 사용자의 권한 요약
SELECT user, host, Select_priv, Insert_priv, Update_priv, Delete_priv 
FROM mysql.user;</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">권한 제거</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 특정 권한 제거
REVOKE INSERT, UPDATE ON database_name.* FROM 'username'@'host';

-- 모든 권한 제거
REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'host';

-- GRANT OPTION 제거
REVOKE GRANT OPTION ON database_name.* FROM 'username'@'host';</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">권한 적용</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">-- 권한 변경사항 즉시 적용
-- 권한 관련 오류 시 권한 테이블 새로고침
FLUSH PRIVILEGES;</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">주요 권한 종류</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>권한</th><th>설명</th></tr></thead><tbody><tr><td>ALL PRIVILEGES</td><td>모든 권한</td></tr><tr><td>SELECT</td><td>데이터 조회</td></tr><tr><td>INSERT</td><td>데이터 삽입</td></tr><tr><td>UPDATE</td><td>데이터 수정</td></tr><tr><td>DELETE</td><td>데이터 삭제</td></tr><tr><td>CREATE</td><td>테이블/데이터베이스 생성</td></tr><tr><td>DROP</td><td>테이블/데이터베이스 삭제</td></tr><tr><td>ALTER</td><td>테이블 구조 변경</td></tr><tr><td>INDEX</td><td>인덱스 생성/삭제</td></tr><tr><td>LOCK TABLES</td><td>테이블 잠금</td></tr><tr><td>CREATE USER</td><td>사용자 생성</td></tr><tr><td>RELOAD</td><td>권한 새로고침</td></tr><tr><td>SHUTDOWN</td><td>서버 종료</td></tr></tbody></table></figure>



<p></p>



<p></p>



<p></p>



<p></p>
<p>The post <a href="https://lycos7560.com/ubuntu/mysql-%ec%82%ac%ec%9a%a9%ec%9e%90-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4-ubuntu/40258/">MySQL 사용자 관리 명령어 (Ubuntu)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/ubuntu/mysql-%ec%82%ac%ec%9a%a9%ec%9e%90-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4-ubuntu/40258/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Nginx + Apache / Reverse Proxy</title>
		<link>https://lycos7560.com/ubuntu/nginx-apache-reverse-proxy/40373/</link>
					<comments>https://lycos7560.com/ubuntu/nginx-apache-reverse-proxy/40373/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Fri, 05 Dec 2025 12:18:49 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[기타]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[127.0.0.1]]></category>
		<category><![CDATA[301 redirect]]></category>
		<category><![CDATA[502 bad gateway]]></category>
		<category><![CDATA[a2dissite]]></category>
		<category><![CDATA[a2ensite]]></category>
		<category><![CDATA[access log]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[apache configuration]]></category>
		<category><![CDATA[apache modules]]></category>
		<category><![CDATA[apache reload]]></category>
		<category><![CDATA[apache virtualhost]]></category>
		<category><![CDATA[application server]]></category>
		<category><![CDATA[auto renewal]]></category>
		<category><![CDATA[Backend Server]]></category>
		<category><![CDATA[Caching Strategy]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Certbot]]></category>
		<category><![CDATA[Certificate Management]]></category>
		<category><![CDATA[connection pooling]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Decryption]]></category>
		<category><![CDATA[deny rules]]></category>
		<category><![CDATA[document root]]></category>
		<category><![CDATA[domain configuration]]></category>
		<category><![CDATA[downstream server]]></category>
		<category><![CDATA[dynamic content]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[error log]]></category>
		<category><![CDATA[file protection]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[frontend server]]></category>
		<category><![CDATA[gzip compression]]></category>
		<category><![CDATA[Header Manipulation]]></category>
		<category><![CDATA[host header]]></category>
		<category><![CDATA[HSTS]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[http to https]]></category>
		<category><![CDATA[HTTP2]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[https redirect]]></category>
		<category><![CDATA[internal port]]></category>
		<category><![CDATA[KeepAlive]]></category>
		<category><![CDATA[lamp stack]]></category>
		<category><![CDATA[lemp stack]]></category>
		<category><![CDATA[let's encrypt]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Load Balancing]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[location block]]></category>
		<category><![CDATA[Log Analysis]]></category>
		<category><![CDATA[mixed content]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[nginx configuration]]></category>
		<category><![CDATA[nginx modules]]></category>
		<category><![CDATA[nginx reload]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[permanent redirect]]></category>
		<category><![CDATA[php processing]]></category>
		<category><![CDATA[port configuration]]></category>
		<category><![CDATA[port forwarding]]></category>
		<category><![CDATA[port forwarding configuration]]></category>
		<category><![CDATA[proxy buffer]]></category>
		<category><![CDATA[proxy headers]]></category>
		<category><![CDATA[proxy pass]]></category>
		<category><![CDATA[proxy redirect]]></category>
		<category><![CDATA[proxy set header]]></category>
		<category><![CDATA[real ip]]></category>
		<category><![CDATA[redirect loop]]></category>
		<category><![CDATA[regex location]]></category>
		<category><![CDATA[remote addr]]></category>
		<category><![CDATA[Request Forwarding]]></category>
		<category><![CDATA[Reverse Proxy]]></category>
		<category><![CDATA[scheme forwarding]]></category>
		<category><![CDATA[security headers]]></category>
		<category><![CDATA[seo optimization]]></category>
		<category><![CDATA[server block]]></category>
		<category><![CDATA[Server Configuration]]></category>
		<category><![CDATA[server management]]></category>
		<category><![CDATA[server name]]></category>
		<category><![CDATA[server optimization]]></category>
		<category><![CDATA[sites-available]]></category>
		<category><![CDATA[sites-enabled]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[ssl certificate]]></category>
		<category><![CDATA[SSL Termination]]></category>
		<category><![CDATA[Static Files]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[symbolic link]]></category>
		<category><![CDATA[systemctl]]></category>
		<category><![CDATA[TLS]]></category>
		<category><![CDATA[tls termination]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[upstream server]]></category>
		<category><![CDATA[virtual host]]></category>
		<category><![CDATA[web architecture]]></category>
		<category><![CDATA[web hosting]]></category>
		<category><![CDATA[Web Performance]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[web stack]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress security]]></category>
		<category><![CDATA[wp-config]]></category>
		<category><![CDATA[x-content-type-options]]></category>
		<category><![CDATA[x-forwarded-for]]></category>
		<category><![CDATA[x-forwarded-proto]]></category>
		<category><![CDATA[X-Frame-Options]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[기초]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40373</guid>

					<description><![CDATA[<p>Nginx를 리버스 프록시로, Apache를 백엔드 웹서버로 사용하는 구성 방법 Nginx가 SSL/TLS 처리와 클라이언트 요청을 담당하고, Apache는 WordPress 애플리케이션을 실행 아키텍처 구조 1. WordPress 설정 파일 위치 wp-config.php (WordPress 루트 디렉토리) 설정 목적 Nginx 리버스 프록시 환경에서 WordPress가 HTTPS를 올바르게 인식하도록 설정 코드 추가 위치 /* That's all, stop editing! Happy blogging. */ 주석 위에 다음 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/ubuntu/nginx-apache-reverse-proxy/40373/">Nginx + Apache / Reverse Proxy</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>


				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-ad566142      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#아키텍처-구조" class="uagb-toc-link__trigger">아키텍처 구조</a><li class="uagb-toc__list"><a href="#1-wordpress-설정" class="uagb-toc-link__trigger">1. WordPress 설정</a><li class="uagb-toc__list"><a href="#2-nginx-설정" class="uagb-toc-link__trigger">2. Nginx 설정</a><li class="uagb-toc__list"><a href="#3-apache-설정" class="uagb-toc-link__trigger">3. Apache 설정</a><li class="uagb-toc__list"><a href="#4-전체-설정-흐름" class="uagb-toc-link__trigger">4. 전체 설정 흐름</a><li class="uagb-toc__list"><a href="#5-트러블슈팅" class="uagb-toc-link__trigger">5. 트러블슈팅</a><li class="uagb-toc__list"><a href="#6-보안-체크리스트" class="uagb-toc-link__trigger">6. 보안 체크리스트</a><li class="uagb-toc__list"><a href="#7-성능-최적화-팁" class="uagb-toc-link__trigger">7. 성능 최적화 팁</a><li class="uagb-toc__list"><a href="#참고-사항" class="uagb-toc-link__trigger">참고 사항</a></ol>					</div>
									</div>
				</div>
			


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Nginx를 리버스 프록시로, Apache를 백엔드 웹서버로 사용하는 구성 방법</p>



<p>Nginx가 SSL/TLS 처리와 클라이언트 요청을 담당하고, Apache는 WordPress 애플리케이션을 실행</p>



<ul class="wp-block-list">
<li><strong>Nginx</strong>: <br>&#8211; 정적 파일(이미지, CSS, JS) 처리에 매우 빠르고 동시 접속 처리에 강함<br>&#8211; Nginx는 Apache보다 훨씬 적은 메모리 사용<br>&#8211; Nginx는 이벤트 기반 구조로 수천 개의 동시 연결을 적은 리소스로 처리</li>



<li><strong>Apache</strong>: PHP 처리와 .htaccess 지원이 우수하고, WordPress 같은 PHP 애플리케이션과 호환성이 좋음</li>
</ul>



<h2 class="wp-block-heading">아키텍처 구조</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">클라이언트 → Nginx (80/443포트) → Apache (5050포트) → WordPress
           ↓
      SSL/TLS 처리
      HTTPS 강제
</pre>



<hr class="wp-block-separator has-alpha-channel-opacity" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">1. WordPress 설정</h2>



<h3 class="wp-block-heading">파일 위치</h3>



<p><code>wp-config.php</code> (WordPress 루트 디렉토리)</p>



<h3 class="wp-block-heading">설정 목적</h3>



<p>Nginx 리버스 프록시 환경에서 WordPress가 HTTPS를 올바르게 인식하도록 설정</p>



<h3 class="wp-block-heading">코드 추가 위치</h3>



<p><code>/* That's all, stop editing! Happy blogging. */</code> 주석 <strong>위에</strong> 다음 코드를 추가</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">// Nginx 리버스 프록시 환경에서 HTTPS를 강제 인식시키는 코드
if (
    (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &amp;&amp; $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') ||
    (isset($_SERVER['HTTP_X_FORWARDED_SSL']) &amp;&amp; $_SERVER['HTTP_X_FORWARDED_SSL'] === 'on')
) {
    $_SERVER['HTTPS'] = 'on';
}
</pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">설명</h3>



<ul class="wp-block-list">
<li>Nginx가 전달하는 <code>X-Forwarded-Proto</code> 헤더를 확인</li>



<li>HTTPS 요청임을 감지하면 <code>$_SERVER['HTTPS']</code>를 <code>'on'</code>으로 설정</li>



<li>WordPress의 리다이렉트 루프 및 Mixed Content 문제 해결</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">2. Nginx 설정</h2>



<h3 class="wp-block-heading">파일 위치</h3>



<p><code>/etc/nginx/sites-available/test.conf</code></p>



<h3 class="wp-block-heading">주요 명령어</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 문법 검사
sudo nginx -t

# 설정 활성화 (심볼릭 링크 생성)
sudo ln -s /etc/nginx/sites-available/test.conf /etc/nginx/sites-enabled/

# 설정 비활성화 (심볼릭 링크 제거)
sudo rm /etc/nginx/sites-enabled/test.conf

# Nginx 상태 확인
sudo systemctl status nginx

# Nginx 재시작
sudo systemctl restart nginx
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">설정 구조</h3>



<h4 class="wp-block-heading">(1) HTTP → HTTPS 리다이렉트 (포트 80)</h4>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">server {
    listen 80;
    listen [::]:80;
    server_name test.com www.test.com;

    # 모든 HTTP 요청을 HTTPS로 301 영구 이동
    return 301 https://$host$request_uri;
}
</pre>



<p><strong>기능:</strong></p>



<ul class="wp-block-list">
<li>모든 HTTP 요청을 HTTPS로 강제 리다이렉트</li>



<li>SEO 및 보안 향상</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">(2) HTTPS 요청 처리 및 프록시 (포트 443)</h4>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name test.com www.test.com;

    # SSL/TLS 인증서 설정 (Let's Encrypt)
    ssl_certificate /etc/letsencrypt/live/test.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/test.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;

    # 보안 헤더 설정
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
    add_header X-Content-Type-Options nosniff always;
    add_header X-Frame-Options SAMEORIGIN always;

    # Apache로 프록시
    location / {
        proxy_pass http://127.0.0.1:5050;
        
        # 클라이언트 원본 정보 전달
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        
        # HTTPS 정보 전달 (필수)
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port 443;
        
        proxy_redirect off;
    }

    # .ht 파일 보안 차단
    location ~ /\.ht {
        deny all;
    }
}
</pre>



<p><strong>주요 기능:</strong></p>



<ul class="wp-block-list">
<li><strong>SSL/TLS 처리</strong>: Nginx가 HTTPS 암호화/복호화 담당</li>



<li><strong>보안 헤더</strong>: HSTS, XSS 보호, 클릭재킹 방지</li>



<li><strong>프록시 헤더</strong>: Apache가 실제 클라이언트 정보를 알 수 있도록 전달</li>



<li><strong>X-Forwarded-Proto</strong>: WordPress가 HTTPS를 인식하는 데 필수</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)"/>



<h2 class="wp-block-heading">3. Apache 설정</h2>



<h3 class="wp-block-heading">포트 설정</h3>



<p><strong>파일:</strong> <code>/etc/apache2/ports.conf</code></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Listen 5050
</pre>



<p><strong>설명:</strong></p>



<ul class="wp-block-list">
<li>Apache는 외부 접근 불가능한 내부 포트 5050에서만 대기</li>



<li>Nginx만 이 포트로 요청 전달 가능</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">VirtualHost 설정</h3>



<p><strong>파일:</strong> <code>/etc/apache2/sites-available/test.conf</code></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;VirtualHost *:5050>
    ServerName test.com
    ServerAlias www.test.com

    DocumentRoot /path/to/wordpress/

    ErrorLog ${APACHE_LOG_DIR}/test_error_444.log
    CustomLog ${APACHE_LOG_DIR}/test_access_444.log combined
&lt;/VirtualHost>
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">주요 명령어</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 사이트 활성화
sudo a2ensite test.conf

# 사이트 비활성화
sudo a2dissite test.conf

# Apache 설정 다시 로드
sudo systemctl reload apache2
</pre>



<hr class="wp-block-separator has-alpha-channel-opacity" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">4. 전체 설정 흐름</h2>



<h3 class="wp-block-heading">초기 설정 순서</h3>



<ol class="wp-block-list">
<li><strong>Apache 포트 변경</strong> <code>sudo vim /etc/apache2/ports.conf # Listen 5050 추가</code></li>



<li><strong>Apache VirtualHost 생성</strong> <code>sudo vim /etc/apache2/sites-available/test.conf sudo a2ensite test.conf sudo systemctl reload apache2</code></li>



<li><strong>WordPress 설정 수정</strong> <code>sudo vim /path/to/wordpress/wp-config.php # 프록시 인식 코드 추가</code></li>



<li><strong>Nginx 설정 생성</strong> <code>sudo vim /etc/nginx/sites-available/test.conf sudo nginx -t sudo ln -s /etc/nginx/sites-available/test.conf /etc/nginx/sites-enabled/ sudo systemctl restart nginx</code></li>



<li><strong>SSL 인증서 발급 (Let&#8217;s Encrypt)</strong> <code>sudo certbot --nginx -d test.com -d www.test.com</code></li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)"/>



<h2 class="wp-block-heading">5. 트러블슈팅</h2>



<h3 class="wp-block-heading">일반적인 문제</h3>



<h4 class="wp-block-heading">문제 1: WordPress 리다이렉트 루프</h4>



<p><strong>원인:</strong> WordPress가 HTTPS를 인식하지 못함<br><strong>해결:</strong> <code>wp-config.php</code>에 프록시 인식 코드 확인</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">문제 2: Mixed Content 경고</h4>



<p><strong>원인:</strong> HTTP 리소스가 HTTPS 페이지에 로드됨<br><strong>해결:</strong> WordPress 설정 &gt; 사이트 주소를 <code>https://</code>로 변경</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">문제 3: 502 Bad Gateway</h4>



<p><strong>원인:</strong> Apache가 5050 포트에서 실행되지 않음<br><strong>해결:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo systemctl status apache2
sudo netstat -tlnp | grep 5050
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">문제 4: SSL 인증서 오류</h4>



<p><strong>원인:</strong> 인증서 경로가 올바르지 않음<br><strong>해결:</strong> Nginx 설정에서 인증서 경로 확인</p>



<hr class="wp-block-separator has-alpha-channel-opacity" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">6. 보안 체크리스트</h2>



<ul class="wp-block-list">
<li>[ ] HTTP → HTTPS 강제 리다이렉트 작동</li>



<li>[ ] Apache는 localhost(127.0.0.1)에서만 접근 가능</li>



<li>[ ] SSL 인증서 자동 갱신 설정</li>



<li>[ ] 보안 헤더(HSTS, X-Frame-Options 등) 적용</li>



<li>[ ] <code>.ht</code> 파일 접근 차단</li>



<li>[ ] 방화벽에서 5050 포트 외부 차단</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">7. 성능 최적화 팁</h2>



<ol class="wp-block-list">
<li><strong>Nginx 캐싱 활성화</strong>: 정적 파일을 Nginx에서 직접 서빙</li>



<li><strong>Gzip 압축</strong>: 텍스트 기반 콘텐츠 압축</li>



<li><strong>HTTP/2 활성화</strong>: 이미 설정됨 (<code>http2</code> 옵션)</li>



<li><strong>Keep-Alive 설정</strong>: 연결 재사용</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">참고 사항</h2>



<ul class="wp-block-list">
<li><strong>도메인</strong>: 실제 도메인으로 <code>test.com</code> 변경 필요</li>



<li><strong>경로</strong>: WordPress 설치 경로에 맞게 수정</li>



<li><strong>포트</strong>: 5050 포트는 예시이며, 다른 포트 사용 가능 (보안을 위해 비표준 포트 권장)</li>



<li><strong>로그</strong>: 각 설정 파일에 명시된 로그 경로에서 문제 진단 가능</li>
</ul>



<p></p>
<p>The post <a href="https://lycos7560.com/ubuntu/nginx-apache-reverse-proxy/40373/">Nginx + Apache / Reverse Proxy</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/ubuntu/nginx-apache-reverse-proxy/40373/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ubuntu에 Gemini CLI 설치</title>
		<link>https://lycos7560.com/ubuntu/ubuntu%ec%97%90-gemini-cli-%ec%84%a4%ec%b9%98/40364/</link>
					<comments>https://lycos7560.com/ubuntu/ubuntu%ec%97%90-gemini-cli-%ec%84%a4%ec%b9%98/40364/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Tue, 25 Nov 2025 16:02:48 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[기타]]></category>
		<category><![CDATA[$\text{apt}$]]></category>
		<category><![CDATA[$\text{GEMINI\_API\_KEY}$]]></category>
		<category><![CDATA[$\text{npm install -g}$]]></category>
		<category><![CDATA[$\text{npm uninstall}$]]></category>
		<category><![CDATA[$\text{string-width}$]]></category>
		<category><![CDATA[$v$ flag]]></category>
		<category><![CDATA[$v$ 플래그]]></category>
		<category><![CDATA[AI Assistant]]></category>
		<category><![CDATA[AI Chatbot]]></category>
		<category><![CDATA[AI Tool]]></category>
		<category><![CDATA[AI Workflows]]></category>
		<category><![CDATA[AI 워크플로우]]></category>
		<category><![CDATA[AI 툴]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[API Key]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Clean Up]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[CLI Tips]]></category>
		<category><![CDATA[CLI Tool]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Command Line Interface]]></category>
		<category><![CDATA[Commands]]></category>
		<category><![CDATA[compatibility]]></category>
		<category><![CDATA[Console Application]]></category>
		<category><![CDATA[Dependencies]]></category>
		<category><![CDATA[Desktop Linux]]></category>
		<category><![CDATA[Dev Tips]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Development Environment]]></category>
		<category><![CDATA[environment-variable]]></category>
		<category><![CDATA[Error Fix]]></category>
		<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Full Stack]]></category>
		<category><![CDATA[GCP]]></category>
		<category><![CDATA[Gemini 2.5 Pro]]></category>
		<category><![CDATA[Gemini AI]]></category>
		<category><![CDATA[Gemini CLI]]></category>
		<category><![CDATA[Gemini Pro]]></category>
		<category><![CDATA[Gemini Quick Start]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[Global Install]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Cloud]]></category>
		<category><![CDATA[Google Gemini]]></category>
		<category><![CDATA[How to Install]]></category>
		<category><![CDATA[Installation Guide]]></category>
		<category><![CDATA[Invalid regular expression flags]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Large Language Model]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux Development]]></category>
		<category><![CDATA[Linux OS]]></category>
		<category><![CDATA[Linux Setup]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Node Version]]></category>
		<category><![CDATA[Node.js]]></category>
		<category><![CDATA[Node.js Upgrade]]></category>
		<category><![CDATA[Node.js 호환성]]></category>
		<category><![CDATA[Nodejs v18]]></category>
		<category><![CDATA[Nodejs v20]]></category>
		<category><![CDATA[npm]]></category>
		<category><![CDATA[nvm]]></category>
		<category><![CDATA[NVM Install]]></category>
		<category><![CDATA[NVM 설치]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OS Setup]]></category>
		<category><![CDATA[Package Manager]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Regular Expression]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Step-by-Step]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[SyntaxError]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Tech Trends]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[TUTORIAL]]></category>
		<category><![CDATA[Ubuntu Development]]></category>
		<category><![CDATA[Ubuntu Guide]]></category>
		<category><![CDATA[Ubuntu Server]]></category>
		<category><![CDATA[Uninstall Node]]></category>
		<category><![CDATA[Version Management]]></category>
		<category><![CDATA[Zsh]]></category>
		<category><![CDATA[개발 트렌드]]></category>
		<category><![CDATA[개발 팁]]></category>
		<category><![CDATA[개발 환경]]></category>
		<category><![CDATA[개발 효율]]></category>
		<category><![CDATA[개발자]]></category>
		<category><![CDATA[거대 언어 모델]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[구글 제미나이]]></category>
		<category><![CDATA[기술]]></category>
		<category><![CDATA[기초]]></category>
		<category><![CDATA[단계별 가이드]]></category>
		<category><![CDATA[루트 권한]]></category>
		<category><![CDATA[리눅스]]></category>
		<category><![CDATA[리눅스 개발]]></category>
		<category><![CDATA[명령어]]></category>
		<category><![CDATA[버전 관리]]></category>
		<category><![CDATA[버전 문제]]></category>
		<category><![CDATA[보안]]></category>
		<category><![CDATA[빠른 시작]]></category>
		<category><![CDATA[생성형 AI]]></category>
		<category><![CDATA[설치 가이드]]></category>
		<category><![CDATA[스크립트]]></category>
		<category><![CDATA[시스템 정리]]></category>
		<category><![CDATA[오류 해결]]></category>
		<category><![CDATA[오픈소스]]></category>
		<category><![CDATA[우분투]]></category>
		<category><![CDATA[의존성]]></category>
		<category><![CDATA[인공지능]]></category>
		<category><![CDATA[인공지능 비서]]></category>
		<category><![CDATA[인증]]></category>
		<category><![CDATA[자동화]]></category>
		<category><![CDATA[전역 설치]]></category>
		<category><![CDATA[정규 표현식]]></category>
		<category><![CDATA[제미나이]]></category>
		<category><![CDATA[챗봇]]></category>
		<category><![CDATA[콘솔 앱]]></category>
		<category><![CDATA[클라우드 컴퓨팅]]></category>
		<category><![CDATA[터미널]]></category>
		<category><![CDATA[튜토리얼]]></category>
		<category><![CDATA[패키지 매니저]]></category>
		<category><![CDATA[패키지 제거]]></category>
		<category><![CDATA[프로그래밍]]></category>
		<category><![CDATA[환경 변수]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40364</guid>

					<description><![CDATA[<p>1단계: Node.js 및 npm 설치 (1) NVM (Node Version Manager)을 이용한 설치 (추천) (2) apt를 통한 기본 설치 2단계: Gemini CLI 설치 3단계: Gemini CLI 실행 및 인증 설치가 완료되면, 터미널에 gemini 명령어를 입력하여 실행 최초 실행 시 다음과 같은 설정 및 인증 과정이 진행됩니다. 인증이 성공적으로 완료되면, Gemini CLI 프롬프트(gemini &#62;)가 나타나며 바로 Gemini를 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/ubuntu/ubuntu%ec%97%90-gemini-cli-%ec%84%a4%ec%b9%98/40364/">Ubuntu에 Gemini CLI 설치</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-c8e0bf3e      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1단계-nodejs-및-npm-설치" class="uagb-toc-link__trigger">1단계: Node.js 및 npm 설치</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1-nvm-node-version-manager을-이용한-설치-추천" class="uagb-toc-link__trigger">(1) NVM (Node Version Manager)을 이용한 설치 (추천)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#2-apt를-통한-기본-설치" class="uagb-toc-link__trigger">(2) apt를 통한 기본 설치</a></li></ul></li><li class="uagb-toc__list"><a href="#2단계-gemini-cli-설치" class="uagb-toc-link__trigger">2단계: Gemini CLI 설치</a><li class="uagb-toc__list"><a href="#3단계-gemini-cli-실행-및-인증" class="uagb-toc-link__trigger">3단계: Gemini CLI 실행 및 인증</a></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">1단계: Node.js 및 npm 설치</h2>



<ul class="wp-block-list">
<li>Gemini CLI는 <strong>Node.js 버전 20 이상</strong>을 권장</li>
</ul>



<h3 class="wp-block-heading">(1) NVM (Node Version Manager)을 이용한 설치 (추천)</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">// Node.js 20 이상인지 확인
node -v
npm -v

// NVM 설치 (버전 번호는 최신 버전으로 바뀔 수 있음):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

// 터미널 재시작 또는 적용:
source ~/.bashrc 
# 또는 새 터미널 창을 엽니다.

// 최신 LTS Node.js 설치:
nvm install --lts
nvm use --lts</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">(2) <code>apt</code>를 통한 기본 설치</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">// Node.js 20 이상인지 확인
node -v
npm -v

sudo apt update
sudo apt install -y nodejs npm</pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">2단계: Gemini CLI 설치</h2>



<ul class="wp-block-list">
<li>Node.js와 npm이 준비되었다면, npm을 사용하여 Gemini CLI를 <strong>전역으로</strong> 설치</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo npm install -g @google/gemini-cli</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">3단계: Gemini CLI 실행 및 인증</h2>



<p>설치가 완료되면, 터미널에 <code>gemini</code> 명령어를 입력하여 실행</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">gemini</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p>최초 실행 시 다음과 같은 설정 및 인증 과정이 진행됩니다.</p>



<ol start="1" class="wp-block-list">
<li><strong>테마 선택:</strong> 터미널에서 원하는 CLI <strong>테마</strong>를 선택합니다.</li>



<li><strong>인증 방법 선택:</strong>
<ul class="wp-block-list">
<li><strong>Google 로그인 (권장):</strong> <br>개인 Google 계정으로 로그인하여 사용합니다. <br>브라우저 창이 열리면 로그인 및 인증을 완료하세요. <br>무료 등급에서는 Gemini 2.5 Pro 모델에 대한 충분한 요청 횟수(예: 분당 60회, 일일 1,000회)가 제공됩니다.</li>



<li><strong>API 키 사용:</strong> <br>Google AI Studio 등에서 발급받은 <strong>API 키</strong>를 사용하려면 환경 변수로 설정하거나 이 옵션을 선택합니다. <br>(예: <code>export GEMINI_API_KEY="YOUR_API_KEY"</code>)</li>
</ul>
</li>
</ol>



<p>인증이 성공적으로 완료되면, Gemini CLI 프롬프트(<code>gemini &gt;</code>)가 나타나며 바로 Gemini를 사용할 수 있습니다.</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1500" height="611" src="https://lycos7560.com/wp-content/uploads/2025/11/image.png" alt="" class="wp-image-40365" srcset="https://lycos7560.com/wp-content/uploads/2025/11/image.png 1500w, https://lycos7560.com/wp-content/uploads/2025/11/image-300x122.png 300w, https://lycos7560.com/wp-content/uploads/2025/11/image-768x313.png 768w" sizes="(max-width: 1500px) 100vw, 1500px" /><figcaption class="wp-element-caption">성공</figcaption></figure>



<p></p>
<p>The post <a href="https://lycos7560.com/ubuntu/ubuntu%ec%97%90-gemini-cli-%ec%84%a4%ec%b9%98/40364/">Ubuntu에 Gemini CLI 설치</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/ubuntu/ubuntu%ec%97%90-gemini-cli-%ec%84%a4%ec%b9%98/40364/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Apache Virtual Host Guide (Apache 가상 호스트 설정)</title>
		<link>https://lycos7560.com/ubuntu/apache-%ea%b0%80%ec%83%81%ed%98%b8%ec%8a%a4%ed%8a%b8-%ec%84%a4%ec%a0%95-%ea%b0%80%ec%9d%b4%eb%93%9c/40358/</link>
					<comments>https://lycos7560.com/ubuntu/apache-%ea%b0%80%ec%83%81%ed%98%b8%ec%8a%a4%ed%8a%b8-%ec%84%a4%ec%a0%95-%ea%b0%80%ec%9d%b4%eb%93%9c/40358/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Tue, 25 Nov 2025 14:56:56 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[기타]]></category>
		<category><![CDATA[301Redirect]]></category>
		<category><![CDATA[301리다이렉트]]></category>
		<category><![CDATA[403Forbidden]]></category>
		<category><![CDATA[404NotFound]]></category>
		<category><![CDATA[500Error]]></category>
		<category><![CDATA[502Error]]></category>
		<category><![CDATA[503Error]]></category>
		<category><![CDATA[504GatewayTimeout]]></category>
		<category><![CDATA[AccessControl]]></category>
		<category><![CDATA[AccessLog]]></category>
		<category><![CDATA[AllowOverride]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Apache2]]></category>
		<category><![CDATA[ApacheModules]]></category>
		<category><![CDATA[ARecord]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[BasicAuth]]></category>
		<category><![CDATA[BestPractices]]></category>
		<category><![CDATA[Brotli]]></category>
		<category><![CDATA[BrowserCache]]></category>
		<category><![CDATA[Caching]]></category>
		<category><![CDATA[Certbot]]></category>
		<category><![CDATA[Cheatsheet]]></category>
		<category><![CDATA[chmod]]></category>
		<category><![CDATA[Chown]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Clustering]]></category>
		<category><![CDATA[CNAME]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[Compression]]></category>
		<category><![CDATA[ConfigTest]]></category>
		<category><![CDATA[CrtFile]]></category>
		<category><![CDATA[CSR]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[Curl]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DirectoryIndex]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DocumentRoot]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[ErrorLog]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[Flask]]></category>
		<category><![CDATA[FreeSSL]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[Gzip]]></category>
		<category><![CDATA[HighAvailability]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[HSTS]]></category>
		<category><![CDATA[htpasswd]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[HTTP2]]></category>
		<category><![CDATA[HTTP3]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[Iptables]]></category>
		<category><![CDATA[Journalctl]]></category>
		<category><![CDATA[KeepAlive]]></category>
		<category><![CDATA[KeyFile]]></category>
		<category><![CDATA[LetsEncrypt]]></category>
		<category><![CDATA[LinuxCommands]]></category>
		<category><![CDATA[LinuxServer]]></category>
		<category><![CDATA[LoadBalancing]]></category>
		<category><![CDATA[LoadTest]]></category>
		<category><![CDATA[LogAnalysis]]></category>
		<category><![CDATA[Manual]]></category>
		<category><![CDATA[mod_deflate]]></category>
		<category><![CDATA[mod_expires]]></category>
		<category><![CDATA[mod_headers]]></category>
		<category><![CDATA[mod_proxy]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[mod_ssl]]></category>
		<category><![CDATA[MPM]]></category>
		<category><![CDATA[MPM_Event]]></category>
		<category><![CDATA[MPM_Worker]]></category>
		<category><![CDATA[NameServer]]></category>
		<category><![CDATA[netstat]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[Nodejs]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[options]]></category>
		<category><![CDATA[PemFile]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Permission]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[PortForwarding]]></category>
		<category><![CDATA[PrivateKey]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[ProxyPass]]></category>
		<category><![CDATA[ProxyPassReverse]]></category>
		<category><![CDATA[PublicKey]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Redirect]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[RequireAllGranted]]></category>
		<category><![CDATA[Restore]]></category>
		<category><![CDATA[ReverseProxy]]></category>
		<category><![CDATA[Rewrite]]></category>
		<category><![CDATA[RewriteRule]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SelfSigned]]></category>
		<category><![CDATA[ServerConfig]]></category>
		<category><![CDATA[ServerMaintenance]]></category>
		<category><![CDATA[ServerMigration]]></category>
		<category><![CDATA[ServerMonitoring]]></category>
		<category><![CDATA[ServerName]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[SpeedUp]]></category>
		<category><![CDATA[ss]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[subdomain]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[systemctl]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[TCP]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[TLS]]></category>
		<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[TUTORIAL]]></category>
		<category><![CDATA[UbuntuServer]]></category>
		<category><![CDATA[ufw]]></category>
		<category><![CDATA[URLRewrite]]></category>
		<category><![CDATA[Vhost]]></category>
		<category><![CDATA[VirtualHost]]></category>
		<category><![CDATA[VPS]]></category>
		<category><![CDATA[WAS]]></category>
		<category><![CDATA[WebAdmin]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[WebPerformance]]></category>
		<category><![CDATA[WebSecurity]]></category>
		<category><![CDATA[WebServer]]></category>
		<category><![CDATA[WebSocket]]></category>
		<category><![CDATA[Wget]]></category>
		<category><![CDATA[WSS]]></category>
		<category><![CDATA[XSS]]></category>
		<category><![CDATA[가상호스트]]></category>
		<category><![CDATA[가이드]]></category>
		<category><![CDATA[고가용성]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[권한설정]]></category>
		<category><![CDATA[기본인증]]></category>
		<category><![CDATA[기초]]></category>
		<category><![CDATA[네임서버]]></category>
		<category><![CDATA[네트워크]]></category>
		<category><![CDATA[데비안]]></category>
		<category><![CDATA[뎁스옵스]]></category>
		<category><![CDATA[도메인]]></category>
		<category><![CDATA[디버깅]]></category>
		<category><![CDATA[레퍼런스]]></category>
		<category><![CDATA[렛츠인크립트]]></category>
		<category><![CDATA[로그분석]]></category>
		<category><![CDATA[로드밸런싱]]></category>
		<category><![CDATA[리눅스명령어]]></category>
		<category><![CDATA[리눅스서버]]></category>
		<category><![CDATA[리다이렉트]]></category>
		<category><![CDATA[리버스프록시]]></category>
		<category><![CDATA[매뉴얼]]></category>
		<category><![CDATA[명령어]]></category>
		<category><![CDATA[모범사례]]></category>
		<category><![CDATA[무료인증서]]></category>
		<category><![CDATA[문제해결]]></category>
		<category><![CDATA[방화벽]]></category>
		<category><![CDATA[백업]]></category>
		<category><![CDATA[백엔드]]></category>
		<category><![CDATA[보안]]></category>
		<category><![CDATA[복구]]></category>
		<category><![CDATA[부하테스트]]></category>
		<category><![CDATA[브라우저캐시]]></category>
		<category><![CDATA[사설인증서]]></category>
		<category><![CDATA[사용법]]></category>
		<category><![CDATA[서버모니터링]]></category>
		<category><![CDATA[서버설정]]></category>
		<category><![CDATA[서버유지보수]]></category>
		<category><![CDATA[서버이전]]></category>
		<category><![CDATA[서브도메인]]></category>
		<category><![CDATA[설정확인]]></category>
		<category><![CDATA[성능최적화]]></category>
		<category><![CDATA[속도향상]]></category>
		<category><![CDATA[시스템관리]]></category>
		<category><![CDATA[아파치]]></category>
		<category><![CDATA[아파치2]]></category>
		<category><![CDATA[아파치모듈]]></category>
		<category><![CDATA[압축]]></category>
		<category><![CDATA[액세스로그]]></category>
		<category><![CDATA[에러로그]]></category>
		<category><![CDATA[우분투]]></category>
		<category><![CDATA[웹개발]]></category>
		<category><![CDATA[웹보안]]></category>
		<category><![CDATA[웹서버]]></category>
		<category><![CDATA[웹성능]]></category>
		<category><![CDATA[웹소켓]]></category>
		<category><![CDATA[웹어드민]]></category>
		<category><![CDATA[웹호스팅]]></category>
		<category><![CDATA[인증서]]></category>
		<category><![CDATA[인프라]]></category>
		<category><![CDATA[접근제어]]></category>
		<category><![CDATA[최적화]]></category>
		<category><![CDATA[치트시트]]></category>
		<category><![CDATA[캐싱]]></category>
		<category><![CDATA[클라우드]]></category>
		<category><![CDATA[클러스터링]]></category>
		<category><![CDATA[터미널]]></category>
		<category><![CDATA[튜토리얼]]></category>
		<category><![CDATA[포트]]></category>
		<category><![CDATA[포트포워딩]]></category>
		<category><![CDATA[프록시]]></category>
		<category><![CDATA[확장성]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40358</guid>

					<description><![CDATA[<p>기본 설정 확인 Apache 상태 및 설정 검증 필수 모듈 활성화 가상호스트 생성 1. 설정 파일 생성 2. 기본 HTTP 가상호스트 3. HTTP → HTTPS 리다이렉트 4. HTTPS 가상호스트 (정적 파일) 다양한 설정 예제 리버스 프록시 WebSocket 프록시 여러 백엔드로 로드 밸런싱 경로별 다른 백엔드 라우팅 특정 IP만 접근 허용 SSL/HTTPS 설정 Certbot으로 SSL 인증서 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/ubuntu/apache-%ea%b0%80%ec%83%81%ed%98%b8%ec%8a%a4%ed%8a%b8-%ec%84%a4%ec%a0%95-%ea%b0%80%ec%9d%b4%eb%93%9c/40358/">Apache Virtual Host Guide (Apache 가상 호스트 설정)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-692d8850      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#기본-설정-확인" class="uagb-toc-link__trigger">기본 설정 확인</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#apache-상태-및-설정-검증" class="uagb-toc-link__trigger">Apache 상태 및 설정 검증</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#필수-모듈-활성화" class="uagb-toc-link__trigger">필수 모듈 활성화</a></li></ul></li><li class="uagb-toc__list"><a href="#가상호스트-생성" class="uagb-toc-link__trigger">가상호스트 생성</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1-설정-파일-생성" class="uagb-toc-link__trigger">1. 설정 파일 생성</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#2-기본-http-가상호스트" class="uagb-toc-link__trigger">2. 기본 HTTP 가상호스트</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#3-http-https-리다이렉트" class="uagb-toc-link__trigger">3. HTTP → HTTPS 리다이렉트</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#4-https-가상호스트-정적-파일" class="uagb-toc-link__trigger">4. HTTPS 가상호스트 (정적 파일)</a></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#다양한-설정-예제" class="uagb-toc-link__trigger">다양한 설정 예제</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#리버스-프록시" class="uagb-toc-link__trigger">리버스 프록시</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#websocket-프록시" class="uagb-toc-link__trigger">WebSocket 프록시</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#여러-백엔드로-로드-밸런싱" class="uagb-toc-link__trigger">여러 백엔드로 로드 밸런싱</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#경로별-다른-백엔드-라우팅" class="uagb-toc-link__trigger">경로별 다른 백엔드 라우팅</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#특정-ip만-접근-허용" class="uagb-toc-link__trigger">특정 IP만 접근 허용</a></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#sslhttps-설정" class="uagb-toc-link__trigger">SSL/HTTPS 설정</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#certbot으로-ssl-인증서-발급" class="uagb-toc-link__trigger">Certbot으로 SSL 인증서 발급</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#ssl-설정-최적화" class="uagb-toc-link__trigger">SSL 설정 최적화</a></li></ul></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#가상호스트-관리" class="uagb-toc-link__trigger">가상호스트 관리</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#활성화비활성화" class="uagb-toc-link__trigger">활성화/비활성화</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#모듈-관리" class="uagb-toc-link__trigger">모듈 관리</a></li></ul></li></ul></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#문제-해결" class="uagb-toc-link__trigger">문제 해결</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#로그-확인" class="uagb-toc-link__trigger">로그 확인</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#연결-테스트" class="uagb-toc-link__trigger">연결 테스트</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#포트-및-프로세스-확인" class="uagb-toc-link__trigger">포트 및 프로세스 확인</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#일반적인-문제-해결" class="uagb-toc-link__trigger">일반적인 문제 해결</a></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#보안-강화" class="uagb-toc-link__trigger">보안 강화</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#보안-헤더-설정" class="uagb-toc-link__trigger">보안 헤더 설정</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#접근-제어" class="uagb-toc-link__trigger">접근 제어</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#htpasswd-파일-생성" class="uagb-toc-link__trigger">.htpasswd 파일 생성</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#rate-limiting-mod-ratelimit" class="uagb-toc-link__trigger">Rate Limiting (mod_ratelimit)</a></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#성능-최적화" class="uagb-toc-link__trigger">성능 최적화</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#캐싱-설정" class="uagb-toc-link__trigger">캐싱 설정</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#gzip-brotli-압축" class="uagb-toc-link__trigger">Gzip &amp; Brotli 압축</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#keepalive-설정" class="uagb-toc-link__trigger">KeepAlive 설정</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#mpm-설정-최적화" class="uagb-toc-link__trigger">MPM 설정 최적화</a></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#디렉토리-구조" class="uagb-toc-link__trigger">디렉토리 구조</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#apache-설정-파일-구조" class="uagb-toc-link__trigger">Apache 설정 파일 구조</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#웹-컨텐츠-디렉토리" class="uagb-toc-link__trigger">웹 컨텐츠 디렉토리</a></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#유용한-명령어-모음" class="uagb-toc-link__trigger">유용한 명령어 모음</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#빠른-참조" class="uagb-toc-link__trigger">빠른 참조</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#자주-사용하는-작업" class="uagb-toc-link__trigger">자주 사용하는 작업</a></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#문제-상황별-체크리스트" class="uagb-toc-link__trigger">문제 상황별 체크리스트</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#사이트가-접속되지-않을-때" class="uagb-toc-link__trigger">사이트가 접속되지 않을 때</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#502-bad-gateway-발생-시" class="uagb-toc-link__trigger">502 Bad Gateway 발생 시</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#ssl-인증서-오류-시" class="uagb-toc-link__trigger">SSL 인증서 오류 시</a></ul></ul></ul></ul></ul></ul></ul></ul></ul></ul></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">기본 설정 확인</h2>



<h3 class="wp-block-heading">Apache 상태 및 설정 검증</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># Apache 서비스 상태 확인
sudo systemctl status apache2

# 설정 파일 문법 검사
sudo apache2ctl configtest

# 활성화된 가상호스트 목록 확인
sudo apache2ctl -S

# Apache 버전 확인
apache2 -v

# 로드된 모듈 확인
apache2ctl -M
</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">필수 모듈 활성화</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 프록시 및 SSL 관련 모듈 활성화
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod headers

# 변경사항 적용
sudo systemctl restart apache2
</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">가상호스트 생성</h2>



<h3 class="wp-block-heading">1. 설정 파일 생성</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 새 가상호스트 설정 파일 생성
sudo vim /etc/apache2/sites-available/testdomain.conf
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2. 기본 HTTP 가상호스트</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;VirtualHost *:80>
    ServerName testdomain.com
    ServerAlias www.testdomain.com
    ServerAdmin admin@testdomain.com
    
    DocumentRoot /var/www/testdomain
    
    &lt;Directory /var/www/testdomain>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    &lt;/Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/testdomain_error.log
    CustomLog ${APACHE_LOG_DIR}/testdomain_access.log combined
&lt;/VirtualHost>
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3. HTTP → HTTPS 리다이렉트</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;VirtualHost *:80>
    ServerName testdomain.com
    ServerAlias www.testdomain.com
    
    # 모든 HTTP 요청을 HTTPS로 리다이렉트
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
    
    ErrorLog ${APACHE_LOG_DIR}/testdomain_http_error.log
    CustomLog ${APACHE_LOG_DIR}/testdomain_http_access.log combined
&lt;/VirtualHost>
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">4. HTTPS 가상호스트 (정적 파일)</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;VirtualHost *:443>
    ServerName testdomain.com
    ServerAlias www.testdomain.com
    ServerAdmin admin@testdomain.com
    
    DocumentRoot /var/www/testdomain
    
    &lt;Directory /var/www/testdomain>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    &lt;/Directory>
    
    # SSL 설정
    SSLEngine on
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/testdomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/testdomain.com/privkey.pem
    
    # 보안 헤더
    Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
    Header always set X-Content-Type-Options nosniff
    Header always set X-Frame-Options SAMEORIGIN
    Header always set X-XSS-Protection "1; mode=block"
    
    ErrorLog ${APACHE_LOG_DIR}/testdomain_https_error.log
    CustomLog ${APACHE_LOG_DIR}/testdomain_https_access.log combined
&lt;/VirtualHost>
</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">다양한 설정 예제</h2>



<h3 class="wp-block-heading">리버스 프록시 </h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;VirtualHost *:443>
    ServerName api.testdomain.com
    
    # SSL 설정
    SSLEngine on
    SSLProxyEngine on
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/api.testdomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/api.testdomain.com/privkey.pem
    
    # 프록시 설정
    ProxyPreserveHost On
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
    
    # 프록시 헤더 설정
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-Forwarded-Port "443"
    ProxyAddHeaders On
    
    # 타임아웃 설정
    ProxyTimeout 300
    
    # 요청 크기 제한 해제
    LimitRequestBody 0
    LimitRequestLine 65536
    LimitRequestFieldSize 65536
    
    ErrorLog ${APACHE_LOG_DIR}/api_error.log
    CustomLog ${APACHE_LOG_DIR}/api_access.log combined
&lt;/VirtualHost>
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">WebSocket 프록시</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;VirtualHost *:443>
    ServerName ws.testdomain.com
    
    SSLEngine on
    SSLProxyEngine on
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/ws.testdomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/ws.testdomain.com/privkey.pem
    
    # WebSocket 지원을 위한 프록시 설정
    ProxyPreserveHost On
    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.*)           ws://localhost:8080/$1 [P,L]
    RewriteCond %{HTTP:Upgrade} !=websocket [NC]
    RewriteRule /(.*)           http://localhost:8080/$1 [P,L]
    
    ProxyPassReverse / http://localhost:8080/
    
    ErrorLog ${APACHE_LOG_DIR}/ws_error.log
    CustomLog ${APACHE_LOG_DIR}/ws_access.log combined
&lt;/VirtualHost>
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">여러 백엔드로 로드 밸런싱</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;Proxy balancer://mycluster>
    BalancerMember http://localhost:3001
    BalancerMember http://localhost:3002
    BalancerMember http://localhost:3003
    ProxySet lbmethod=byrequests
&lt;/Proxy>

&lt;VirtualHost *:443>
    ServerName testdomain.com
    
    SSLEngine on
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/testdomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/testdomain.com/privkey.pem
    
    ProxyPreserveHost On
    ProxyPass / balancer://mycluster/
    ProxyPassReverse / balancer://mycluster/
    
    ErrorLog ${APACHE_LOG_DIR}/testdomain_error.log
    CustomLog ${APACHE_LOG_DIR}/testdomain_access.log combined
&lt;/VirtualHost>
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">경로별 다른 백엔드 라우팅</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;VirtualHost *:443>
    ServerName testdomain.com
    
    SSLEngine on
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/testdomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/testdomain.com/privkey.pem
    
    # API 요청은 백엔드 서버로
    ProxyPass /api http://localhost:8000/api
    ProxyPassReverse /api http://localhost:8000/api
    
    # 정적 파일은 직접 제공
    DocumentRoot /var/www/testdomain
    &lt;Directory /var/www/testdomain>
        Require all granted
    &lt;/Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/testdomain_error.log
    CustomLog ${APACHE_LOG_DIR}/testdomain_access.log combined
&lt;/VirtualHost>
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">특정 IP만 접근 허용</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;VirtualHost *:443>
    ServerName admin.testdomain.com
    
    SSLEngine on
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/admin.testdomain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/admin.testdomain.com/privkey.pem
    
    DocumentRoot /var/www/admin
    
    &lt;Directory /var/www/admin>
        # 특정 IP만 허용
        Require ip 192.168.1.0/24
        Require ip 10.0.0.5
    &lt;/Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/admin_error.log
    CustomLog ${APACHE_LOG_DIR}/admin_access.log combined
&lt;/VirtualHost>
</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">SSL/HTTPS 설정</h2>



<h3 class="wp-block-heading">Certbot으로 SSL 인증서 발급</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 자동 설정 (권장)
sudo certbot --apache -d testdomain.com -d www.testdomain.com

# 인증서만 발급 (수동 설정)
sudo certbot certonly --standalone -d testdomain.com -d www.testdomain.com

# 와일드카드 인증서 발급
sudo certbot certonly --manual --preferred-challenges dns -d testdomain.com -d *.testdomain.com

# 인증서 갱신 테스트
sudo certbot renew --dry-run

# 인증서 강제 갱신
sudo certbot renew --force-renewal

# 인증서 자동 갱신 크론잡 설정
sudo crontab -e
# 매일 새벽 2시에 갱신 확인
0 2 * * * certbot renew --quiet
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">SSL 설정 최적화</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># /etc/letsencrypt/options-ssl-apache.conf 참고
# 또는 직접 설정

SSLEngine on
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off

# OCSP Stapling 활성화
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">가상호스트 관리</h2>



<h3 class="wp-block-heading">활성화/비활성화</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 가상호스트 활성화
sudo a2ensite testdomain.conf

# 가상호스트 비활성화
sudo a2dissite testdomain.conf

# 기본 사이트 비활성화
sudo a2dissite 000-default.conf

# 설정 적용 (다운타임 없음)
sudo systemctl reload apache2

# 설정 재시작 (다운타임 발생)
sudo systemctl restart apache2
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">모듈 관리</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 모듈 활성화
sudo a2enmod 모듈명

# 모듈 비활성화
sudo a2dismod 모듈명

# 자주 사용하는 모듈들
sudo a2enmod rewrite      # URL 재작성
sudo a2enmod headers      # HTTP 헤더 조작
sudo a2enmod proxy        # 프록시 기능
sudo a2enmod proxy_http   # HTTP 프록시
sudo a2enmod proxy_wstunnel  # WebSocket 프록시
sudo a2enmod ssl          # SSL/TLS
sudo a2enmod deflate      # 압축
sudo a2enmod expires      # 캐시 제어
</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">문제 해결</h2>



<h3 class="wp-block-heading">로그 확인</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 실시간 에러 로그 모니터링
sudo tail -f /var/log/apache2/error.log

# 실시간 액세스 로그 모니터링
sudo tail -f /var/log/apache2/access.log

# 특정 가상호스트 로그
sudo tail -f /var/log/apache2/testdomain_error.log

# 마지막 100줄 확인
sudo tail -100 /var/log/apache2/error.log

# 특정 키워드로 검색
sudo grep "testdomain" /var/log/apache2/*.log

# 에러만 필터링
sudo grep "error" /var/log/apache2/error.log

# 최근 에러 (systemd)
sudo journalctl -u apache2 -n 50
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">연결 테스트</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># HTTP 응답 헤더 확인
curl -I http://testdomain.com/

# HTTPS 응답 헤더 확인
curl -I https://testdomain.com/

# 상세 디버깅 정보
curl -v https://testdomain.com/

# POST 요청 테스트
curl -X POST https://testdomain.com/api/endpoint \
  -H "Content-Type: application/json" \
  -d '{"key":"value"}'

# SSL 인증서 정보 확인
openssl s_client -connect testdomain.com:443 -servername testdomain.com &lt; /dev/null

# 백엔드 서비스 테스트
curl -v http://localhost:3000/
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">포트 및 프로세스 확인</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 특정 포트 사용 확인
sudo netstat -tlnp | grep :80
sudo netstat -tlnp | grep :443
sudo netstat -tlnp | grep :3000

# 또는 ss 명령어 사용 (더 빠름)
sudo ss -tlnp | grep :80

# Apache 프로세스 확인
ps aux | grep apache2

# 열린 파일 확인
sudo lsof -i :80
sudo lsof -i :443
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">일반적인 문제 해결</h3>



<h4 class="wp-block-heading">포트 충돌 문제 체크</h4>



<p>Apache + Nginx 동시 사용 시 자주 발생<br>특히 Certbot &#8211;apache 사용 시 충돌할 수 있음.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo ss -tlnp | grep :80
sudo ss -tlnp | grep :443

// 만약 Nginx가 잡고 있다면
sudo systemctl stop nginx
sudo systemctl disable nginx
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">403 Forbidden 오류</h4>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># Directory 권한 확인
&lt;Directory /var/www/testdomain>
    Require all granted
    # 또는
    Options +Indexes
&lt;/Directory>

# 파일 시스템 권한 확인
sudo chmod -R 755 /var/www/testdomain
sudo chown -R www-data:www-data /var/www/testdomain
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">500 Internal Server Error</h4>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 설정 문법 오류 확인
sudo apache2ctl configtest

# .htaccess 문제 확인
sudo tail -50 /var/log/apache2/error.log

# SELinux 확인 (CentOS/RHEL)
sudo setenforce 0  # 임시 비활성화
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">SSL 인증서 오류</h4>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 인증서 파일 존재 확인
ls -la /etc/letsencrypt/live/testdomain.com/

# 인증서 유효기간 확인
sudo certbot certificates

# 인증서 갱신
sudo certbot renew

# SSL 인증서 권한 변경 주의
# SSLCertificateFile: file '/etc/letsencrypt/live/.../fullchain.pem' does not exist or is empty // 원인은 보통 인증서 폴더 권한 문제

sudo chmod 755 /etc/letsencrypt/live
sudo chmod 644 /etc/letsencrypt/live/DOMAIN/fullchain.pem
sudo chmod 600 /etc/letsencrypt/live/DOMAIN/privkey.pem

</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">프록시 오류 (502 Bad Gateway)</h4>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 백엔드 서비스 작동 확인
curl http://localhost:3000/

# SELinux 설정 (CentOS/RHEL)
sudo setsebool -P httpd_can_network_connect 1

# 프록시 타임아웃 늘리기
ProxyTimeout 600
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Proxy 헤더 관련 ForwardedHeaders 추가</h4>



<p>ASP.NET Core, Node.js, Django 모두 HTTPS 프록시 환경에서 필수</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">RequestHeader set X-Forwarded-For %{REMOTE_ADDR}s
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Host %{HTTP_HOST}s

# (예시) ASP.NET Core
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">보안 강화</h2>



<h3 class="wp-block-heading">보안 헤더 설정</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;VirtualHost *:443>
    ServerName testdomain.com
    
    # ... SSL 설정 ...
    
    # HSTS (HTTP Strict Transport Security)
    Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
    
    # XSS 방지
    Header always set X-XSS-Protection "1; mode=block"
    
    # MIME 타입 스니핑 방지
    Header always set X-Content-Type-Options "nosniff"
    
    # 클릭재킹 방지
    Header always set X-Frame-Options "SAMEORIGIN"
    
    # Referrer 정책
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    
    # CSP (Content Security Policy)
    Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';"
    
    # 서버 정보 숨기기
    ServerTokens Prod
    ServerSignature Off
&lt;/VirtualHost>
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">접근 제어</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># IP 기반 접근 제어
&lt;Directory /var/www/admin>
    # 특정 IP만 허용
    Require ip 192.168.1.0/24
    Require ip 10.0.0.5
    
    # 또는 특정 IP 차단
    Require all granted
    Require not ip 192.168.1.100
&lt;/Directory>

# HTTP Basic 인증
&lt;Directory /var/www/protected>
    AuthType Basic
    AuthName "Restricted Area"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
&lt;/Directory>
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">.htpasswd 파일 생성</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># htpasswd 파일 생성 (첫 사용자)
sudo htpasswd -c /etc/apache2/.htpasswd username

# 추가 사용자 등록 (-c 옵션 제거)
sudo htpasswd /etc/apache2/.htpasswd username2
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Rate Limiting (mod_ratelimit)</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;Location /api>
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 400
    SetEnv rate-initial-burst 100
&lt;/Location>
</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">성능 최적화</h2>



<h3 class="wp-block-heading">캐싱 설정</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;VirtualHost *:443>
    ServerName testdomain.com
    
    # ... 기본 설정 ...
    
    # 정적 파일 캐싱
    &lt;IfModule mod_expires.c>
        ExpiresActive On
        
        # 이미지
        ExpiresByType image/jpg "access plus 1 year"
        ExpiresByType image/jpeg "access plus 1 year"
        ExpiresByType image/gif "access plus 1 year"
        ExpiresByType image/png "access plus 1 year"
        ExpiresByType image/webp "access plus 1 year"
        ExpiresByType image/svg+xml "access plus 1 year"
        
        # CSS/JS
        ExpiresByType text/css "access plus 1 month"
        ExpiresByType application/javascript "access plus 1 month"
        
        # 폰트
        ExpiresByType font/woff2 "access plus 1 year"
        ExpiresByType font/woff "access plus 1 year"
        
        # HTML
        ExpiresByType text/html "access plus 1 hour"
    &lt;/IfModule>
    
    # Cache-Control 헤더
    &lt;FilesMatch "\.(jpg|jpeg|png|gif|webp|svg|css|js|woff|woff2)$">
        Header set Cache-Control "max-age=31536000, public"
    &lt;/FilesMatch>
&lt;/VirtualHost>
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Gzip &amp; Brotli 압축</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;IfModule mod_deflate.c>
    # 압축 활성화
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
    AddOutputFilterByType DEFLATE application/javascript application/json
    AddOutputFilterByType DEFLATE application/xml application/xhtml+xml
    AddOutputFilterByType DEFLATE image/svg+xml
    
    # 이미지는 압축 제외 (이미 압축됨)
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|webp)$ no-gzip
&lt;/IfModule>


sudo apt install libapache2-mod-brotli
sudo a2enmod brotli

&lt;IfModule mod_brotli.c>
    BrotliCompressionQuality 5
    AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/css application/javascript application/json image/svg+xml
&lt;/IfModule></pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">KeepAlive 설정</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># /etc/apache2/apache2.conf

# KeepAlive 활성화
KeepAlive On

# 최대 요청 수
MaxKeepAliveRequests 100

# 타임아웃 (초)
KeepAliveTimeout 5
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">MPM 설정 최적화</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># /etc/apache2/mods-available/mpm_event.conf

&lt;IfModule mpm_event_module>
    StartServers             2
    MinSpareThreads          25
    MaxSpareThreads          75
    ThreadLimit              64
    ThreadsPerChild          25
    MaxRequestWorkers        150
    MaxConnectionsPerChild   0
&lt;/IfModule>
</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">디렉토리 구조</h2>



<h3 class="wp-block-heading">Apache 설정 파일 구조</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">/etc/apache2/
├── apache2.conf              # 메인 설정 파일
├── ports.conf                # 포트 설정
├── conf-available/           # 사용 가능한 설정
├── conf-enabled/             # 활성화된 설정
├── mods-available/           # 사용 가능한 모듈
├── mods-enabled/             # 활성화된 모듈 (심볼릭 링크)
├── sites-available/          # 사용 가능한 가상호스트
│   ├── 000-default.conf
│   ├── testdomain.conf
│   └── api.testdomain.conf
├── sites-enabled/            # 활성화된 가상호스트 (심볼릭 링크)
│   ├── 000-default.conf -> ../sites-available/000-default.conf
│   └── testdomain.conf -> ../sites-available/testdomain.conf
└── envvars                   # 환경 변수
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">웹 컨텐츠 디렉토리</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">/var/www/
├── html/                     # 기본 DocumentRoot
├── testdomain/               # 가상호스트 디렉토리
│   ├── public/
│   ├── index.html
│   └── .htaccess
└── logs/                     # 로그 (선택사항)
</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">유용한 명령어 모음</h2>



<h3 class="wp-block-heading">빠른 참조</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 설정 테스트
sudo apache2ctl configtest

# 가상호스트 목록
sudo apache2ctl -S

# 설정 리로드 (무중단)
sudo systemctl reload apache2

# 재시작
sudo systemctl restart apache2

# 상태 확인
sudo systemctl status apache2

# 로그 실시간 모니터링
sudo tail -f /var/log/apache2/error.log

# 특정 도메인 설정 확인
sudo apache2ctl -D DUMP_VHOSTS | grep testdomain

# 활성화된 모듈 목록
apache2ctl -M

# 설정 파일 문법 체크
sudo apachectl -t
</pre>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">자주 사용하는 작업</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 새 가상호스트 생성부터 활성화까지
sudo vim /etc/apache2/sites-available/newsite.conf
sudo a2ensite newsite.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

# SSL 인증서 발급 및 자동 설정
sudo certbot --apache -d newsite.com

# 로그 분석
sudo tail -1000 /var/log/apache2/access.log | grep "POST" | wc -l

# 디스크 사용량 확인
sudo du -sh /var/log/apache2/*

# 오래된 로그 정리
sudo find /var/log/apache2/ -name "*.log.*" -mtime +30 -delete
</pre>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">문제 상황별 체크리스트</h2>



<h3 class="wp-block-heading">사이트가 접속되지 않을 때</h3>



<ul class="wp-block-list">
<li>[ ] Apache 서비스 작동 확인: <code>sudo systemctl status apache2</code></li>



<li>[ ] 포트 리스닝 확인: <code>sudo netstat -tlnp | grep :80</code></li>



<li>[ ] 방화벽 확인: <code>sudo ufw status</code></li>



<li>[ ] DNS 설정 확인: <code>nslookup testdomain.com</code></li>



<li>[ ] 가상호스트 활성화 확인: <code>sudo apache2ctl -S</code></li>



<li>[ ] 설정 문법 확인: <code>sudo apache2ctl configtest</code></li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">502 Bad Gateway 발생 시</h3>



<ul class="wp-block-list">
<li>[ ] 백엔드 서비스 작동 확인: <code>curl http://localhost:3000/</code></li>



<li>[ ] 프록시 설정 확인: ProxyPass, ProxyPassReverse</li>



<li>[ ] SELinux 설정 확인 (CentOS/RHEL)</li>



<li>[ ] 타임아웃 설정 확인: ProxyTimeout</li>



<li>[ ] 에러 로그 확인: <code>sudo tail -50 /var/log/apache2/error.log</code></li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">SSL 인증서 오류 시</h3>



<ul class="wp-block-list">
<li>[ ] 인증서 파일 존재 확인</li>



<li>[ ] 인증서 유효기간 확인: <code>sudo certbot certificates</code></li>



<li>[ ] 인증서 경로 확인</li>



<li>[ ] 포트 443 리스닝 확인</li>



<li>[ ] SSL 모듈 활성화 확인: <code>apache2ctl -M | grep ssl</code></li>
</ul>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p></p>
<p>The post <a href="https://lycos7560.com/ubuntu/apache-%ea%b0%80%ec%83%81%ed%98%b8%ec%8a%a4%ed%8a%b8-%ec%84%a4%ec%a0%95-%ea%b0%80%ec%9d%b4%eb%93%9c/40358/">Apache Virtual Host Guide (Apache 가상 호스트 설정)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/ubuntu/apache-%ea%b0%80%ec%83%81%ed%98%b8%ec%8a%a4%ed%8a%b8-%ec%84%a4%ec%a0%95-%ea%b0%80%ec%9d%b4%eb%93%9c/40358/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[Linux] 리눅스 커널 및 버전 정보 확인 명령어</title>
		<link>https://lycos7560.com/etc/linux-%eb%a6%ac%eb%88%85%ec%8a%a4-%ec%bb%a4%eb%84%90-%eb%b0%8f-%eb%b2%84%ec%a0%84-%ec%a0%95%eb%b3%b4-%ed%99%95%ec%9d%b8-%eb%aa%85%eb%a0%b9%ec%96%b4/40334/</link>
					<comments>https://lycos7560.com/etc/linux-%eb%a6%ac%eb%88%85%ec%8a%a4-%ec%bb%a4%eb%84%90-%eb%b0%8f-%eb%b2%84%ec%a0%84-%ec%a0%95%eb%b3%b4-%ed%99%95%ec%9d%b8-%eb%aa%85%eb%a0%b9%ec%96%b4/40334/#comments</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Tue, 14 Oct 2025 20:33:58 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[기타]]></category>
		<category><![CDATA[/etc/issue]]></category>
		<category><![CDATA[/etc/os-release]]></category>
		<category><![CDATA[/proc]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[ArchLinux]]></category>
		<category><![CDATA[arm64]]></category>
		<category><![CDATA[armv7l]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Boot]]></category>
		<category><![CDATA[boot_messages]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[chmod]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[CPU]]></category>
		<category><![CDATA[CPU_info]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[diagnostics]]></category>
		<category><![CDATA[disk_info]]></category>
		<category><![CDATA[dmesg]]></category>
		<category><![CDATA[dnf]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[hardware_info]]></category>
		<category><![CDATA[hostname]]></category>
		<category><![CDATA[hostnamectl]]></category>
		<category><![CDATA[i386]]></category>
		<category><![CDATA[info_script]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[kernel_release]]></category>
		<category><![CDATA[kernel_version]]></category>
		<category><![CDATA[less]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux_commands]]></category>
		<category><![CDATA[Login]]></category>
		<category><![CDATA[lsb_release]]></category>
		<category><![CDATA[lscpu]]></category>
		<category><![CDATA[memory_info]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[network_info]]></category>
		<category><![CDATA[openSUSE]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[OS_info]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[Processor]]></category>
		<category><![CDATA[procfs]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[SUSE]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[system_check]]></category>
		<category><![CDATA[system_information]]></category>
		<category><![CDATA[system_logs]]></category>
		<category><![CDATA[system_script]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[uname]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vm]]></category>
		<category><![CDATA[x86_64]]></category>
		<category><![CDATA[yum]]></category>
		<category><![CDATA[가상화]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[관리자]]></category>
		<category><![CDATA[권한]]></category>
		<category><![CDATA[기초]]></category>
		<category><![CDATA[네트워크]]></category>
		<category><![CDATA[데스크탑]]></category>
		<category><![CDATA[로그인]]></category>
		<category><![CDATA[리눅스]]></category>
		<category><![CDATA[릴리스]]></category>
		<category><![CDATA[메모리]]></category>
		<category><![CDATA[메모리정보]]></category>
		<category><![CDATA[명령어]]></category>
		<category><![CDATA[모니터링]]></category>
		<category><![CDATA[문제해결]]></category>
		<category><![CDATA[버전]]></category>
		<category><![CDATA[부팅]]></category>
		<category><![CDATA[부팅메시지]]></category>
		<category><![CDATA[서버]]></category>
		<category><![CDATA[스크립트]]></category>
		<category><![CDATA[스토리지]]></category>
		<category><![CDATA[시스템관리]]></category>
		<category><![CDATA[시스템로그]]></category>
		<category><![CDATA[시스템점검]]></category>
		<category><![CDATA[시스템정보]]></category>
		<category><![CDATA[아키텍처]]></category>
		<category><![CDATA[운영체제]]></category>
		<category><![CDATA[운영체제정보]]></category>
		<category><![CDATA[진단]]></category>
		<category><![CDATA[커널]]></category>
		<category><![CDATA[커널릴리스]]></category>
		<category><![CDATA[커널버전]]></category>
		<category><![CDATA[터미널]]></category>
		<category><![CDATA[패키지]]></category>
		<category><![CDATA[프로세서]]></category>
		<category><![CDATA[플랫폼]]></category>
		<category><![CDATA[하드웨어]]></category>
		<category><![CDATA[호스트명]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40334</guid>

					<description><![CDATA[<p>🔥[Linux] 리눅스 커널 및 버전 정보 확인 명령어 1️⃣ 커널 버전 확인 uname 명령어 리눅스 시스템과 커널 정보를 확인할 때 쓰이는 아주 기본적인 도구 옵션 정리 옵션 설명 예시 -r 커널 버전만 출력 (release) 5.15.0-88-generic -v 커널 릴리스 정보 출력 (version) #90-Ubuntu SMP Fri Jul 14 00:44:00 UTC 2023 -s 커널 이름 출력 (system) Linux [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/etc/linux-%eb%a6%ac%eb%88%85%ec%8a%a4-%ec%bb%a4%eb%84%90-%eb%b0%8f-%eb%b2%84%ec%a0%84-%ec%a0%95%eb%b3%b4-%ed%99%95%ec%9d%b8-%eb%aa%85%eb%a0%b9%ec%96%b4/40334/">[Linux] 리눅스 커널 및 버전 정보 확인 명령어</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-3e20bc5d      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#linux-리눅스-커널-및-버전-정보-확인-명령어" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" />[Linux] 리눅스 커널 및 버전 정보 확인 명령어</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1-커널-버전-확인" class="uagb-toc-link__trigger">1&#x20e3; 커널 버전 확인</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#uname-명령어" class="uagb-toc-link__trigger">uname 명령어</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#옵션-정리" class="uagb-toc-link__trigger">옵션 정리</a></li></ul><li class="uagb-toc__list"><a href="#cat-procversion" class="uagb-toc-link__trigger">cat /proc/version</a></li></ul><li class="uagb-toc__list"><a href="#2-배포판-정보-확인" class="uagb-toc-link__trigger">2&#x20e3; 배포판 정보 확인</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#etcos-release-파일" class="uagb-toc-link__trigger">/etc/os-release 파일</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#주요-필드-설명" class="uagb-toc-link__trigger">주요 필드 설명</a></li></ul><li class="uagb-toc__list"><a href="#lsb-release-명령어" class="uagb-toc-link__trigger">lsb_release 명령어</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#hostnamectl-명령어" class="uagb-toc-link__trigger">hostnamectl 명령어</a></li></ul><li class="uagb-toc__list"><a href="#3-상세-시스템-정보" class="uagb-toc-link__trigger">3&#x20e3; 상세 시스템 정보</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#etcissue-파일" class="uagb-toc-link__trigger">/etc/issue 파일</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#dmesg-명령어" class="uagb-toc-link__trigger">dmesg 명령어</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#procsyskernel-디렉토리" class="uagb-toc-link__trigger">/proc/sys/kernel/ 디렉토리</a></li></ul><li class="uagb-toc__list"><a href="#4-하드웨어-아키텍처-확인" class="uagb-toc-link__trigger">4&#x20e3; 하드웨어 아키텍처 확인</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#주요-아키텍처-타입" class="uagb-toc-link__trigger">주요 아키텍처 타입</a></li></ul><li class="uagb-toc__list"><a href="#5-배포판별-특수-명령어" class="uagb-toc-link__trigger">5&#x20e3; 배포판별 특수 명령어</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#red-hat-centos-fedora" class="uagb-toc-link__trigger">Red Hat / CentOS / Fedora</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#debian-ubuntu" class="uagb-toc-link__trigger">Debian / Ubuntu</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#suse-opensuse" class="uagb-toc-link__trigger">SUSE / openSUSE</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#arch-linux" class="uagb-toc-link__trigger">Arch Linux</a></li></ul><li class="uagb-toc__list"><a href="#6-종합-정보-확인-스크립트" class="uagb-toc-link__trigger">6&#x20e3; 종합 정보 확인 스크립트</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#빠른-참조표" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 빠른 참조표</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#가장-많이-사용하는-명령어" class="uagb-toc-link__trigger">가장 많이 사용하는 명령어</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#상황별-추천-명령어" class="uagb-toc-link__trigger">상황별 추천 명령어</a></ul></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h1 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" />[Linux] 리눅스 커널 및 버전 정보 확인 명령어</h1>



<h2 class="wp-block-heading">1&#x20e3; 커널 버전 확인</h2>



<h3 class="wp-block-heading">uname 명령어</h3>



<p>리눅스 시스템과 커널 정보를 확인할 때 쓰이는 아주 기본적인 도구</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 커널 버전만 출력
uname -r

# 모든 시스템 정보 출력
uname -a

# 커널 이름 출력
uname -s

# 커널 릴리스 정보
uname -v
</pre>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">옵션 정리</h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>옵션</th><th>설명</th><th>예시</th></tr></thead><tbody><tr><td><code>-r</code></td><td>커널 버전만 출력 (release)</td><td><code>5.15.0-88-generic</code></td></tr><tr><td><code>-v</code></td><td>커널 릴리스 정보 출력 (version)</td><td><code>#90-Ubuntu SMP Fri Jul 14 00:44:00 UTC 2023</code></td></tr><tr><td><code>-s</code></td><td>커널 이름 출력 (system)</td><td><code>Linux</code></td></tr><tr><td><code>-n</code></td><td>호스트 이름 출력 (node)</td><td><code>myserver</code></td></tr><tr><td><code>-m</code></td><td>하드웨어 아키텍처 출력 (machine)</td><td><code>x86_64</code></td></tr><tr><td><code>-p</code></td><td>프로세서 종류 출력 (processor)</td><td><code>x86_64</code></td></tr><tr><td><code>-i</code></td><td>하드웨어 플랫폼 출력 (platform)</td><td><code>x86_64</code></td></tr><tr><td><code>-o</code></td><td>운영체제 이름 출력 (operating system)</td><td><code>GNU/Linux</code></td></tr><tr><td><code>-a</code></td><td>모든 정보 출력 (all)</td><td><code>Linux myserver 5.15.0-88-generic #90-Ubuntu SMP x86_64 GNU/Linux</code></td></tr></tbody></table></figure>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">cat /proc/version</h3>



<p><code>/proc</code>은 리눅스 커널이 제공하는 가상 파일 시스템 (<code>procfs</code>)로 실제 디스크에 존재하는 파일이 아니라, 커널 메모리 정보를 텍스트 파일 형태로 보여주는 인터페이스</p>



<p><code>/proc/version</code>은 커널 버전과 빌드 정보가 들어있는 파일로 <code>cat</code> 명령어로 내용을 읽어서 출력</p>



<ul class="wp-block-list">
<li>uname: 커널 런타임 정보</li>



<li>proc/version: 커널 빌드 정보 포함</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cat /proc/version
</pre>



<p><strong>출력 예시:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Linux version 5.15.0-91-generic (buildd@lcy02-amd64-047) (gcc version 11.4.0)
</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)"/>



<h2 class="wp-block-heading">2&#x20e3; 배포판 정보 확인</h2>



<h3 class="wp-block-heading">/etc/os-release 파일</h3>



<p><code>/etc/os-release</code>는 리눅스 배포판 정보가 들어있는 설정 파일로 커널 정보가 아니라 운영체제(OS) 배포판 정보를 담고 있음</p>



<p>대부분의 최신 리눅스 배포판에서 사용 가능하며 시스템 환경, 버전, 이름, ID, URL 등을 확인할 수 있음</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cat /etc/os-release
</pre>



<p><strong>출력 예시:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
ID=ubuntu
VERSION_ID="22.04"
PRETTY_NAME="Ubuntu 22.04.3 LTS"
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">주요 필드 설명</h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>필드</th><th>설명</th><th>예시</th></tr></thead><tbody><tr><td><code>NAME</code></td><td>배포판 이름</td><td><code>Ubuntu</code></td></tr><tr><td><code>VERSION</code></td><td>배포판 버전</td><td><code>22.04.3 LTS (Jammy Jellyfish)</code></td></tr><tr><td><code>ID</code></td><td>배포판 식별자</td><td><code>ubuntu</code></td></tr><tr><td><code>VERSION_ID</code></td><td>버전 번호</td><td><code>22.04</code></td></tr><tr><td><code>PRETTY_NAME</code></td><td>사람이 읽기 쉬운 전체 이름</td><td><code>Ubuntu 22.04.3 LTS</code></td></tr><tr><td><code>HOME_URL</code></td><td>배포판 홈페이지</td><td><code>https://www.ubuntu.com/</code></td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">lsb_release 명령어</h3>



<p>LSB(Linux Standard Base) 정보를 표시하는 명령어로, 배포판의 표준화된 정보를 제공</p>



<p>일부 시스템에서는 <code>lsb-release</code> 패키지 설치가 필요할 수 있음</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 모든 정보 출력
lsb_release -a

# 배포판 설명만 출력
lsb_release -d

# 버전만 출력
lsb_release -r

# 배포판 ID만 출력
lsb_release -i
</pre>



<p><strong>출력 예시:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">hostnamectl 명령어</h3>



<p>systemd 기반 시스템에서 호스트명과 함께 운영체제 정보를 확인할 수 있는 명령어</p>



<p>시스템 관리에 유용하며 호스트명, 운영체제, 커널, 아키텍처 등을 한눈에 볼 수 있음</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">hostnamectl
</pre>



<p><strong>출력 예시:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">   Static hostname: myserver
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 1234567890abcdef1234567890abcdef
           Boot ID: abcdef1234567890abcdef1234567890
    Virtualization: kvm
  Operating System: Ubuntu 22.04.3 LTS
            Kernel: Linux 5.15.0-91-generic
      Architecture: x86-64
</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)"/>



<h2 class="wp-block-heading">3&#x20e3; 상세 시스템 정보</h2>



<h3 class="wp-block-heading">/etc/issue 파일</h3>



<p>로그인 전 터미널에 표시되는 시스템 식별 정보를 담고 있는 파일</p>



<p>배포판에 따라 다른 내용을 표시하며, 간단한 배포판 정보를 빠르게 확인할 때 유용</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">cat /etc/issue
</pre>



<p><strong>출력 예시:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Ubuntu 22.04.3 LTS \n \l
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">dmesg 명령어</h3>



<p>커널 링 버퍼에 있는 메시지를 출력하는 명령어로, 부팅 시 커널이 출력한 메시지를 확인할 수 있음</p>



<p>시스템 부팅 과정과 하드웨어 인식 상태를 파악하는 데 유용</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 커널 버전 정보만 필터링
dmesg | grep "Linux version"

# 부팅 메시지 전체 확인
dmesg | less
</pre>



<p><strong>출력 예시:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[    0.000000] Linux version 5.15.0-91-generic (buildd@lcy02-amd64-047)
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">/proc/sys/kernel/ 디렉토리</h3>



<p>커널 파라미터와 설정 정보가 있는 디렉토리</p>



<p>실시간으로 커널 설정을 확인하고 필요시 변경할 수 있음</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 커널 버전
cat /proc/sys/kernel/osrelease

# 커널 타입
cat /proc/sys/kernel/ostype

# 호스트 이름
cat /proc/sys/kernel/hostname
</pre>



<p><strong>출력 예시:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">5.15.0-91-generic
Linux
myserver
</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)"/>



<h2 class="wp-block-heading">4&#x20e3; 하드웨어 아키텍처 확인</h2>



<p>시스템의 하드웨어 아키텍처 정보를 확인하는 명령어들</p>



<p>소프트웨어 호환성 확인이나 패키지 설치 시 필요한 정보</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 아키텍처 정보 (가장 많이 사용)
uname -m

# 프로세서 정보
uname -p

# 하드웨어 플랫폼
uname -i

# CPU 상세 정보
lscpu
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">주요 아키텍처 타입</h4>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>아키텍처</th><th>설명</th></tr></thead><tbody><tr><td><code>x86_64</code></td><td>64비트 인텔/AMD 프로세서</td></tr><tr><td><code>i386</code>, <code>i686</code></td><td>32비트 인텔 프로세서</td></tr><tr><td><code>aarch64</code></td><td>64비트 ARM 프로세서</td></tr><tr><td><code>armv7l</code></td><td>32비트 ARM 프로세서</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)"/>



<h2 class="wp-block-heading">5&#x20e3; 배포판별 특수 명령어</h2>



<h3 class="wp-block-heading">Red Hat / CentOS / Fedora</h3>



<p>Red Hat 계열 배포판에서 사용하는 버전 확인 방법</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># Red Hat 릴리스 정보
cat /etc/redhat-release

# CentOS 릴리스 패키지 정보
rpm -q centos-release

# Fedora 버전 확인
cat /etc/fedora-release
</pre>



<p><strong>출력 예시:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">CentOS Linux release 7.9.2009 (Core)
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Debian / Ubuntu</h3>



<p>Debian 계열 배포판에서 사용하는 버전 확인 방법</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># Debian 버전
cat /etc/debian_version

# Ubuntu 버전 (os-release 사용 권장)
cat /etc/lsb-release
</pre>



<p><strong>출력 예시:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">12.5
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">SUSE / openSUSE</h3>



<p>SUSE 계열 배포판에서 사용하는 버전 확인 방법</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># SUSE 릴리스 정보 (구버전)
cat /etc/SuSE-release

# openSUSE 버전 (최신)
cat /etc/os-release
</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">Arch Linux</h3>



<p>Arch Linux에서 사용하는 버전 확인 방법</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># Arch 릴리스 정보
cat /etc/arch-release

# 상세 정보
cat /etc/os-release
</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)"/>



<h2 class="wp-block-heading">6&#x20e3; 종합 정보 확인 스크립트</h2>



<p>여러 명령어를 한 번에 실행하여 시스템의 전체 정보를 확인할 수 있는 스크립트</p>



<p>시스템 진단이나 문서화 작업 시 유용하게 활용 가능</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">#!/bin/bash

echo "=========================================="
echo "  시스템 정보 확인"
echo "=========================================="

echo ""
echo "=== 커널 버전 ==="
uname -r

echo ""
echo "=== 전체 시스템 정보 ==="
uname -a

echo ""
echo "=== 배포판 정보 ==="
cat /etc/os-release | head -5

echo ""
echo "=== 아키텍처 ==="
uname -m

echo ""
echo "=== 호스트 정보 ==="
hostnamectl | grep -E "hostname|Operating|Kernel|Architecture"

echo ""
echo "=========================================="
</pre>



<p><strong>실행 방법:</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 실행 권한 부여
chmod +x system_info.sh

# 스크립트 실행
./system_info.sh
</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 빠른 참조표</h2>



<h3 class="wp-block-heading">가장 많이 사용하는 명령어</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>목적</th><th>명령어</th><th>설명</th></tr></thead><tbody><tr><td>커널 버전</td><td><code>uname -r</code></td><td>가장 빠르고 간단</td></tr><tr><td>전체 시스템 정보</td><td><code>uname -a</code></td><td>한 줄로 모든 정보</td></tr><tr><td>배포판 정보</td><td><code>cat /etc/os-release</code></td><td>표준 방식</td></tr><tr><td>상세 시스템 정보</td><td><code>hostnamectl</code></td><td>systemd 기반 시스템</td></tr><tr><td>아키텍처</td><td><code>uname -m</code></td><td>CPU 아키텍처 확인</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">상황별 추천 명령어</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>상황</th><th>추천 명령어</th></tr></thead><tbody><tr><td>처음 서버 접속</td><td><code>uname -a &amp;&amp; cat /etc/os-release</code></td></tr><tr><td>패키지 설치 전</td><td><code>uname -m &amp;&amp; cat /etc/os-release</code></td></tr><tr><td>문제 해결</td><td><code>dmesg | grep -i error</code></td></tr><tr><td>빠른 확인</td><td><code>uname -r</code></td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)"/>



<p></p>
<p>The post <a href="https://lycos7560.com/etc/linux-%eb%a6%ac%eb%88%85%ec%8a%a4-%ec%bb%a4%eb%84%90-%eb%b0%8f-%eb%b2%84%ec%a0%84-%ec%a0%95%eb%b3%b4-%ed%99%95%ec%9d%b8-%eb%aa%85%eb%a0%b9%ec%96%b4/40334/">[Linux] 리눅스 커널 및 버전 정보 확인 명령어</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/etc/linux-%eb%a6%ac%eb%88%85%ec%8a%a4-%ec%bb%a4%eb%84%90-%eb%b0%8f-%eb%b2%84%ec%a0%84-%ec%a0%95%eb%b3%b4-%ed%99%95%ec%9d%b8-%eb%aa%85%eb%a0%b9%ec%96%b4/40334/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>MySQL 서비스 관리 명령어 (Ubuntu)</title>
		<link>https://lycos7560.com/ubuntu/mysql-%ec%84%9c%eb%b9%84%ec%8a%a4-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4-ubuntu/40254/</link>
					<comments>https://lycos7560.com/ubuntu/mysql-%ec%84%9c%eb%b9%84%ec%8a%a4-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4-ubuntu/40254/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Wed, 13 Aug 2025 11:50:10 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[기타]]></category>
		<category><![CDATA[3306]]></category>
		<category><![CDATA[ALTER USER]]></category>
		<category><![CDATA[ALTERUSER]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[Command Line]]></category>
		<category><![CDATA[configuration file]]></category>
		<category><![CDATA[CPU]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Data Backup]]></category>
		<category><![CDATA[data migration]]></category>
		<category><![CDATA[Data Recovery]]></category>
		<category><![CDATA[data security]]></category>
		<category><![CDATA[DataBase]]></category>
		<category><![CDATA[database administrator]]></category>
		<category><![CDATA[database list]]></category>
		<category><![CDATA[database management]]></category>
		<category><![CDATA[DB]]></category>
		<category><![CDATA[DBA]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Development Environment]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Disk]]></category>
		<category><![CDATA[error resolution]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[GRANT]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[information]]></category>
		<category><![CDATA[iptables.]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[listening]]></category>
		<category><![CDATA[local access]]></category>
		<category><![CDATA[Manual]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[my.cnf]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL account]]></category>
		<category><![CDATA[MySQL backup]]></category>
		<category><![CDATA[MySQL client]]></category>
		<category><![CDATA[MySQL configuration]]></category>
		<category><![CDATA[MySQL installation]]></category>
		<category><![CDATA[MySQL monitoring]]></category>
		<category><![CDATA[MySQL recovery]]></category>
		<category><![CDATA[MySQL setup]]></category>
		<category><![CDATA[MySQL status]]></category>
		<category><![CDATA[MySQL tips]]></category>
		<category><![CDATA[MySQL tutorial]]></category>
		<category><![CDATA[MySQL version]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[MySQL계정]]></category>
		<category><![CDATA[MySQL모니터링]]></category>
		<category><![CDATA[MySQL백업]]></category>
		<category><![CDATA[MySQL버전]]></category>
		<category><![CDATA[MySQL복구]]></category>
		<category><![CDATA[MySQL상태]]></category>
		<category><![CDATA[MySQL서비스]]></category>
		<category><![CDATA[MySQL설정]]></category>
		<category><![CDATA[MySQL설치]]></category>
		<category><![CDATA[MySQL클라이언트]]></category>
		<category><![CDATA[MySQL튜토리얼]]></category>
		<category><![CDATA[MySQL팁]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[Port Number]]></category>
		<category><![CDATA[privilege management]]></category>
		<category><![CDATA[privileges]]></category>
		<category><![CDATA[problem solving]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[PROCESSLIST]]></category>
		<category><![CDATA[Production Environment]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[Remote Access]]></category>
		<category><![CDATA[remote connection]]></category>
		<category><![CDATA[resource]]></category>
		<category><![CDATA[REVOKE]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[running queries]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[security settings]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[server administration]]></category>
		<category><![CDATA[server operation]]></category>
		<category><![CDATA[service management]]></category>
		<category><![CDATA[service restart]]></category>
		<category><![CDATA[service start]]></category>
		<category><![CDATA[service stop]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Shell스크립트]]></category>
		<category><![CDATA[SHOW STATUS]]></category>
		<category><![CDATA[SHOW VARIABLES]]></category>
		<category><![CDATA[SHOWSTATUS]]></category>
		<category><![CDATA[SHOWVARIABLES]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL query]]></category>
		<category><![CDATA[SQL쿼리]]></category>
		<category><![CDATA[status check]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[superuser]]></category>
		<category><![CDATA[system engineer]]></category>
		<category><![CDATA[system management]]></category>
		<category><![CDATA[systemctl]]></category>
		<category><![CDATA[TABLE STATUS]]></category>
		<category><![CDATA[TABLESTATUS]]></category>
		<category><![CDATA[tech info]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[tuning]]></category>
		<category><![CDATA[TUTORIAL]]></category>
		<category><![CDATA[ufw]]></category>
		<category><![CDATA[User]]></category>
		<category><![CDATA[user list]]></category>
		<category><![CDATA[User Management]]></category>
		<category><![CDATA[version check]]></category>
		<category><![CDATA[가이드]]></category>
		<category><![CDATA[개발]]></category>
		<category><![CDATA[개발자]]></category>
		<category><![CDATA[개발환경]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[관리]]></category>
		<category><![CDATA[권한]]></category>
		<category><![CDATA[권한관리]]></category>
		<category><![CDATA[기술정보]]></category>
		<category><![CDATA[기초]]></category>
		<category><![CDATA[네트워크]]></category>
		<category><![CDATA[데브옵스]]></category>
		<category><![CDATA[데이터]]></category>
		<category><![CDATA[데이터마이그레이션]]></category>
		<category><![CDATA[데이터백업]]></category>
		<category><![CDATA[데이터베이스]]></category>
		<category><![CDATA[데이터베이스관리]]></category>
		<category><![CDATA[데이터베이스관리자]]></category>
		<category><![CDATA[데이터베이스목록]]></category>
		<category><![CDATA[데이터보안]]></category>
		<category><![CDATA[데이터복구]]></category>
		<category><![CDATA[디스크]]></category>
		<category><![CDATA[로그분석]]></category>
		<category><![CDATA[로컬접속]]></category>
		<category><![CDATA[리눅스]]></category>
		<category><![CDATA[리모트접속]]></category>
		<category><![CDATA[리소스]]></category>
		<category><![CDATA[리스닝]]></category>
		<category><![CDATA[마이SQL]]></category>
		<category><![CDATA[마이그레이션]]></category>
		<category><![CDATA[매뉴얼]]></category>
		<category><![CDATA[메모리]]></category>
		<category><![CDATA[명령어]]></category>
		<category><![CDATA[모니터링]]></category>
		<category><![CDATA[문제해결]]></category>
		<category><![CDATA[방화벽]]></category>
		<category><![CDATA[배치]]></category>
		<category><![CDATA[백업]]></category>
		<category><![CDATA[버전확인]]></category>
		<category><![CDATA[보안]]></category>
		<category><![CDATA[보안설정]]></category>
		<category><![CDATA[복구]]></category>
		<category><![CDATA[비밀번호]]></category>
		<category><![CDATA[사용자관리]]></category>
		<category><![CDATA[사용자목록]]></category>
		<category><![CDATA[상태확인]]></category>
		<category><![CDATA[서버]]></category>
		<category><![CDATA[서버관리]]></category>
		<category><![CDATA[서버구축]]></category>
		<category><![CDATA[서버마이그레이션]]></category>
		<category><![CDATA[서버운영]]></category>
		<category><![CDATA[서비스관리]]></category>
		<category><![CDATA[서비스시작]]></category>
		<category><![CDATA[서비스재시작]]></category>
		<category><![CDATA[서비스중지]]></category>
		<category><![CDATA[설정파일]]></category>
		<category><![CDATA[성능튜닝]]></category>
		<category><![CDATA[센토스]]></category>
		<category><![CDATA[쉘]]></category>
		<category><![CDATA[슈퍼유저]]></category>
		<category><![CDATA[스크립트]]></category>
		<category><![CDATA[스토리지]]></category>
		<category><![CDATA[시스템]]></category>
		<category><![CDATA[시스템관리]]></category>
		<category><![CDATA[시스템로그]]></category>
		<category><![CDATA[시스템엔지니어]]></category>
		<category><![CDATA[실행중인쿼리]]></category>
		<category><![CDATA[예약작업]]></category>
		<category><![CDATA[오류해결]]></category>
		<category><![CDATA[우분투]]></category>
		<category><![CDATA[운영]]></category>
		<category><![CDATA[운영환경]]></category>
		<category><![CDATA[원격접속]]></category>
		<category><![CDATA[유지보수]]></category>
		<category><![CDATA[일반사용자]]></category>
		<category><![CDATA[자동화]]></category>
		<category><![CDATA[정보]]></category>
		<category><![CDATA[커맨드라인]]></category>
		<category><![CDATA[쿼리]]></category>
		<category><![CDATA[터미널]]></category>
		<category><![CDATA[튜닝]]></category>
		<category><![CDATA[튜토리얼]]></category>
		<category><![CDATA[트러블슈팅]]></category>
		<category><![CDATA[패스워드]]></category>
		<category><![CDATA[포트]]></category>
		<category><![CDATA[포트번호]]></category>
		<category><![CDATA[프로덕션]]></category>
		<category><![CDATA[프로세스]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40254</guid>

					<description><![CDATA[<p>MySQL 서비스 관리 명령어 상태 확인 서비스 시작 서비스 재시작 서비스 중지 부팅 시 자동 시작 설정 파일 추가 유용한 명령어 백업 및 복구</p>
<p>The post <a href="https://lycos7560.com/ubuntu/mysql-%ec%84%9c%eb%b9%84%ec%8a%a4-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4-ubuntu/40254/">MySQL 서비스 관리 명령어 (Ubuntu)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-2c60eeae      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#mysql-서비스-관리-명령어" class="uagb-toc-link__trigger">MySQL 서비스 관리 명령어</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#상태-확인" class="uagb-toc-link__trigger">상태 확인</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#서비스-시작" class="uagb-toc-link__trigger">서비스 시작</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#서비스-재시작" class="uagb-toc-link__trigger">서비스 재시작</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#서비스-중지" class="uagb-toc-link__trigger">서비스 중지</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#부팅-시-자동-시작" class="uagb-toc-link__trigger">부팅 시 자동 시작</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#설정-파일" class="uagb-toc-link__trigger">설정 파일</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#추가-유용한-명령어" class="uagb-toc-link__trigger">추가 유용한 명령어</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#백업-및-복구" class="uagb-toc-link__trigger">백업 및 복구</a></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">MySQL 서비스 관리 명령어</h2>



<h3 class="wp-block-heading">상태 확인</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo systemctl status mysql</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">서비스 시작</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo systemctl start mysql</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">서비스 재시작</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 설정 변경 후 MySQL 재시작 필요
sudo systemctl restart mysql</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">서비스 중지</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo systemctl stop mysql</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">부팅 시 자동 시작</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 부팅 시 자동 시작 활성화
sudo systemctl enable mysql

# 부팅 시 자동 시작 비활성화
sudo systemctl disable mysql</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">설정 파일</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo cat /etc/mysql/my.cnf

# 현재 상태 정보 확인
mysql -u root -p -e "SHOW STATUS;"

# MySQL 클라이언트로 현재 설정 값 확인
mysql -u root -p -e "SHOW VARIABLES;"

# 특정 설정 값만 필터링해서 보기 (예: buffer_pool_size)
mysql -u root -p -e "SHOW VARIABLES LIKE '%buffer_pool_size%';"</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">추가 유용한 명령어</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># MySQL 프로세스 확인
ps aux | grep mysql

# MySQL 버전 확인
mysql -V
mysql -u root -p -e "SELECT version();"

# 사용자 목록 확인
mysql -u root -p -e "SELECT user, host FROM mysql.user;"

# 데이터베이스 목록 확인
mysql -u root -p -e "SHOW DATABASES;"

# 테이블 상태 확인
mysql -u root -p -e "SHOW TABLE STATUS;"

# 실행 중인 쿼리 확인
mysql -u root -p -e "SHOW PROCESSLIST;"</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">백업 및 복구</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="false" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 전체 데이터베이스 백업
sudo mysqldump -u root -p --all-databases > full_backup.sql

# 특정 데이터베이스 백업
sudo mysqldump -u root -p database_name > db_backup.sql

# 백업 파일로 복구
mysql -u root -p &lt; full_backup.sql</pre>
<p>The post <a href="https://lycos7560.com/ubuntu/mysql-%ec%84%9c%eb%b9%84%ec%8a%a4-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4-ubuntu/40254/">MySQL 서비스 관리 명령어 (Ubuntu)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/ubuntu/mysql-%ec%84%9c%eb%b9%84%ec%8a%a4-%ea%b4%80%eb%a6%ac-%eb%aa%85%eb%a0%b9%ec%96%b4-ubuntu/40254/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ubuntu export 명령어 (.NET)</title>
		<link>https://lycos7560.com/ubuntu/ubuntu-export-%eb%aa%85%eb%a0%b9%ec%96%b4-net/40241/</link>
					<comments>https://lycos7560.com/ubuntu/ubuntu-export-%eb%aa%85%eb%a0%b9%ec%96%b4-net/40241/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Fri, 08 Aug 2025 06:21:42 +0000</pubDate>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[app-config]]></category>
		<category><![CDATA[appsettings]]></category>
		<category><![CDATA[appsettings.development.json]]></category>
		<category><![CDATA[appsettings.json]]></category>
		<category><![CDATA[appsettings.production.json]]></category>
		<category><![CDATA[appsettings.staging.json]]></category>
		<category><![CDATA[asp-net-core]]></category>
		<category><![CDATA[aspnetcore]]></category>
		<category><![CDATA[aspnetcore-environment]]></category>
		<category><![CDATA[aspnetcore-urls]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bash_profile]]></category>
		<category><![CDATA[bashrc]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[child-process]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[command-line]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[connection-string-env]]></category>
		<category><![CDATA[connection-strings]]></category>
		<category><![CDATA[CSharp]]></category>
		<category><![CDATA[database-config]]></category>
		<category><![CDATA[database-connection]]></category>
		<category><![CDATA[db-connection]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[dotnet-config]]></category>
		<category><![CDATA[dotnet-core]]></category>
		<category><![CDATA[dotnet-environment]]></category>
		<category><![CDATA[dotnet-environment-variable]]></category>
		<category><![CDATA[dotnet-publish]]></category>
		<category><![CDATA[dotnet-run]]></category>
		<category><![CDATA[dotnet-settings]]></category>
		<category><![CDATA[env]]></category>
		<category><![CDATA[Environment]]></category>
		<category><![CDATA[environment-config]]></category>
		<category><![CDATA[environment-example]]></category>
		<category><![CDATA[environment-variable]]></category>
		<category><![CDATA[environment-variable-setup]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[export-command]]></category>
		<category><![CDATA[export-example]]></category>
		<category><![CDATA[export-variable]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux-dotnet]]></category>
		<category><![CDATA[linux-export]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[port-config]]></category>
		<category><![CDATA[printenv]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[prod]]></category>
		<category><![CDATA[Production]]></category>
		<category><![CDATA[production-server]]></category>
		<category><![CDATA[publish]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[secrets]]></category>
		<category><![CDATA[secure-environment-variable]]></category>
		<category><![CDATA[server-config]]></category>
		<category><![CDATA[server-environment]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[shell-variable]]></category>
		<category><![CDATA[stage]]></category>
		<category><![CDATA[Staging]]></category>
		<category><![CDATA[staging-server]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[system-environment]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[systemd-service]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[test-environment]]></category>
		<category><![CDATA[ubuntu-dotnet]]></category>
		<category><![CDATA[ubuntu-dotnet-deploy]]></category>
		<category><![CDATA[url-binding]]></category>
		<category><![CDATA[개발]]></category>
		<category><![CDATA[개발서버]]></category>
		<category><![CDATA[개발환경]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[기초]]></category>
		<category><![CDATA[닷넷]]></category>
		<category><![CDATA[닷넷코어]]></category>
		<category><![CDATA[리눅스]]></category>
		<category><![CDATA[민감정보]]></category>
		<category><![CDATA[배포]]></category>
		<category><![CDATA[배포서버]]></category>
		<category><![CDATA[배포환경]]></category>
		<category><![CDATA[서버환경]]></category>
		<category><![CDATA[설정파일]]></category>
		<category><![CDATA[쉘]]></category>
		<category><![CDATA[스테이징]]></category>
		<category><![CDATA[스테이징환경]]></category>
		<category><![CDATA[우분투]]></category>
		<category><![CDATA[운영환경]]></category>
		<category><![CDATA[터미널]]></category>
		<category><![CDATA[테스트서버]]></category>
		<category><![CDATA[테스트환경]]></category>
		<category><![CDATA[포트설정]]></category>
		<category><![CDATA[프로덕션]]></category>
		<category><![CDATA[프로덕션환경]]></category>
		<category><![CDATA[프로세스]]></category>
		<category><![CDATA[환경변수]]></category>
		<category><![CDATA[환경변수보안]]></category>
		<category><![CDATA[환경설정]]></category>
		<category><![CDATA[환경설정파일]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40241</guid>

					<description><![CDATA[<p>📄 Ubuntu export 명령어 1️⃣ 개요 export 명령어는 현재 셸 환경에 환경 변수를 등록하거나 수정하는 데 사용 등록된 변수는 현재 셸과 그 자식 프로세스에서 사용할 수 있음 2️⃣ 기본 문법 3️⃣ 특징 4️⃣ 확인 방법 💡 .NET에서의 사용 예시 1️⃣ ASP.NET Core에서 환경 지정 프로젝트 유형 권장 환경 변수 이유 ASP.NET Core 웹앱 ASPNETCORE_ENVIRONMENT 웹 [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/ubuntu/ubuntu-export-%eb%aa%85%eb%a0%b9%ec%96%b4-net/40241/">Ubuntu export 명령어 (.NET)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-b32ec816      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#ubuntu-export-명령어" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c4.png" alt="📄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Ubuntu export 명령어</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1-개요" class="uagb-toc-link__trigger">1&#x20e3; 개요</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#2-기본-문법" class="uagb-toc-link__trigger">2&#x20e3; 기본 문법</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#3-특징" class="uagb-toc-link__trigger">3&#x20e3; 특징</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#4-확인-방법" class="uagb-toc-link__trigger">4&#x20e3; 확인 방법</a></li></ul></li><li class="uagb-toc__list"><a href="#net에서의-사용-예시" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> .NET에서의 사용 예시</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#1-aspnet-core에서-환경-지정" class="uagb-toc-link__trigger">1&#x20e3; ASP.NET Core에서 환경 지정</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#2-net에서-특정-포트로-실행" class="uagb-toc-link__trigger">2&#x20e3; .NET에서 특정 포트로 실행</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#3-영구-설정" class="uagb-toc-link__trigger">3&#x20e3; 영구 설정</a></ul></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c4.png" alt="📄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Ubuntu export 명령어</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">1&#x20e3; 개요</h3>



<p><code>export</code> 명령어는 <strong>현재 셸 환경에 환경 변수를 등록하거나 수정</strong>하는 데 사용</p>



<p>등록된 변수는 <strong>현재 셸과 그 자식 프로세스</strong>에서 사용할 수 있음</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2&#x20e3; 기본 문법</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">export 변수명=값

또는

export 변수명</pre>



<ul class="wp-block-list">
<li><code>변수명=값</code> : 새 환경 변수를 만들거나 기존 변수 값을 변경</li>



<li><code>변수명</code> : 이미 선언된 변수를 환경 변수로 승격</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3&#x20e3; 특징</h3>



<ul class="wp-block-list">
<li>환경 변수는 <strong>프로세스 간 전달</strong> 가능 (부모 → 자식).</li>



<li><code>export</code>로 설정한 변수는 <strong>현재 세션</strong>에서만 유효.</li>



<li>영구적으로 유지하려면 <code>~/.bashrc</code> 또는 <code>~/.bash_profile</code>에 추가해야 함.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">4&#x20e3; 확인 방법</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">echo $변수명       # 변수 값 출력
printenv 변수명    # 환경 변수 확인
env                # 전체 환경 변수 목록
</pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)"/>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> .NET에서의 사용 예시</h2>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">1&#x20e3; ASP.NET Core에서 환경 지정</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">export ASPNETCORE_ENVIRONMENT=Development
export ASPNETCORE_ENVIRONMENT=Staging
export ASPNETCORE_ENVIRONMENT=Production

export DOTNET_ENVIRONMENT=Development
export DOTNET_ENVIRONMENT=Staging // 실제 운영 환경(Production)과 거의 동일하지만, 사용자에게는 서비스되지 않는 사전 검증용 환경
export DOTNET_ENVIRONMENT=Production

dotnet run</pre>



<ul class="wp-block-list">
<li>예를 들어 <code>Development</code>로 설정하면, 개발 모드 환경 설정(<code>appsettings.Development.json</code>)을 자동으로 사용</li>
</ul>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>프로젝트 유형</th><th>권장 환경 변수</th><th>이유</th></tr></thead><tbody><tr><td>ASP.NET Core 웹앱</td><td>ASPNETCORE_ENVIRONMENT</td><td>웹 호스팅에 최적화된 공식 표준이며 <code>DOTNET_ENVIRONMENT</code>보다 <strong>우선순위가 높</strong></td></tr><tr><td>Worker Service</td><td>DOTNET_ENVIRONMENT</td><td>웹과 관련 없는 일반적인 .NET 호스팅 환경을 위한 표준 변수</td></tr><tr><td>콘솔 앱</td><td>DOTNET_ENVIRONMENT</td><td>범용적 사용</td></tr><tr><td>Blazor</td><td>ASPNETCORE_ENVIRONMENT</td><td>ASP.NET Core 호스팅 모델을 기반으로 하므로 웹 앱과 동일한 기준</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">2&#x20e3; .NET에서 특정 포트로 실행</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 5005번 포트로 애플리케이션 실행
export ASPNETCORE_URLS="http://localhost:5005"

dotnet run</pre>



<ul class="wp-block-list">
<li><code>ASPNETCORE_URLS</code> 환경 변수를 이용해 실행 시 포트를 변경할 수 있음</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading">3&#x20e3; 영구 설정</h3>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># 1. .bashrc 파일에 환경 변수 설정 명령어를 추가
echo 'export DOTNET_ENVIRONMENT=Production' >> ~/.bashrc

# 2. 수정된 .bashrc 설정을 현재 터미널 세션에 바로 적용
source ~/.bashrc

# 3. 설정 확인
echo $DOTNET_ENVIRONMENT</pre>



<p></p>
<p>The post <a href="https://lycos7560.com/ubuntu/ubuntu-export-%eb%aa%85%eb%a0%b9%ec%96%b4-net/40241/">Ubuntu export 명령어 (.NET)</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/ubuntu/ubuntu-export-%eb%aa%85%eb%a0%b9%ec%96%b4-net/40241/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SMTP, 우분투 Postfix</title>
		<link>https://lycos7560.com/ubuntu/smtp-%ec%9a%b0%eb%b6%84%ed%88%ac-postfix/40162/</link>
					<comments>https://lycos7560.com/ubuntu/smtp-%ec%9a%b0%eb%b6%84%ed%88%ac-postfix/40162/#respond</comments>
		
		<dc:creator><![CDATA[lycos7560]]></dc:creator>
		<pubDate>Fri, 23 May 2025 13:09:05 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[pop3]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[공부]]></category>
		<category><![CDATA[기초]]></category>
		<category><![CDATA[우분투]]></category>
		<guid isPermaLink="false">https://lycos7560.com/?p=40162</guid>

					<description><![CDATA[<p>✅ SMTP? SMTP(Simple Mail Transfer Protocol)는 이메일을 전송하기 위해 사용되는 표준 통신 프로토콜 인터넷 상에서 이메일 클라이언트 ↔ 메일 서버 ↔ 수신자 메일 서버 간에 텍스트 기반 명령어를 통해 메시지를 전송합니다. 📌 SMTP의 역할 📦 SMTP 흐름 요약 ✅ SMTP 기본 포트 포트 용도 설명 25 기본 SMTP 포트 서버 간 메일 전송 (많이 차단됨) [&#8230;]</p>
<p>The post <a href="https://lycos7560.com/ubuntu/smtp-%ec%9a%b0%eb%b6%84%ed%88%ac-postfix/40162/">SMTP, 우분투 Postfix</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></description>
										<content:encoded><![CDATA[				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-908bbcff      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							목차						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#smtp" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP?</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#smtp의-역할" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP의 역할</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#smtp-흐름-요약" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP 흐름 요약</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#smtp-기본-포트" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP 기본 포트</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#smtp-주요-명령어-명령-기반-프로토콜" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c4.png" alt="📄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP 주요 명령어 (명령 기반 프로토콜)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#smtp-보안-방식" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP 보안 방식</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#smtp-클라이언트-구성-요소-개발-시" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP 클라이언트 구성 요소 (개발 시)</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#smtp와-관련된-주요-용어" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4eb.png" alt="📫" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP와 관련된 주요 용어</a></li></ul></li><li class="uagb-toc__list"><a href="#pop3란" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3란?</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#pop3-기본-특징" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 기본 특징</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#pop3-동작-흐름" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e5.png" alt="📥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 동작 흐름</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#pop3-주요-명령어" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c4.png" alt="📄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 주요 명령어</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#pop3-포트-및-암호화" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 포트 및 암호화</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#pop3-vs-imap" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f19a.png" alt="🆚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 vs IMAP</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#실제-메일-서비스의-pop3-설정-예시" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e7.png" alt="📧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 실제 메일 서비스의 POP3 설정 예시</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#pop3를-사용할-수-있는-클라이언트환경" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e7.png" alt="📧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3를 사용할 수 있는 클라이언트/환경</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#pop3-사용-시-주의사항" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 사용 시 주의사항</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#정리-요약" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4da.png" alt="📚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 정리 요약</a><li class="uagb-toc__list"><li class="uagb-toc__list"><a href="#우분투-메일서버-구축-추가-자료-동영상" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4eb.png" alt="📫" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 우분투 메일서버 구축 추가 자료 동영상</a></li></ul></li></ul></li><li class="uagb-toc__list"><a href="#우분투-postfix-설치" class="uagb-toc-link__trigger"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 우분투 Postfix 설치</a></ul></ul></ol>					</div>
									</div>
				</div>
			


<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP?</h2>



<p><strong>SMTP</strong>(Simple Mail Transfer Protocol)는 이메일을 <strong>전송</strong>하기 위해 사용되는 <strong>표준 통신 프로토콜</strong></p>



<p>인터넷 상에서 <strong>이메일 클라이언트 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 메일 서버 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 수신자 메일 서버</strong> 간에 <strong>텍스트 기반 명령어</strong>를 통해 메시지를 전송합니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP의 역할</h3>



<ul class="wp-block-list">
<li>이메일 <strong>작성자 → 서버 전송 (Client to Server)</strong></li>



<li>이메일 <strong>서버 → 수신자 서버 전송 (Server to Server)</strong></li>



<li><strong>전송만 가능</strong>, <strong>수신은 불가능</strong> (수신은 POP3 또는 IMAP 프로토콜이 담당)</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP 흐름 요약</h3>



<figure class="wp-block-image size-full"><img decoding="async" width="724" height="318" src="https://lycos7560.com/wp-content/uploads/2025/07/image-17.png" alt="" class="wp-image-40163" srcset="https://lycos7560.com/wp-content/uploads/2025/07/image-17.png 724w, https://lycos7560.com/wp-content/uploads/2025/07/image-17-300x132.png 300w" sizes="(max-width: 724px) 100vw, 724px" /><figcaption class="wp-element-caption"><a href="https://www.youtube.com/watch?v=96inHerdQhA&amp;list=PLVsNizTWUw7HAcyW6bma7trGJfiTSDA44&amp;index=51" target="_blank" rel="noreferrer noopener">https://www.youtube.com/watch?v=96inHerdQhA&amp;list=PLVsNizTWUw7HAcyW6bma7trGJfiTSDA44&amp;index=51</a></figcaption></figure>



<pre class="EnlighterJSRAW" data-enlighter-language="raw" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[보낸 사람]
    ↓ SMTP
[보낸 사람 메일 서버]
    ↓ SMTP
[받는 사람 메일 서버]
    ↓ IMAP 또는 POP3
[받는 사람]</pre>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP 기본 포트</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>포트</th><th>용도</th><th>설명</th></tr></thead><tbody><tr><td>25</td><td>기본 SMTP 포트</td><td>서버 간 메일 전송 (많이 차단됨)</td></tr><tr><td>465</td><td>SMTP over SSL (암호화)</td><td>구식이나 일부 서비스에서 사용</td></tr><tr><td>587</td><td>SMTP with STARTTLS</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 현재 권장되는 전송 방식</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c4.png" alt="📄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP 주요 명령어 (명령 기반 프로토콜)</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>명령어</th><th>설명</th></tr></thead><tbody><tr><td><code>HELO</code> / <code>EHLO</code></td><td>클라이언트가 서버에게 자신을 소개</td></tr><tr><td><code>MAIL FROM:</code></td><td>발신자 이메일 주소</td></tr><tr><td><code>RCPT TO:</code></td><td>수신자 이메일 주소</td></tr><tr><td><code>DATA</code></td><td>본문 시작 (제목, 본문 등 포함)</td></tr><tr><td><code>QUIT</code></td><td>연결 종료</td></tr></tbody></table></figure>



<p>SMTP는 사람이 타이핑할 수도 있을 정도로 단순한 텍스트 프로토콜입니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP 보안 방식</h3>



<p>SMTP는 원래 <strong>암호화되지 않은 상태</strong>로 설계되었기 때문에, 현대에서는 보안 강화가 필요합니다.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>보안방식</th><th>설명</th></tr></thead><tbody><tr><td>STARTTLS</td><td>일반 연결을 TLS로 승격 (587번 포트에서 사용)</td></tr><tr><td>SMTPS (SSL)</td><td>암호화된 SMTP (465번 포트)</td></tr><tr><td>인증 필요 (AUTH)</td><td>대부분의 SMTP 서버는 사용자 인증 필수</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP 클라이언트 구성 요소 (개발 시)</h3>



<ul class="wp-block-list">
<li><strong>SMTP 서버 주소</strong>: ex) <code>smtp.gmail.com</code>, <code>smtp.naver.com</code></li>



<li><strong>포트 번호</strong>: 보통 587 (STARTTLS) 또는 465 (SSL)</li>



<li><strong>이메일 계정 정보</strong>: 인증을 위한 ID / 앱 비밀번호</li>



<li><strong>TLS/SSL 설정</strong>: 암호화 전송 필요</li>



<li><strong>보낸 사람, 받는 사람, 제목, 본문, 첨부파일 등</strong></li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4eb.png" alt="📫" class="wp-smiley" style="height: 1em; max-height: 1em;" /> SMTP와 관련된 주요 용어</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>용어</th><th>설명</th></tr></thead><tbody><tr><td>MUA (Mail User Agent)</td><td>이메일 클라이언트 (ex. Outlook, Gmail 앱 등)</td></tr><tr><td>MTA (Mail Transfer Agent)</td><td>메일 전송 서버 (SMTP 서버)</td></tr><tr><td>MDA (Mail Delivery Agent)</td><td>메일 수신 및 보관 서버 (POP3/IMAP 서버)</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" style="margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3란?</h2>



<p>POP3 (Post Office Protocol version 3)는 <strong>원격 메일 서버에 저장된 이메일을 다운로드해서 로컬에 저장하는 수신 프로토콜</strong>입니다.</p>



<ul class="wp-block-list">
<li><strong>SMTP</strong>가 &#8220;이메일을 보내는&#8221; 프로토콜이라면</li>



<li><strong>POP3</strong>는 &#8220;이메일을 받아오는&#8221; 데 사용됩니다.</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 기본 특징</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>설명</th></tr></thead><tbody><tr><td>프로토콜 목적</td><td>메일 수신 (다운로드)</td></tr><tr><td>기본 포트</td><td><code>110</code> (일반), <code>995</code> (SSL)</td></tr><tr><td>메시지 저장 방식</td><td>메일을 <strong>로컬로 다운로드하고 서버에서 삭제</strong> (기본 동작)</td></tr><tr><td>연결 방식</td><td>단방향 (서버 → 클라이언트)</td></tr><tr><td>프로토콜 상태</td><td>상태 유지 없음 (Stateless)</td></tr><tr><td>대안 프로토콜</td><td>IMAP (보다 동기화 중심)</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e5.png" alt="📥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 동작 흐름</h3>



<ol class="wp-block-list">
<li>메일 클라이언트(Outlook, Thunderbird 등)가 POP3 서버에 연결</li>



<li>사용자 인증 (ID/PW)</li>



<li>서버에 저장된 메일을 다운로드</li>



<li>다운로드 후 서버에서 메일 삭제 (옵션: 서버에 복사본 유지 가능)</li>



<li>연결 종료</li>
</ol>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c4.png" alt="📄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 주요 명령어</h3>



<p>POP3는 <strong>텍스트 기반 명령어</strong>로 동작합니다 (Telnet 등으로 직접 테스트 가능).</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>명령어</th><th>설명</th></tr></thead><tbody><tr><td><code>USER username</code></td><td>사용자 이름 입력</td></tr><tr><td><code>PASS password</code></td><td>비밀번호 입력</td></tr><tr><td><code>STAT</code></td><td>메시지 개수, 전체 크기 확인</td></tr><tr><td><code>LIST</code></td><td>메시지 목록 확인</td></tr><tr><td><code>RETR n</code></td><td>n번째 메시지 다운로드</td></tr><tr><td><code>DELE n</code></td><td>n번째 메시지 삭제 요청</td></tr><tr><td><code>QUIT</code></td><td>연결 종료 및 삭제 적용</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 포트 및 암호화</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>포트</th><th>설명</th></tr></thead><tbody><tr><td>110</td><td>일반 POP3 (암호화 없음)</td></tr><tr><td>995</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 over SSL (보안 연결)</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f19a.png" alt="🆚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 vs IMAP</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>POP3</th><th>IMAP</th></tr></thead><tbody><tr><td>메일 저장 위치</td><td>클라이언트 (로컬)</td><td>서버 (중앙 저장)</td></tr><tr><td>디바이스 동기화</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 불가능</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 가능</td></tr><tr><td>폴더 지원</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 없음</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 있음</td></tr><tr><td>서버에서 삭제</td><td>기본적으로 삭제</td><td>기본적으로 유지</td></tr><tr><td>사용 대상</td><td>단일 장치에서 메일 확인</td><td>여러 기기에서 메일 동기화</td></tr></tbody></table></figure>



<p><strong>POP3는 단일 장치 기반</strong>, <strong>IMAP은 클라우드 기반 메일 관리</strong>에 더 적합합니다.</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e7.png" alt="📧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 실제 메일 서비스의 POP3 설정 예시</h3>



<ul class="wp-block-list">
<li>Gmail POP3 설정</li>
</ul>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>값</th></tr></thead><tbody><tr><td>서버 주소</td><td><code>pop.gmail.com</code></td></tr><tr><td>포트</td><td><code>995</code></td></tr><tr><td>보안</td><td>SSL 필수</td></tr><tr><td>인증 필요</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ID, 앱 비밀번호 필요</td></tr></tbody></table></figure>



<p>설정 경로: Gmail 설정 → 전달 및 POP/IMAP → POP 사용 설정</p>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e7.png" alt="📧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3를 사용할 수 있는 클라이언트/환경</h3>



<ul class="wp-block-list">
<li>데스크탑: Outlook, Thunderbird, Windows Mail</li>



<li>모바일: 대부분의 이메일 앱에서 설정 가능</li>



<li>.NET 또는 다른 언어에서 직접 구현 가능 (<code>MailKit</code>, <code>OpenPop.NET</code> 등 라이브러리 사용)</li>
</ul>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> POP3 사용 시 주의사항</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>설명</th></tr></thead><tbody><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 서버 저장 유무 설정</td><td>대부분 클라이언트에서 &#8220;서버에 복사본 유지&#8221; 옵션 있음</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 여러 기기 동시 사용 어려움</td><td>한 번 내려받으면 다른 기기에서 확인 어려움</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 보안 필수</td><td>항상 SSL 포트를 사용해야 함 (995)</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f511.png" alt="🔑" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 앱 비밀번호 사용</td><td>Gmail/Naver 등은 앱 비밀번호 요구</td></tr></tbody></table></figure>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4da.png" alt="📚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 정리 요약</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>항목</th><th>POP3 요약</th></tr></thead><tbody><tr><td>목적</td><td>메일 수신 (다운로드 방식)</td></tr><tr><td>특징</td><td>클라이언트 중심, 단방향</td></tr><tr><td>기본 포트</td><td>110 (일반), 995 (SSL)</td></tr><tr><td>대체 프로토콜</td><td>IMAP (동기화 중심)</td></tr><tr><td>적합한 경우</td><td>단일 디바이스, 오프라인 사용 중심 환경</td></tr></tbody></table></figure>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4eb.png" alt="📫" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 우분투 메일서버 구축 추가 자료 동영상</h3>



<div class="wp-block-uagb-container uagb-block-4a2b8e98 alignfull uagb-is-root-container"><div class="uagb-container-inner-blocks-wrap">
<div class="wp-block-uagb-container uagb-block-282be809">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="[우분투 리눅스 기초 강의] 50강. 메일 서버 ① | 개념과 환경 구성도" width="1778" height="1000" src="https://www.youtube.com/embed/96inHerdQhA?list=PLVsNizTWUw7HAcyW6bma7trGJfiTSDA44" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
</div>



<div class="wp-block-uagb-container uagb-block-07b60996">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="[우분투 리눅스 기초 강의] 51강. 메일 서버 ② | 메일 서버를 위한 네임 서버 구현" width="1778" height="1000" src="https://www.youtube.com/embed/tiqgmVpqeLw?list=PLVsNizTWUw7HAcyW6bma7trGJfiTSDA44" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
</div>



<div class="wp-block-uagb-container uagb-block-e79e4ef4">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="[우분투 리눅스 기초 강의] 52강. 메일 서버 ③ | 메일 서버 구현" width="1778" height="1000" src="https://www.youtube.com/embed/E5ZhskvAx64?list=PLVsNizTWUw7HAcyW6bma7trGJfiTSDA44" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
</div>



<div class="wp-block-uagb-container uagb-block-446193d1">
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="[우분투 리눅스 기초 강의] 53강. 메일 서버 ④ | 웹 메일 설치" width="1778" height="1000" src="https://www.youtube.com/embed/agx1hrLYS9E?list=PLVsNizTWUw7HAcyW6bma7trGJfiTSDA44" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
</div>
</div></div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 우분투 Postfix 설치</h2>



<p>Sendmail은 복잡하고 보안에 취약해서, 보통은 <strong>Postfix</strong>를 많이 사용</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo apt update
sudo apt install postfix
sudo apt install mailutils</pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Postfix가 설치되면 </p>



<pre class="EnlighterJSRAW" data-enlighter-language="bash" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">설정
/etc/postfix/main.cf 

포트 변경
sudo vim /etc/postfix/master.cf

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       y       -       -       smtpd
3512      inet  n       -       y       -       -       smtpd

# 25번(smtp) 포트를 유지하면서 3512 포트를 추가</pre>



<p></p>
<p>The post <a href="https://lycos7560.com/ubuntu/smtp-%ec%9a%b0%eb%b6%84%ed%88%ac-postfix/40162/">SMTP, 우분투 Postfix</a> appeared first on <a href="https://lycos7560.com">어제와 내일의 나 그 사이의 이야기</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lycos7560.com/ubuntu/smtp-%ec%9a%b0%eb%b6%84%ed%88%ac-postfix/40162/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
