<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>SOON 기술 &amp; AI 스크랩 노트</title><link href="/" rel="alternate"></link><link href="/feeds/all.atom.xml" rel="self"></link><id>/</id><updated>2026-10-12T13:11:00+09:00</updated><entry><title>clear 명령어를 cls로 변경하기</title><link href="/posts/clear-myeongryeongeoreul-clsro-byeongyeonghagi.html" rel="alternate"></link><published>2026-10-12T13:11:00+09:00</published><updated>2026-10-12T13:11:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2026-10-12:/posts/clear-myeongryeongeoreul-clsro-byeongyeonghagi.html</id><summary type="html">&lt;p data-path-to-node="0"&gt;우분투 리눅스 환경에서 &lt;code data-path-to-node="0" data-index-in-node="13"&gt;clear&lt;/code&gt; 명령어 대신 &lt;code data-path-to-node="0" data-index-in-node="26"&gt;cls&lt;/code&gt;를 입력해 화면을 지우려면, 셸의 …&lt;/p&gt;</summary><content type="html">&lt;p data-path-to-node="0"&gt;우분투 리눅스 환경에서 &lt;code data-path-to-node="0" data-index-in-node="13"&gt;clear&lt;/code&gt; 명령어 대신 &lt;code data-path-to-node="0" data-index-in-node="26"&gt;cls&lt;/code&gt;를 입력해 화면을 지우려면, 셸의 별칭(alias)을 설정하면 됩니다.&lt;/p&gt;

&lt;h3 data-path-to-node="2"&gt;1. 즉시 적용하기 (현재 터미널 세션만)&lt;/h3&gt;
&lt;p data-path-to-node="3"&gt;현재 열려 있는 터미널 창에서 바로 사용하려면 아래 명령어를 입력합니다.&lt;/p&gt;

&lt;div class="code-block ng-tns-c324720856-506 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="3"&gt;
&lt;div class="formatted-code-block-internal-container ng-tns-c324720856-506"&gt;
&lt;div class="animated-opacity ng-tns-c324720856-506"&gt;
&lt;div class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c324720856-506 ng-star-inserted"&gt;&lt;span class="ng-tns-c324720856-506"&gt;Bash&lt;/span&gt;
&lt;div class="buttons ng-tns-c324720856-506 ng-star-inserted"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class="ng-tns-c324720856-506"&gt;&lt;code class="code-container formatted ng-tns-c324720856-506" role="text" data-test-id="code-content"&gt;&lt;span class="hljs-built_in"&gt;alias&lt;/span&gt; cls=&lt;span class="hljs-string"&gt;'clear'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul data-path-to-node="5"&gt;
    &lt;li&gt;
&lt;p data-path-to-node="5,0,0"&gt;&lt;b data-path-to-node="5,0,0" data-index-in-node="0"&gt;성공 확인:&lt;/b&gt; 터미널에 &lt;code data-path-to-node="5,0,0" data-index-in-node="12"&gt;cls&lt;/code&gt;를 입력했을 때 화면이 깨끗하게 지워지는지 확인합니다.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node="7"&gt;2. 영구적으로 적용하기 (터미널 재접속 후에도 유지)&lt;/h3&gt;
&lt;p data-path-to-node="8"&gt;터미널을 닫거나 재부팅한 뒤에도 계속 &lt;code data-path-to-node="8" data-index-in-node="21"&gt;cls&lt;/code&gt;를 사용하려면 사용자 설정 파일(&lt;code data-path-to-node="8" data-index-in-node="42"&gt;.bashrc&lt;/code&gt;)에 등록해야 합니다.&lt;/p&gt;

&lt;ol class="md-has-block-component" start="1" data-path-to-node="9"&gt;
    &lt;li&gt;
&lt;p data-path-to-node="9,0,0"&gt;&lt;b data-path-to-node="9,0,0" data-index-in-node="0"&gt;설정 파일 열기&lt;/b&gt;&lt;/p&gt;

&lt;div class="code-block ng-tns-c324720856-507 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="6"&gt;
&lt;div class="formatted-code-block-internal-container ng-tns-c324720856-507"&gt;
&lt;div class="animated-opacity ng-tns-c324720856-507"&gt;
&lt;div class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c324720856-507 ng-star-inserted"&gt;&lt;span class="ng-tns-c324720856-507"&gt;Bash&lt;/span&gt;
&lt;div class="buttons ng-tns-c324720856-507 ng-star-inserted"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class="ng-tns-c324720856-507"&gt;&lt;code class="code-container formatted ng-tns-c324720856-507" role="text" data-test-id="code-content"&gt;nano ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;
&lt;p data-path-to-node="9,1,0"&gt;&lt;b data-path-to-node="9,1,0" data-index-in-node="0"&gt;내용 추가&lt;/b&gt; 파일 맨 아래로 이동하여 다음 줄을 추가합니다.&lt;/p&gt;

&lt;div class="code-block ng-tns-c324720856-508 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="9"&gt;
&lt;div class="formatted-code-block-internal-container ng-tns-c324720856-508"&gt;
&lt;div class="animated-opacity ng-tns-c324720856-508"&gt;
&lt;div class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c324720856-508 ng-star-inserted"&gt;&lt;span class="ng-tns-c324720856-508"&gt;Bash&lt;/span&gt;
&lt;div class="buttons ng-tns-c324720856-508 ng-star-inserted"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class="ng-tns-c324720856-508"&gt;&lt;code class="code-container formatted ng-tns-c324720856-508" role="text" data-test-id="code-content"&gt;&lt;span class="hljs-built_in"&gt;alias&lt;/span&gt; cls=&lt;span class="hljs-string"&gt;'clear'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;
&lt;p data-path-to-node="9,2,0"&gt;&lt;b data-path-to-node="9,2,0" data-index-in-node="0"&gt;저장 및 종료&lt;/b&gt;&lt;/p&gt;

&lt;ul data-path-to-node="9,2,1"&gt;
    &lt;li&gt;
&lt;p id="p-rc_80d9c1f13fceeb48-935" data-path-to-node="9,2,1,0,0"&gt;&lt;span data-path-to-node="9,2,1,0,0,0"&gt;&lt;b data-path-to-node="9,2,1,0,0,0" data-index-in-node="0"&gt;Ctrl + O&lt;/b&gt;를 누르고 &lt;b data-path-to-node="9,2,1,0,0,0" data-index-in-node="14"&gt;Enter&lt;/b&gt;를 눌러 저장합니다&lt;/span&gt;&lt;span data-path-to-node="9,2,1,0,0,2"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;p id="p-rc_80d9c1f13fceeb48-936" data-path-to-node="9,2,1,1,0"&gt;&lt;span data-path-to-node="9,2,1,1,0,0"&gt;&lt;b data-path-to-node="9,2,1,1,0,0" data-index-in-node="0"&gt;Ctrl + X&lt;/b&gt;를 눌러 편집기를 빠져나옵니다&lt;/span&gt;&lt;span data-path-to-node="9,2,1,1,0,2"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;p data-path-to-node="9,3,0"&gt;&lt;b data-path-to-node="9,3,0" data-index-in-node="0"&gt;설정 즉시 반영&lt;/b&gt;&lt;/p&gt;

&lt;div class="code-block ng-tns-c324720856-509 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="12"&gt;
&lt;div class="formatted-code-block-internal-container ng-tns-c324720856-509"&gt;
&lt;div class="animated-opacity ng-tns-c324720856-509"&gt;
&lt;div class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c324720856-509 ng-star-inserted"&gt;&lt;span class="ng-tns-c324720856-509"&gt;Bash&lt;/span&gt;
&lt;div class="buttons ng-tns-c324720856-509 ng-star-inserted"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class="ng-tns-c324720856-509"&gt;&lt;code class="code-container formatted ng-tns-c324720856-509" role="text" data-test-id="code-content"&gt;&lt;span class="hljs-built_in"&gt;source&lt;/span&gt; ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;</content><category term="우분투"></category></entry><entry><title>윈도우 캡처 키 또는 PrtSC 키가 안될때</title><link href="/posts/windou-kaebceo-ki-ddoneun-prtsc-kiga-andoelddae.html" rel="alternate"></link><published>2026-08-11T12:55:00+09:00</published><updated>2026-08-11T12:55:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2026-08-11:/posts/windou-kaebceo-ki-ddoneun-prtsc-kiga-andoelddae.html</id><summary type="html">&lt;div class="flex gap-2 flex-wrap mt-1 max-w-[80%] justify-end"&gt;&lt;/div&gt;
&lt;div&gt;&lt;img class="alignnone size-medium wp-image-415" src="http://www.soon7shop.kr/wordpress/wp-content/uploads/2026/08/Screenshot-2026-08-11-at-21.54.13-300x73.png" alt="" width="300" height="73" /&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div class="" data-turn-id-container="d78fe991-dfd7-4df1-a2d7-b8955231a06c" data-is-intersecting="true"&gt;&lt;section class="text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;amp;:has([data-writing-block])&amp;gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" dir="auto" data-turn-id="d78fe991-dfd7-4df1-a2d7-b8955231a06c" data-turn-id-container="d78fe991-dfd7-4df1-a2d7-b8955231a06c" data-testid="conversation-turn-2" data-turn="assistant"&gt;
&lt;div class="text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)"&gt;
&lt;div class="[--thread-content-max-width:40rem] @w-lg/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" data-conversation-screenshot-content=""&gt;
&lt;div class="flex max-w-full flex-col gap-4 grow"&gt;
&lt;div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;amp;]:mt-1" dir="auto" tabindex="0" data-message-author-role="assistant" data-message-id="7748c79a-1431-4a93-b8b9-3a00b80ad81f" data-turn-start-message="true" data-message-model-slug="gpt-5-6"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden"&gt;
&lt;div class="markdown prose dark:prose-invert wrap-break-word w-full light markdown-new-styling"&gt;
&lt;p data-start="0" data-end="90"&gt;사진의 오류는 &lt;strong data-start="8" data-end="76"&gt;윈도우 캡처 도구(캡처 및 스케치/ Snipping Tool)의 &lt;code data-start="46" data-end="64"&gt;ms-screenclip://&lt;/code&gt; 연결이 깨진 상태 …&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;/div&gt;</summary><content type="html">&lt;div class="flex gap-2 flex-wrap mt-1 max-w-[80%] justify-end"&gt;&lt;/div&gt;
&lt;div&gt;&lt;img class="alignnone size-medium wp-image-415" src="http://www.soon7shop.kr/wordpress/wp-content/uploads/2026/08/Screenshot-2026-08-11-at-21.54.13-300x73.png" alt="" width="300" height="73" /&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div class="" data-turn-id-container="d78fe991-dfd7-4df1-a2d7-b8955231a06c" data-is-intersecting="true"&gt;&lt;section class="text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;amp;:has([data-writing-block])&amp;gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" dir="auto" data-turn-id="d78fe991-dfd7-4df1-a2d7-b8955231a06c" data-turn-id-container="d78fe991-dfd7-4df1-a2d7-b8955231a06c" data-testid="conversation-turn-2" data-turn="assistant"&gt;
&lt;div class="text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)"&gt;
&lt;div class="[--thread-content-max-width:40rem] @w-lg/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" data-conversation-screenshot-content=""&gt;
&lt;div class="flex max-w-full flex-col gap-4 grow"&gt;
&lt;div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;amp;]:mt-1" dir="auto" tabindex="0" data-message-author-role="assistant" data-message-id="7748c79a-1431-4a93-b8b9-3a00b80ad81f" data-turn-start-message="true" data-message-model-slug="gpt-5-6"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden"&gt;
&lt;div class="markdown prose dark:prose-invert wrap-break-word w-full light markdown-new-styling"&gt;
&lt;p data-start="0" data-end="90"&gt;사진의 오류는 &lt;strong data-start="8" data-end="76"&gt;윈도우 캡처 도구(캡처 및 스케치/ Snipping Tool)의 &lt;code data-start="46" data-end="64"&gt;ms-screenclip://&lt;/code&gt; 연결이 깨진 상태&lt;/strong&gt;에서 발생하는 오류입니다.&lt;/p&gt;
&lt;p data-start="92" data-end="161"&gt;즉, &lt;strong data-start="95" data-end="157"&gt;&lt;code data-start="97" data-end="114"&gt;Win + Shift + S&lt;/code&gt;를 눌렀는데 캡처 프로그램을 실행할 연결 프로그램이 등록되어 있지 않은 것&lt;/strong&gt;입니다.&lt;/p&gt;

&lt;h3 data-section-id="yw9tqg" data-start="163" data-end="192"&gt;1. 가장 먼저 해볼 방법 — 캡처 도구 복구&lt;/h3&gt;
&lt;ol data-start="194" data-end="328"&gt;
    &lt;li data-section-id="9c59w4" data-start="194" data-end="208"&gt;&lt;strong data-start="197" data-end="208"&gt;시작 → 설정&lt;/strong&gt;&lt;/li&gt;
    &lt;li data-section-id="pgq0x7" data-start="209" data-end="225"&gt;&lt;strong data-start="212" data-end="225"&gt;앱 → 설치된 앱&lt;/strong&gt;&lt;/li&gt;
    &lt;li data-section-id="kam8ct" data-start="226" data-end="246"&gt;검색창에 &lt;strong data-start="234" data-end="243"&gt;캡처 도구&lt;/strong&gt; 입력&lt;/li&gt;
    &lt;li data-section-id="33e7ti" data-start="247" data-end="275"&gt;&lt;code data-start="250" data-end="257"&gt;캡처 도구&lt;/code&gt; 오른쪽 &lt;strong data-start="262" data-end="275"&gt;⋯ → 고급 옵션&lt;/strong&gt;&lt;/li&gt;
    &lt;li data-section-id="2dvz37" data-start="276" data-end="308"&gt;아래쪽에서
&lt;ul data-start="288" data-end="308"&gt;
    &lt;li data-section-id="rnr2f5" data-start="288" data-end="296"&gt;&lt;strong data-start="290" data-end="296"&gt;종료&lt;/strong&gt;&lt;/li&gt;
    &lt;li data-section-id="hhxuz5" data-start="300" data-end="308"&gt;&lt;strong data-start="302" data-end="308"&gt;복구&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li data-section-id="2t97ip" data-start="309" data-end="328"&gt;그래도 안 되면 &lt;strong data-start="321" data-end="328"&gt;초기화   &lt;/strong&gt;그 다음 PC를 재부팅하고 &lt;code data-start="345" data-end="362"&gt;Win + Shift + S&lt;/code&gt;를 눌러보세요.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="372" data-end="375" /&gt;

&lt;h3 data-section-id="dcy2j3" data-start="377" data-end="400"&gt;2. 캡처 도구 자체가 손상된 경우&lt;/h3&gt;
&lt;p data-start="402" data-end="470"&gt;&lt;strong data-start="402" data-end="421"&gt;Microsoft Store&lt;/strong&gt;에서 &lt;code data-start="424" data-end="446"&gt;캡처 도구(Snipping Tool)&lt;/code&gt;를 찾아 &lt;strong data-start="451" data-end="466"&gt;업데이트 또는 재설치&lt;/strong&gt;하세요.&lt;/p&gt;
&lt;p data-start="472" data-end="523"&gt;또는 관리자 권한으로 &lt;strong data-start="484" data-end="498"&gt;PowerShell&lt;/strong&gt;을 실행해서 다음 명령을 사용할 수 있습니다.&lt;/p&gt;

&lt;div class="relative w-full mt-4 mb-1"&gt;
&lt;div class=""&gt;
&lt;div class="contents"&gt;
&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;
&lt;div class="relative h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback"&gt;
&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;
&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;
&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="relative"&gt;
&lt;div class="h-full min-h-0 min-w-0"&gt;
&lt;div class="h-full min-h-0 min-w-0"&gt;
&lt;div class=""&gt;
&lt;div class="relative"&gt;
&lt;div class=""&gt;
&lt;div class="relative z-0 flex max-w-full"&gt;
&lt;div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr"&gt;
&lt;div class="cm-scroller"&gt;
&lt;pre class="cm-content q9tKkq_readonly m-0"&gt;&lt;code&gt;&lt;span class="ͼm"&gt;Get-AppxPackage&lt;/span&gt; &lt;span class="ͼg"&gt;*&lt;/span&gt;&lt;span class="ͼm"&gt;Microsoft&lt;/span&gt;.&lt;span class="ͼm"&gt;ScreenSketch&lt;/span&gt;&lt;span class="ͼg"&gt;*&lt;/span&gt; &lt;span class="ͼg"&gt;|&lt;/span&gt; &lt;span class="ͼm"&gt;Remove-AppxPackage&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=""&gt;
&lt;div class=""&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="606" data-end="648"&gt;그 후 Microsoft Store에서 &lt;strong data-start="628" data-end="637"&gt;캡처 도구&lt;/strong&gt;를 다시 설치합니다.&lt;/p&gt;


&lt;hr data-start="650" data-end="653" /&gt;

&lt;h3 data-section-id="f86b3u" data-start="655" data-end="676"&gt;3. 윈도우 시스템 파일도 확인&lt;/h3&gt;
&lt;p data-start="678" data-end="723"&gt;위 방법으로 해결되지 않는다면 &lt;strong data-start="695" data-end="709"&gt;관리자 권한 CMD&lt;/strong&gt;에서 순서대로 실행하세요.&lt;/p&gt;

&lt;div class="relative w-full mt-4 mb-1"&gt;
&lt;div class=""&gt;
&lt;div class="contents"&gt;
&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;
&lt;div class="relative h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback"&gt;
&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;
&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;
&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="relative"&gt;
&lt;div class="h-full min-h-0 min-w-0"&gt;
&lt;div class="h-full min-h-0 min-w-0"&gt;
&lt;div class=""&gt;
&lt;div class="relative"&gt;
&lt;div class=""&gt;
&lt;div class="relative z-0 flex max-w-full"&gt;
&lt;div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr"&gt;
&lt;div class="cm-scroller"&gt;
&lt;pre class="cm-content q9tKkq_readonly m-0"&gt;&lt;code&gt;DISM /Online /Cleanup-Image /RestoreHealth&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=""&gt;
&lt;div class=""&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="780" data-end="785"&gt;완료 후:&lt;/p&gt;

&lt;div class="relative w-full mt-4 mb-1"&gt;
&lt;div class=""&gt;
&lt;div class="contents"&gt;
&lt;div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;
&lt;div class="relative h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback"&gt;
&lt;div class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;
&lt;div class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;
&lt;div class="sticky bg-token-border-light"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="relative"&gt;
&lt;div class="h-full min-h-0 min-w-0"&gt;
&lt;div class="h-full min-h-0 min-w-0"&gt;
&lt;div class=""&gt;
&lt;div class="relative"&gt;
&lt;div class=""&gt;
&lt;div class="relative z-0 flex max-w-full"&gt;
&lt;div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr"&gt;
&lt;div class="cm-scroller"&gt;
&lt;pre class="cm-content q9tKkq_readonly m-0"&gt;&lt;code&gt;sfc /scannow&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=""&gt;
&lt;div class=""&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="812" data-end="824"&gt;완료되면 재부팅합니다.&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/section&gt;&lt;/div&gt;</content><category term="컴퓨터"></category></entry><entry><title>한글(한컴)을 설치후에 키보드 타이핑 글자 간격이 넓게 나오거나 오류가 발생할때</title><link href="/posts/hangeulhankeomeul-seolcihue-kibodeu-taiping-geulja-gangyeogi-neolbge-naogeona-oryuga-balsaenghalddae.html" rel="alternate"></link><published>2026-05-21T11:43:00+09:00</published><updated>2026-05-21T11:43:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2026-05-21:/posts/hangeulhankeomeul-seolcihue-kibodeu-taiping-geulja-gangyeogi-neolbge-naogeona-oryuga-balsaenghalddae.html</id><summary type="html">&lt;h5&gt;&lt;strong&gt;한컴  입력기 삭제 방법&lt;/strong&gt;&lt;/h5&gt;
&lt;h5 data-start="0" data-end="52"&gt;Windows에서 한컴 입력기(한컴 IME)를 삭제하거나 기본 입력기에 …&lt;/h5&gt;</summary><content type="html">&lt;h5&gt;&lt;strong&gt;한컴  입력기 삭제 방법&lt;/strong&gt;&lt;/h5&gt;
&lt;h5 data-start="0" data-end="52"&gt;Windows에서 한컴 입력기(한컴 IME)를 삭제하거나 기본 입력기에서 제외하는 방법입니다.&lt;/h5&gt;
&lt;h5 data-section-id="1tq45s2" data-start="54" data-end="77"&gt;1. 한컴 입력기만 제거하기 (권장)&lt;/h5&gt;
&lt;h5 data-section-id="1xhee49" data-start="79" data-end="93"&gt;Windows 11&lt;/h5&gt;
&lt;ol data-start="94" data-end="204"&gt;
    &lt;li data-section-id="5qpoua" data-start="94" data-end="117"&gt;
&lt;h5&gt;&lt;strong data-start="97" data-end="103"&gt;설정&lt;/strong&gt; → &lt;strong data-start="106" data-end="117"&gt;시간 및 언어&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="o04v5j" data-start="118" data-end="132"&gt;
&lt;h5&gt;&lt;strong data-start="121" data-end="132"&gt;언어 및 지역&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="bkhui8" data-start="133" data-end="162"&gt;
&lt;h5&gt;한국어 오른쪽 &lt;code data-start="144" data-end="147"&gt;…&lt;/code&gt; 클릭 → &lt;strong data-start="153" data-end="162"&gt;언어 옵션&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="10u66a2" data-start="163" data-end="204"&gt;
&lt;h5&gt;&lt;strong data-start="166" data-end="173"&gt;키보드&lt;/strong&gt; 항목에서&lt;/h5&gt;
&lt;h5&gt;&lt;code data-start="184" data-end="192"&gt;한컴 입력기&lt;/code&gt; 선택 → &lt;strong data-start="198" data-end="204"&gt;제거&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 data-section-id="1xhee48" data-start="206" data-end="220"&gt;Windows 10&lt;/h5&gt;
&lt;ol data-start="221" data-end="312"&gt;
    &lt;li data-section-id="vi5e23" data-start="221" data-end="230"&gt;
&lt;h5&gt;&lt;strong data-start="224" data-end="230"&gt;설정&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="1g8jmgy" data-start="231" data-end="245"&gt;
&lt;h5&gt;&lt;strong data-start="234" data-end="245"&gt;시간 및 언어&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="1cv0250" data-start="246" data-end="255"&gt;
&lt;h5&gt;&lt;strong data-start="249" data-end="255"&gt;언어&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="8kqk9o" data-start="256" data-end="274"&gt;
&lt;h5&gt;한국어 클릭 → &lt;strong data-start="268" data-end="274"&gt;옵션&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="xbc96j" data-start="275" data-end="312"&gt;
&lt;h5&gt;키보드 목록에서&lt;/h5&gt;
&lt;h5&gt;&lt;code data-start="292" data-end="300"&gt;한컴 입력기&lt;/code&gt; 선택 → &lt;strong data-start="306" data-end="312"&gt;제거&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="314" data-end="317" /&gt;

&lt;h5 data-section-id="1tp1ze5" data-start="319" data-end="338"&gt;2. 한컴오피스 자체 제거하기&lt;/h5&gt;
&lt;h5 data-start="340" data-end="385"&gt;한컴오피스를 사용하지 않는다면 프로그램 자체를 삭제하면 입력기도 같이 제거됩니다.&lt;/h5&gt;
&lt;ol data-start="387" data-end="471"&gt;
    &lt;li data-section-id="1wgm1lu" data-start="387" data-end="397"&gt;
&lt;h5&gt;&lt;strong data-start="390" data-end="397"&gt;제어판&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="zzyp8r" data-start="398" data-end="414"&gt;
&lt;h5&gt;&lt;strong data-start="401" data-end="414"&gt;프로그램 및 기능&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="fu3a3c" data-start="415" data-end="458"&gt;
&lt;h5&gt;&lt;span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"&gt;&lt;span class="whitespace-normal"&gt;한컴오피스&lt;/span&gt;&lt;/span&gt; 선택&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="1tmqcg1" data-start="459" data-end="471"&gt;
&lt;h5&gt;&lt;strong data-start="462" data-end="471"&gt;제거/변경&lt;/strong&gt;&lt;/h5&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h5 data-start="473" data-end="476"&gt;또는:&lt;/h5&gt;
&lt;ul data-start="478" data-end="505"&gt;
    &lt;li data-section-id="hb0hir" data-start="478" data-end="505"&gt;
&lt;h5&gt;설정 → 앱 → 설치된 앱 → 한컴오피스 제거&lt;/h5&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="507" data-end="510" /&gt;

&lt;h5 data-section-id="1gzr8aw" data-start="512" data-end="533"&gt;3. 제거가 안 될 때 해결 방법&lt;/h5&gt;
&lt;h5 data-section-id="135v1ci" data-start="535" data-end="553"&gt;작업 관리자 종료 후 삭제&lt;/h5&gt;
&lt;ol data-start="554" data-end="635"&gt;
    &lt;li data-section-id="13hf5eu" data-start="554" data-end="577"&gt;
&lt;h5&gt;&lt;code data-start="557" data-end="577"&gt;Ctrl + Shift + Esc&lt;/code&gt;&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="17fxb4s" data-start="578" data-end="590"&gt;
&lt;h5&gt;작업 관리자 실행&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="gdq343" data-start="591" data-end="623"&gt;
&lt;h5&gt;&lt;code data-start="594" data-end="606"&gt;HncIme.exe&lt;/code&gt; 또는 한컴 관련 프로세스 종료&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="x6fx77" data-start="624" data-end="635"&gt;
&lt;h5&gt;다시 제거 시도&lt;/h5&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="637" data-end="640" /&gt;

&lt;h5 data-section-id="1q8urtq" data-start="642" data-end="673"&gt;4. 기본 입력기를 Microsoft 입력기로 변경&lt;/h5&gt;
&lt;h5 data-start="675" data-end="692"&gt;한컴 입력기가 자꾸 활성화되면:&lt;/h5&gt;
&lt;ol data-start="694" data-end="769"&gt;
    &lt;li data-section-id="1hdcsta" data-start="694" data-end="719"&gt;
&lt;h5&gt;설정 → 시간 및 언어 → 언어 및 지역&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="17ppoq7" data-start="720" data-end="734"&gt;
&lt;h5&gt;한국어 → 언어 옵션&lt;/h5&gt;
&lt;/li&gt;
    &lt;li data-section-id="1y01hf6" data-start="735" data-end="769"&gt;
&lt;h5&gt;키보드에서&lt;/h5&gt;
&lt;h5&gt;&lt;code data-start="749" data-end="764"&gt;Microsoft 입력기&lt;/code&gt;만 남기기&lt;/h5&gt;
&lt;/li&gt;
&lt;/ol&gt;</content><category term="메인"></category></entry><entry><title>윈도우 11 SMB 속도 저하 해결 / 윈도우 11에서 문제 100% 해결 됩니다.</title><link href="/posts/windou-11-smb-sogdo-jeoha-haegyeol-windou-11eseo-munje-100-haegyeol-doebnida.html" rel="alternate"></link><published>2026-04-20T13:22:00+09:00</published><updated>2026-04-20T13:22:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2026-04-20:/posts/windou-11-smb-sogdo-jeoha-haegyeol-windou-11eseo-munje-100-haegyeol-doebnida.html</id><summary type="html">&lt;p&gt;&lt;strong&gt;문제 제시&lt;/strong&gt; / 윈도우 10에서 나스에 smb 방식으로 파일을 업로드 하면 1기가 속도(100mbps) 이상 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;strong&gt;문제 제시&lt;/strong&gt; / 윈도우 10에서 나스에 smb 방식으로 파일을 업로드 하면 1기가 속도(100mbps) 이상 나온다.윈도우 11에서는 나스에 파일을 업로드 하면 50%이하 속도로 저하 된다.(40~50mbps) 이하 속도 나온다.그럼 wdcloudex2ultra 나스를 사용중에 있고 SMB 프로토콜은 smb1,2,3 선택 되어 있다. 뭐가 문제 인가?&lt;/p&gt;
&lt;p data-path-to-node="0"&gt;윈도우 11에서 유독 SMB 전송 속도가 저하되는 현상은 상당히 흔한 이슈이며, 주로 &lt;b data-path-to-node="0" data-index-in-node="48"&gt;네트워크 스택의 기본 설정값 차이&lt;/b&gt;나 &lt;b data-path-to-node="0" data-index-in-node="68"&gt;보안 기능 강화&lt;/b&gt;로 인해 발생합니다. 하드웨어(NAS)의 문제는 아닐 가능성이 높습니다.&lt;/p&gt;
&lt;p data-path-to-node="1"&gt;다음 단계별 해결 방법을 통해 속도를 복구해 보시기 바랍니다.&lt;/p&gt;

&lt;hr data-path-to-node="2" /&gt;

&lt;h3 data-path-to-node="3"&gt;1. SMB 서명(Signing) 비활성화 (가장 유력한 원인)&lt;/h3&gt;
&lt;p data-path-to-node="4"&gt;윈도우 11은 보안을 위해 SMB 서명 기능을 기본적으로 강제하거나 우선시하는 경향이 있습니다. 이 기능은 보안에는 좋지만 CPU 부하를 늘리고 전송 속도를 대폭 깎아먹습니다.&lt;/p&gt;

&lt;ol start="1" data-path-to-node="5"&gt;
    &lt;li&gt;
&lt;p data-path-to-node="5,0,0"&gt;&lt;b data-path-to-node="5,0,0" data-index-in-node="0"&gt;시작&lt;/b&gt; 버튼을 누르고 &lt;b data-path-to-node="5,0,0" data-index-in-node="11"&gt;PowerShell&lt;/b&gt;을 검색하여 &lt;b data-path-to-node="5,0,0" data-index-in-node="28"&gt;관리자 권한으로 실행&lt;/b&gt;합니다.&lt;/p&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;p data-path-to-node="5,1,0"&gt;다음 명령어를 입력하여 현재 상태를 확인합니다. &lt;code data-path-to-node="5,1,0" data-index-in-node="27"&gt;Get-SmbClientConfiguration | Select-Object RequireSecuritySignature&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;p data-path-to-node="5,2,0"&gt;만약 &lt;code data-path-to-node="5,2,0" data-index-in-node="3"&gt;True&lt;/code&gt;로 되어 있다면, 아래 명령어를 입력하여 비활성화합니다. &lt;code data-path-to-node="5,2,0" data-index-in-node="39"&gt;Set-SmbClientConfiguration -RequireSecuritySignature $false&lt;/code&gt; &lt;i data-path-to-node="5,2,0" data-index-in-node="99"&gt;(확인 메시지가 나오면 'Y' 입력)&lt;/i&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-path-to-node="6"&gt;2. 원격 차등 압축(RDC) 기능 끄기&lt;/h3&gt;
&lt;p data-path-to-node="7"&gt;네트워크를 통해 이동하는 파일의 변경 사항만 전송하려는 기능인데, 오히려 대용량 파일 전송 시 오버헤드를 발생시켜 속도를 저하시킵니다.&lt;/p&gt;

&lt;ol start="1" data-path-to-node="8"&gt;
    &lt;li&gt;
&lt;p data-path-to-node="8,0,0"&gt;&lt;b data-path-to-node="8,0,0" data-index-in-node="0"&gt;제어판 &amp;gt; 프로그램 및 기능 &amp;gt; Windows 기능 켜기/끄기&lt;/b&gt;로 들어갑니다.&lt;/p&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;p data-path-to-node="8,1,0"&gt;리스트에서 **'원격 차등 압축 API 지원(Remote Differential Compression API Support)'**을 찾아 체크를 해제합니다.&lt;/p&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;p data-path-to-node="8,2,0"&gt;&lt;b data-path-to-node="8,2,0" data-index-in-node="0"&gt;확인&lt;/b&gt;을 누르고 재부팅합니다.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-path-to-node="9"&gt;3. 네트워크 어댑터 설정 최적화 (수신 측 배율)&lt;/h3&gt;
&lt;p data-path-to-node="10"&gt;윈도우 11의 특정 드라이버 버전에서 네트워크 수신 효율이 떨어지는 경우가 있습니다.&lt;/p&gt;

&lt;ol start="1" data-path-to-node="11"&gt;
    &lt;li&gt;
&lt;p data-path-to-node="11,0,0"&gt;**PowerShell(관리자)**에서 아래 명령어를 입력합니다. &lt;code data-path-to-node="11,0,0" data-index-in-node="37"&gt;netsh interface tcp set global autotuninglevel=normal&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;p data-path-to-node="11,1,0"&gt;만약 이미 &lt;code data-path-to-node="11,1,0" data-index-in-node="6"&gt;normal&lt;/code&gt;인데 속도가 안 나온다면, 아래 명령어로 '수신 창 자동 조정'을 잠시 꺼서 테스트해 보세요. &lt;code data-path-to-node="11,1,0" data-index-in-node="65"&gt;netsh interface tcp set global autotuninglevel=disabled&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-path-to-node="12"&gt;4. SMB 다이렉트(Direct) 및 기능 재설정&lt;/h3&gt;
&lt;p data-path-to-node="13"&gt;윈도우 11에서 SMB 프로토콜 처리가 꼬였을 때 유용합니다.&lt;/p&gt;

&lt;ol start="1" data-path-to-node="14"&gt;
    &lt;li&gt;
&lt;p data-path-to-node="14,0,0"&gt;&lt;b data-path-to-node="14,0,0" data-index-in-node="0"&gt;Windows 기능 켜기/끄기&lt;/b&gt;에서 **'SMB Direct'**가 체크되어 있는지 확인하세요. (고속 전송을 돕는 기능입니다.)&lt;/p&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;p data-path-to-node="14,1,0"&gt;동시에 **'SMB 1.0/CIFS 파일 공유 지원'**은 &lt;b data-path-to-node="14,1,0" data-index-in-node="33"&gt;체크 해제&lt;/b&gt;하는 것을 권장합니다. WD My Cloud EX2 Ultra는 SMB 2/3를 완벽히 지원하므로, 보안이 취약하고 느린 SMB 1.0은 끄는 것이 성능과 보안에 모두 유리합니다.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-path-to-node="15" /&gt;

&lt;h3 data-path-to-node="16"&gt;추가 체크리스트&lt;/h3&gt;
&lt;ul data-path-to-node="17"&gt;
    &lt;li&gt;
&lt;p data-path-to-node="17,0,0"&gt;&lt;b data-path-to-node="17,0,0" data-index-in-node="0"&gt;랜카드 드라이버:&lt;/b&gt; 윈도우 11 설치 시 잡힌 기본 드라이버 대신, 제조사(Intel, Realtek 등) 홈페이지에서 제공하는 최신 드라이버로 업데이트해 보세요.&lt;/p&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;p data-path-to-node="17,1,0"&gt;&lt;b data-path-to-node="17,1,0" data-index-in-node="0"&gt;실시간 감시:&lt;/b&gt; 윈도우 디펜더나 타사 백신 프로그램의 '실시간 네트워크 감시' 기능이 NAS 폴더를 검사하느라 속도를 잡고 있을 수 있습니다. 테스트를 위해 일시적으로 꺼보시기 바랍니다.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-path-to-node="18"&gt;우선 **1번(SMB 서명)**과 &lt;b data-path-to-node="18" data-index-in-node="19"&gt;2번(원격 차등 압축)&lt;/b&gt; 설정만 변경해도 이전처럼 100MB/s(1Gbps 대역폭 최대치)에 가까운 속도를 회복할 확률이 매우 높습니다.&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>윈도우10에서 리눅스 설치 하기(Ubuntu 22.04)</title><link href="/posts/windou10eseo-rinugseu-seolci-hagiubuntu-2204.html" rel="alternate"></link><published>2026-02-15T06:36:00+09:00</published><updated>2026-02-15T06:36:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2026-02-15:/posts/windou10eseo-rinugseu-seolci-hagiubuntu-2204.html</id><summary type="html">&lt;p data-start="0" data-end="36"&gt;윈도우10에서 리눅스를 설치하는 방법은 크게 &lt;strong data-start="25" data-end="32"&gt;2가지&lt;/strong&gt;입니다.&lt;/p&gt;
&lt;p data-start="38" data-end="112"&gt;1️⃣ &lt;strong data-start="42" data-end="74"&gt;WSL로 설치 (윈도우 안에 …&lt;/strong&gt;&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="36"&gt;윈도우10에서 리눅스를 설치하는 방법은 크게 &lt;strong data-start="25" data-end="32"&gt;2가지&lt;/strong&gt;입니다.&lt;/p&gt;
&lt;p data-start="38" data-end="112"&gt;1️⃣ &lt;strong data-start="42" data-end="74"&gt;WSL로 설치 (윈도우 안에서 실행 – 추천 👍)&lt;/strong&gt;&lt;br data-start="74" data-end="77" /&gt;2️⃣ &lt;strong data-start="81" data-end="110"&gt;듀얼부팅 설치 (윈도우 + 리눅스 선택 부팅)&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="114" data-end="134"&gt;사용 목적에 따라 방법이 달라집니다.&lt;/p&gt;

&lt;hr data-start="136" data-end="139" /&gt;

&lt;h1 data-start="141" data-end="168"&gt;✅ 1️⃣ WSL로 리눅스 설치 (가장 쉬움)&lt;/h1&gt;
&lt;p data-start="170" data-end="271"&gt;👉 서버 테스트, 개발, SNMP, Apache 실습용이면 이 방법이 가장 좋습니다.&lt;br data-start="218" data-end="221" /&gt;(예전에 Ubuntu + Apache + SNMP 작업하셨으니 이 방법 추천드립니다 👍)&lt;/p&gt;

&lt;h3 data-start="273" data-end="285"&gt;📌 설치 방법&lt;/h3&gt;
&lt;h3 data-start="287" data-end="314"&gt;1단계 – PowerShell 관리자 실행&lt;/h3&gt;
&lt;p data-start="316" data-end="352"&gt;시작 → PowerShell 검색 → &lt;strong data-start="337" data-end="352"&gt;관리자 권한으로 실행&lt;/strong&gt;&lt;/p&gt;

&lt;h3 data-start="354" data-end="370"&gt;2단계 – 명령어 입력&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-bash"&gt;wsl --install
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="399" data-end="459"&gt;재부팅하면 자동으로 **&lt;span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"&gt;&lt;span class="whitespace-normal"&gt;Ubuntu&lt;/span&gt;&lt;/span&gt;**가 설치됩니다.&lt;/p&gt;

&lt;hr data-start="461" data-end="464" /&gt;

&lt;h3 data-start="466" data-end="481"&gt;📌 특정 버전 설치&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-bash"&gt;wsl --list --online
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="516" data-end="518"&gt;예:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-bash"&gt;wsl --install -d Ubuntu-22.04
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr data-start="563" data-end="566" /&gt;

&lt;h3 data-start="568" data-end="581"&gt;📌 WSL 장점&lt;/h3&gt;
&lt;ul data-start="583" data-end="653"&gt;
    &lt;li data-start="583" data-end="594"&gt;
&lt;p data-start="585" data-end="594"&gt;윈도우 삭제 안함&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="595" data-end="609"&gt;
&lt;p data-start="597" data-end="609"&gt;파티션 나눌 필요 없음&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="610" data-end="621"&gt;
&lt;p data-start="612" data-end="621"&gt;가상머신보다 빠름&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="622" data-end="653"&gt;
&lt;p data-start="624" data-end="653"&gt;Apache, MySQL, SNMP 서버 테스트 가능&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="655" data-end="658" /&gt;

&lt;h1 data-start="660" data-end="687"&gt;✅ 2️⃣ 듀얼부팅 설치(완전 리눅스 환경)&lt;/h1&gt;
&lt;p data-start="689" data-end="712"&gt;👉 리눅스를 메인 OS처럼 쓰고 싶을 때&lt;/p&gt;

&lt;h3 data-start="714" data-end="721"&gt;준비물&lt;/h3&gt;
&lt;ul data-start="723" data-end="847"&gt;
    &lt;li data-start="723" data-end="735"&gt;
&lt;p data-start="725" data-end="735"&gt;USB 8GB 이상&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="736" data-end="787"&gt;
&lt;p data-start="738" data-end="787"&gt;ISO 파일 (예: &lt;span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"&gt;&lt;span class="whitespace-normal"&gt;Ubuntu&lt;/span&gt;&lt;/span&gt;)&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="788" data-end="847"&gt;
&lt;p data-start="790" data-end="847"&gt;부팅 USB 제작 프로그램 (예: &lt;span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"&gt;&lt;span class="whitespace-normal"&gt;Rufus&lt;/span&gt;&lt;/span&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="849" data-end="852" /&gt;

&lt;h3 data-start="854" data-end="869"&gt;📌 설치 순서 요약&lt;/h3&gt;
&lt;ol data-start="871" data-end="993"&gt;
    &lt;li data-start="871" data-end="889"&gt;
&lt;p data-start="874" data-end="889"&gt;Ubuntu ISO 다운로드&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="890" data-end="909"&gt;
&lt;p data-start="893" data-end="909"&gt;Rufus로 부팅 USB 제작&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="910" data-end="931"&gt;
&lt;p data-start="913" data-end="931"&gt;디스크 파티션 분할 (윈도우에서)&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="932" data-end="942"&gt;
&lt;p data-start="935" data-end="942"&gt;USB로 부팅&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="943" data-end="965"&gt;
&lt;p data-start="946" data-end="965"&gt;"Install Ubuntu" 선택&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="966" data-end="993"&gt;
&lt;p data-start="969" data-end="993"&gt;설치 유형에서 "Windows와 함께 설치"&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-start="0" data-end="69"&gt;&lt;strong data-start="10" data-end="48"&gt;Windows에서 WSL로 Ubuntu 22.04 LTS 설치&lt;/strong&gt; 처음부터 정확하게 설명해드리겠습니다.&lt;/p&gt;

&lt;hr data-start="71" data-end="74" /&gt;

&lt;h1 data-start="76" data-end="101"&gt;✅ 1️⃣ WSL 설치 (아직 안 했다면)&lt;/h1&gt;
&lt;p data-start="103" data-end="124"&gt;관리자 권한 PowerShell 실행:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-powershell"&gt;wsl &lt;span class="hljs-literal"&gt;--install&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="159" data-end="171"&gt;설치 후 &lt;strong data-start="164" data-end="171"&gt;재부팅&lt;/strong&gt;&lt;/p&gt;

&lt;hr data-start="173" data-end="176" /&gt;

&lt;h1 data-start="178" data-end="204"&gt;✅ 2️⃣ Ubuntu 22.04 설치 방법&lt;/h1&gt;
&lt;p data-start="206" data-end="225"&gt;재부팅 후 PowerShell에서:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-powershell"&gt;wsl &lt;span class="hljs-literal"&gt;--install&lt;/span&gt; &lt;span class="hljs-literal"&gt;-d&lt;/span&gt; Ubuntu&lt;span class="hljs-literal"&gt;-22&lt;/span&gt;.&lt;span class="hljs-number"&gt;04&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="276" data-end="334"&gt;👉 여기서 설치되는 것은&lt;br data-start="290" data-end="293" /&gt;&lt;strong data-start="293" data-end="334"&gt;&lt;span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"&gt;&lt;span class="whitespace-normal"&gt;Ubuntu 22.04 LTS&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;hr data-start="336" data-end="339" /&gt;

&lt;h1 data-start="341" data-end="359"&gt;✅ 3️⃣ 설치 완료 후 실행&lt;/h1&gt;
&lt;p data-start="361" data-end="389"&gt;설치가 끝나면 자동으로 Ubuntu 창이 열립니다.&lt;/p&gt;
&lt;p data-start="391" data-end="399"&gt;처음 실행 시:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre!"&gt;Installing, &lt;span class="hljs-keyword"&gt;this&lt;/span&gt; may take a few minutes...
Enter &lt;span class="hljs-keyword"&gt;new&lt;/span&gt; UNIX username:
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-start="478" data-end="497"&gt;✔ 리눅스 사용자 계정 생성&lt;/h3&gt;
&lt;ul data-start="498" data-end="539"&gt;
    &lt;li data-start="498" data-end="516"&gt;
&lt;p data-start="500" data-end="516"&gt;사용자명 입력 (예: sun)&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="517" data-end="526"&gt;
&lt;p data-start="519" data-end="526"&gt;비밀번호 입력&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="527" data-end="539"&gt;
&lt;p data-start="529" data-end="539"&gt;다시 비밀번호 입력&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-start="541" data-end="570"&gt;비밀번호 입력 시 화면에 안 보이는 것이 정상입니다.&lt;/p&gt;

&lt;hr data-start="572" data-end="575" /&gt;

&lt;h1 data-start="577" data-end="604"&gt;✅ 4️⃣ Ubuntu 실행 방법 (이후부터)&lt;/h1&gt;
&lt;h3 data-start="606" data-end="620"&gt;방법 ① 시작 메뉴&lt;/h3&gt;
&lt;p data-start="621" data-end="652"&gt;윈도우 시작 → &lt;code data-start="630" data-end="644"&gt;Ubuntu 22.04&lt;/code&gt; 검색 → 클릭&lt;/p&gt;

&lt;h3 data-start="654" data-end="666"&gt;방법 ② 명령어&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-powershell"&gt;wsl
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="690" data-end="692"&gt;또는&lt;/p&gt;

&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-powershell"&gt;wsl &lt;span class="hljs-literal"&gt;-d&lt;/span&gt; Ubuntu&lt;span class="hljs-literal"&gt;-22&lt;/span&gt;.&lt;span class="hljs-number"&gt;04&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr data-start="733" data-end="736" /&gt;

&lt;h1 data-start="738" data-end="751"&gt;✅ 5️⃣ 설치 확인&lt;/h1&gt;
&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-powershell"&gt;wsl &lt;span class="hljs-literal"&gt;-l&lt;/span&gt; &lt;span class="hljs-literal"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="782" data-end="790"&gt;정상 출력 예:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre!"&gt;&lt;span class="hljs-type"&gt;NAME&lt;/span&gt;              STATE           &lt;span class="hljs-keyword"&gt;VERSION&lt;/span&gt;
* Ubuntu&lt;span class="hljs-number"&gt;-22.04&lt;/span&gt;    Running         &lt;span class="hljs-number"&gt;2&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="879" data-end="902"&gt;VERSION이 &lt;code data-start="888" data-end="891"&gt;2&lt;/code&gt;면 정상 (WSL2)&lt;/p&gt;

&lt;hr data-start="904" data-end="907" /&gt;

&lt;h1 data-start="909" data-end="934"&gt;✅ 6️⃣ Ubuntu 초기 세팅 (필수)&lt;/h1&gt;
&lt;p data-start="936" data-end="949"&gt;Ubuntu 터미널에서:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-bash"&gt;&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; apt update
&lt;span class="hljs-built_in"&gt;sudo&lt;/span&gt; apt upgrade -y
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr data-start="1000" data-end="1003" /&gt;

&lt;h1 data-start="1005" data-end="1020"&gt;🔧 만약 오류가 난다면&lt;/h1&gt;
&lt;h3 data-start="1022" data-end="1078"&gt;❗ "WSL 2 requires an update to its kernel component"&lt;/h3&gt;
&lt;p data-start="1080" data-end="1086"&gt;아래 실행:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-powershell"&gt;wsl &lt;span class="hljs-literal"&gt;--update&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;</content><category term="컴퓨터"></category></entry><entry><title>윈도우 공유할때 에러 메세지(윈도우11, 윈도우10)</title><link href="/posts/windou-gongyuhalddae-ereo-mesejiwindou11-windou10.html" rel="alternate"></link><published>2026-01-03T07:17:00+09:00</published><updated>2026-01-03T07:17:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2026-01-03:/posts/windou-gongyuhalddae-ereo-mesejiwindou11-windou10.html</id><summary type="html">&lt;p&gt;&lt;img class="alignnone size-medium wp-image-380" src="http://www.soon7shop.kr/wordpress/wp-content/uploads/2026/01/에러-300x97.png" alt="" width="300" height="97" /&gt;&lt;/p&gt;
&lt;p&gt;₩₩192.168.0.79에 액세스할 수 없습니다. 이 네트워크 리소스를 사용할 권한이 없는 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img class="alignnone size-medium wp-image-380" src="http://www.soon7shop.kr/wordpress/wp-content/uploads/2026/01/에러-300x97.png" alt="" width="300" height="97" /&gt;&lt;/p&gt;
&lt;p&gt;₩₩192.168.0.79에 액세스할 수 없습니다. 이 네트워크 리소스를 사용할 권한이 없는 것 같 습니다. 이 서버의 관리자에게 문의하여 액세스 권한이 있는지 확인하십시오.참조된 계정이 현재 잠겨 있으므로 그 계정으로 로그온할 수 없습니다.&lt;/p&gt;
&lt;h2 data-start="70" data-end="84"&gt;📌 오류 내용 해석&lt;/h2&gt;
&lt;p data-start="85" data-end="92"&gt;메시지 요약:&lt;/p&gt;

&lt;blockquote data-start="93" data-end="198"&gt;
&lt;p data-start="95" data-end="198"&gt;&lt;strong data-start="95" data-end="126"&gt;&lt;code data-start="97" data-end="113"&gt;\\192.168.0.79&lt;/code&gt;에 액세스할 수 없음&lt;/strong&gt;&lt;br data-start="126" data-end="129" /&gt;이 네트워크 리소스를 사용할 권한이 없을 수 있음&lt;br data-start="158" data-end="161" /&gt;&lt;strong data-start="163" data-end="198"&gt;잠조된(저장된) 계정이 현재 잠겨 있어 로그인할 수 없음&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-start="200" data-end="270"&gt;즉,
➡ &lt;strong data-start="205" data-end="253"&gt;192.168.0.79 PC(또는 서버)에 접속할 때 사용되는 계정이 잠금 상태&lt;/strong&gt;라서 접근이 차단된 상황입니다.&lt;/p&gt;

&lt;hr data-start="272" data-end="275" /&gt;

&lt;h2 data-start="277" data-end="288"&gt;🔴 주된 원인&lt;/h2&gt;
&lt;ol data-start="289" data-end="419"&gt;
    &lt;li data-start="289" data-end="325"&gt;
&lt;p data-start="292" data-end="325"&gt;❌ &lt;strong data-start="294" data-end="325"&gt;공유 PC에 저장된 계정 비밀번호를 여러 번 틀림&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="326" data-end="355"&gt;
&lt;p data-start="329" data-end="355"&gt;🔒 &lt;strong data-start="332" data-end="355"&gt;윈도우 보안 정책에 의해 계정 잠김&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="356" data-end="389"&gt;
&lt;p data-start="359" data-end="389"&gt;🔑 &lt;strong data-start="362" data-end="389"&gt;이전에 저장된 네트워크 자격 증명이 잘못됨&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="390" data-end="419"&gt;
&lt;p data-start="393" data-end="419"&gt;👤 &lt;strong data-start="396" data-end="419"&gt;공유 폴더 권한에 해당 계정이 없음&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="421" data-end="424" /&gt;

&lt;h2 data-start="426" data-end="448"&gt;✅ 해결 방법 (순서대로 해보세요)&lt;/h2&gt;
&lt;h3 data-start="450" data-end="483"&gt;1️⃣ 저장된 네트워크 자격 증명 삭제 (가장 중요)&lt;/h3&gt;
&lt;p data-start="484" data-end="503"&gt;접속하는 &lt;strong data-start="489" data-end="499"&gt;내 PC에서&lt;/strong&gt; 실행:&lt;/p&gt;

&lt;ol data-start="505" data-end="623"&gt;
    &lt;li data-start="505" data-end="527"&gt;
&lt;p data-start="508" data-end="527"&gt;&lt;strong data-start="508" data-end="527"&gt;제어판 → 자격 증명 관리자&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="528" data-end="548"&gt;
&lt;p data-start="531" data-end="548"&gt;&lt;strong data-start="531" data-end="548"&gt;Windows 자격 증명&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="549" data-end="585"&gt;
&lt;p data-start="552" data-end="585"&gt;&lt;code data-start="552" data-end="566"&gt;192.168.0.79&lt;/code&gt; 또는 관련 항목 &lt;strong data-start="576" data-end="585"&gt;모두 삭제&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="586" data-end="623"&gt;
&lt;p data-start="589" data-end="623"&gt;재부팅 후 다시 접속 시도&lt;br data-start="603" data-end="606" /&gt;→ 새 계정/비밀번호 입력&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="625" data-end="628" /&gt;

&lt;h3 data-start="630" data-end="668"&gt;2️⃣ 공유 PC(192.168.0.79)에서 계정 잠금 해제&lt;/h3&gt;
&lt;p data-start="669" data-end="691"&gt;&lt;strong data-start="669" data-end="691"&gt;해당 PC에 직접 접속 가능하다면&lt;/strong&gt;&lt;/p&gt;

&lt;ol data-start="693" data-end="780"&gt;
    &lt;li data-start="693" data-end="721"&gt;
&lt;p data-start="696" data-end="721"&gt;&lt;code data-start="696" data-end="705"&gt;Win + R&lt;/code&gt; → &lt;code data-start="708" data-end="721"&gt;lusrmgr.msc&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="722" data-end="747"&gt;
&lt;p data-start="725" data-end="747"&gt;&lt;strong data-start="725" data-end="747"&gt;사용자 → 문제되는 계정 더블클릭&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="748" data-end="774"&gt;
&lt;p data-start="751" data-end="774"&gt;✅ &lt;strong data-start="753" data-end="774"&gt;“계정이 잠겨 있음” 체크 해제&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="775" data-end="780"&gt;
&lt;p data-start="778" data-end="780"&gt;확인&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote data-start="782" data-end="809"&gt;
&lt;p data-start="784" data-end="809"&gt;❗ Home 버전이면 이 메뉴가 없을 수 있음&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr data-start="811" data-end="814" /&gt;

&lt;h3 data-start="816" data-end="835"&gt;3️⃣ 공유 폴더 권한 확인&lt;/h3&gt;
&lt;p data-start="836" data-end="844"&gt;공유 PC에서:&lt;/p&gt;

&lt;ol data-start="845" data-end="916"&gt;
    &lt;li data-start="845" data-end="872"&gt;
&lt;p data-start="848" data-end="872"&gt;공유 폴더 → &lt;strong data-start="856" data-end="872"&gt;속성 → 공유 / 보안&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="873" data-end="916"&gt;
&lt;p data-start="876" data-end="897"&gt;접속 계정 또는 &lt;strong data-start="885" data-end="897"&gt;Everyone&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="901" data-end="916"&gt;
    &lt;li data-start="901" data-end="916"&gt;
&lt;p data-start="903" data-end="916"&gt;읽기 / 변경 권한 체크&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="918" data-end="921" /&gt;

&lt;h3 data-start="923" data-end="948"&gt;4️⃣ 게스트 접속으로 테스트 (임시)&lt;/h3&gt;
&lt;p data-start="949" data-end="957"&gt;공유 PC에서:&lt;/p&gt;

&lt;ul data-start="958" data-end="1022"&gt;
    &lt;li data-start="958" data-end="985"&gt;
&lt;p data-start="960" data-end="985"&gt;공유 폴더 권한에 &lt;strong data-start="970" data-end="982"&gt;Everyone&lt;/strong&gt; 추가&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="986" data-end="1022"&gt;
&lt;p data-start="988" data-end="1022"&gt;암호 보호 공유 끄기&lt;br data-start="999" data-end="1002" /&gt;(&lt;code data-start="1005" data-end="1021"&gt;제어판 → 고급 공유 설정&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="1024" data-end="1027" /&gt;

&lt;h3 data-start="1029" data-end="1048"&gt;5️⃣ 명령어로 접속 테스트&lt;/h3&gt;
&lt;p data-start="1049" data-end="1057"&gt;접속 PC에서:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl/main:top-9"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-cmd"&gt;net use \\192.168.0.79 /user:계정명
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1102" data-end="1114"&gt;→ 비밀번호 직접 입력&lt;/p&gt;
&lt;p data-start="1102" data-end="1114"&gt;&lt;/p&gt;
&lt;p data-start="1102" data-end="1114"&gt;&lt;img class="alignnone size-medium wp-image-381" src="http://www.soon7shop.kr/wordpress/wp-content/uploads/2026/01/에러2-300x193.png" alt="" width="300" height="193" /&gt;&lt;/p&gt;

&lt;h2 data-start="42" data-end="61"&gt;🔴 현재 오류의 정확한 의미&lt;/h2&gt;
&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl/main:top-9"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;strong&gt;&lt;code class="whitespace-pre!"&gt;&lt;span class="hljs-string"&gt;시스템&lt;/span&gt; &lt;span class="hljs-string"&gt;오류&lt;/span&gt; &lt;span class="hljs-number"&gt;1909&lt;/span&gt;
&lt;span class="hljs-string"&gt;참조된&lt;/span&gt; &lt;span class="hljs-string"&gt;계정이&lt;/span&gt; &lt;span class="hljs-string"&gt;현재&lt;/span&gt; &lt;span class="hljs-string"&gt;잠겨&lt;/span&gt; &lt;span class="hljs-string"&gt;있으므로&lt;/span&gt; &lt;span class="hljs-string"&gt;그&lt;/span&gt; &lt;span class="hljs-string"&gt;계정으로&lt;/span&gt; &lt;span class="hljs-string"&gt;로그인할&lt;/span&gt; &lt;span class="hljs-string"&gt;수&lt;/span&gt; &lt;span class="hljs-string"&gt;없습니다.&lt;/span&gt;
&lt;/code&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="122" data-end="221"&gt;&lt;strong&gt;👉 192.168.0.79 컴퓨터에 있는 &lt;code data-start="148" data-end="154"&gt;user&lt;/code&gt; 계정이 “계정 잠금(Account Lockout)” 상태입니다.&lt;/strong&gt;&lt;br data-start="192" data-end="195" /&gt;&lt;strong&gt;비밀번호가 맞아도 절대 접속 안 됩니다.&lt;/strong&gt;&lt;/p&gt;

&lt;hr data-start="223" data-end="226" /&gt;

&lt;h2 data-start="228" data-end="261"&gt;✅ 반드시 해야 하는 해결 (서버/공유 PC 쪽 작업)&lt;/h2&gt;
&lt;p data-start="262" data-end="328"&gt;⚠️ &lt;strong data-start="265" data-end="288"&gt;접속을 시도하는 PC에서 해결 불가&lt;/strong&gt;&lt;br data-start="288" data-end="291" /&gt;➡ &lt;strong data-start="293" data-end="328"&gt;192.168.0.79 PC에 직접 가서 작업해야 합니다&lt;/strong&gt;&lt;/p&gt;

&lt;hr data-start="330" data-end="333" /&gt;

&lt;h2 data-start="335" data-end="358"&gt;1️⃣ (가장 확실) 계정 잠금 해제&lt;/h2&gt;
&lt;h3 data-start="359" data-end="391"&gt;🔹 Windows Pro / Server 인 경우&lt;/h3&gt;
&lt;ol data-start="392" data-end="504"&gt;
    &lt;li data-start="392" data-end="416"&gt;
&lt;p data-start="395" data-end="416"&gt;&lt;strong data-start="395" data-end="416"&gt;192.168.0.79 PC에서&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="417" data-end="445"&gt;
&lt;p data-start="420" data-end="445"&gt;&lt;code data-start="420" data-end="429"&gt;Win + R&lt;/code&gt; → &lt;code data-start="432" data-end="445"&gt;lusrmgr.msc&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="446" data-end="463"&gt;
&lt;p data-start="449" data-end="463"&gt;&lt;strong data-start="449" data-end="463"&gt;사용자 → user&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="464" data-end="471"&gt;
&lt;p data-start="467" data-end="471"&gt;더블클릭&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="472" data-end="498"&gt;
&lt;p data-start="475" data-end="498"&gt;✅ &lt;strong data-start="477" data-end="498"&gt;“계정이 잠겨 있음” 체크 해제&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="499" data-end="504"&gt;
&lt;p data-start="502" data-end="504"&gt;확인&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="506" data-end="509" /&gt;

&lt;h3 data-start="511" data-end="548"&gt;🔹 Windows Home 인 경우 (lusrmgr 없음)&lt;/h3&gt;
&lt;p data-start="549" data-end="571"&gt;👉 &lt;strong data-start="552" data-end="571"&gt;비밀번호 변경으로 잠금 해제&lt;/strong&gt;&lt;/p&gt;

&lt;ol data-start="573" data-end="666"&gt;
    &lt;li data-start="573" data-end="599"&gt;
&lt;p data-start="576" data-end="599"&gt;&lt;strong data-start="576" data-end="599"&gt;192.168.0.79 PC 로그인&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="600" data-end="619"&gt;
&lt;p data-start="603" data-end="619"&gt;설정 → 계정 → 로그인 옵션&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="620" data-end="659"&gt;
&lt;p data-start="623" data-end="644"&gt;&lt;code data-start="623" data-end="629"&gt;user&lt;/code&gt; 계정 &lt;strong data-start="633" data-end="644"&gt;비밀번호 변경&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="648" data-end="659"&gt;
    &lt;li data-start="648" data-end="659"&gt;
&lt;p data-start="650" data-end="659"&gt;새 비밀번호 설정&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li data-start="660" data-end="666"&gt;
&lt;p data-start="663" data-end="666"&gt;재부팅&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="668" data-end="671" /&gt;

&lt;h2 data-start="673" data-end="693"&gt;2️⃣ 잠금 재발 방지 (중요)&lt;/h2&gt;
&lt;p data-start="694" data-end="716"&gt;같은 오류 반복되는 경우 꼭 설정하세요.&lt;/p&gt;

&lt;h3 data-start="718" data-end="736"&gt;🔧 계정 잠금 정책 해제&lt;/h3&gt;
&lt;p data-start="737" data-end="753"&gt;(Windows Pro 이상)&lt;/p&gt;

&lt;ol data-start="755" data-end="863"&gt;
    &lt;li data-start="755" data-end="782"&gt;
&lt;p data-start="758" data-end="782"&gt;&lt;code data-start="758" data-end="767"&gt;Win + R&lt;/code&gt; → &lt;code data-start="770" data-end="782"&gt;secpol.msc&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="783" data-end="806"&gt;
&lt;p data-start="786" data-end="806"&gt;&lt;strong data-start="786" data-end="806"&gt;계정 정책 → 계정 잠금 정책&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="807" data-end="863"&gt;
&lt;p data-start="810" data-end="818"&gt;아래처럼 변경:&lt;/p&gt;

&lt;ul data-start="822" data-end="863"&gt;
    &lt;li data-start="822" data-end="841"&gt;
&lt;p data-start="824" data-end="841"&gt;계정 잠금 임계값 → &lt;strong data-start="836" data-end="841"&gt;0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="845" data-end="863"&gt;
&lt;p data-start="847" data-end="863"&gt;계정 잠금 기간 → &lt;strong data-start="858" data-end="863"&gt;0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-start="865" data-end="890"&gt;➡ 비밀번호 몇 번 틀려도 &lt;strong data-start="880" data-end="890"&gt;잠기지 않음&lt;/strong&gt;&lt;/p&gt;

&lt;hr data-start="892" data-end="895" /&gt;

&lt;h2 data-start="897" data-end="926"&gt;3️⃣ 접속 PC에서 기존 인증 정보 완전 삭제&lt;/h2&gt;
&lt;p data-start="927" data-end="945"&gt;(이미 하셨을 수도 있지만 필수)&lt;/p&gt;

&lt;ol data-start="947" data-end="1024"&gt;
    &lt;li data-start="947" data-end="969"&gt;
&lt;p data-start="950" data-end="969"&gt;&lt;strong data-start="950" data-end="969"&gt;제어판 → 자격 증명 관리자&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="970" data-end="990"&gt;
&lt;p data-start="973" data-end="990"&gt;&lt;strong data-start="973" data-end="990"&gt;Windows 자격 증명&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="991" data-end="1017"&gt;
&lt;p data-start="994" data-end="1017"&gt;&lt;code data-start="994" data-end="1008"&gt;192.168.0.79&lt;/code&gt; 관련 전부 삭제&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="1018" data-end="1024"&gt;
&lt;p data-start="1021" data-end="1024"&gt;재부팅&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="1026" data-end="1029" /&gt;

&lt;h2 data-start="1031" data-end="1052"&gt;4️⃣ 다시 접속 (정상 명령어)&lt;/h2&gt;
&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="sticky top-[calc(--spacing(9)+var(--header-height))] @w-xl/main:top-9"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre! language-cmd"&gt;net use \\192.168.0.79 /user:user
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1098" data-end="1109"&gt;➡ 새 비밀번호 입력&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>워드프레스에서 게시판을 하나를 사진 모음 게시판으로 만들고 싶다 어떻게 해야 하는가? FooGallery로 사진 게시판 만들기</title><link href="/posts/weodeupeureseueseo-gesipaneul-hanareul-sajin-moeum-gesipaneuro-mandeulgo-sipda-eoddeohge-haeya-haneunga-foogalleryro-sajin-gesipan-mandeulgi.html" rel="alternate"></link><published>2025-12-21T06:56:00+09:00</published><updated>2025-12-21T06:56:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-12-21:/posts/weodeupeureseueseo-gesipaneul-hanareul-sajin-moeum-gesipaneuro-mandeulgo-sipda-eoddeohge-haeya-haneunga-foogalleryro-sajin-gesipan-mandeulgi.html</id><summary type="html">&lt;p data-start="0" data-end="139"&gt;워드프레스에서 **사진 모음 전용 게시판(갤러리 형태)**을 만들고,&lt;br data-start="38" data-end="41" /&gt;&lt;strong data-start="41" data-end="60"&gt;FooGallery 플러그인 …&lt;/strong&gt;&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="139"&gt;워드프레스에서 **사진 모음 전용 게시판(갤러리 형태)**을 만들고,&lt;br data-start="38" data-end="41" /&gt;&lt;strong data-start="41" data-end="60"&gt;FooGallery 플러그인&lt;/strong&gt;으로 구현하는 방법을 &lt;strong data-start="72" data-end="88"&gt;초보자 기준으로 단계별&lt;/strong&gt;로 설명드릴게요.&lt;br data-start="97" data-end="100" /&gt;(일반 글 게시판과 분리된 “사진 게시판” 느낌으로 만드는 방식입니다)&lt;/p&gt;

&lt;hr data-start="141" data-end="144" /&gt;

&lt;h2 data-start="146" data-end="171"&gt;1️⃣ FooGallery 플러그인 설치&lt;/h2&gt;
&lt;ol data-start="173" data-end="281"&gt;
    &lt;li data-start="173" data-end="204"&gt;
&lt;p data-start="176" data-end="204"&gt;워드프레스 관리자 → &lt;strong data-start="188" data-end="204"&gt;플러그인 → 새로 추가&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="205" data-end="227"&gt;
&lt;p data-start="208" data-end="227"&gt;검색창에 &lt;strong data-start="213" data-end="227"&gt;FooGallery&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="228" data-end="281"&gt;
&lt;p data-start="231" data-end="281"&gt;&lt;strong data-start="231" data-end="272"&gt;FooGallery – Responsive Photo Gallery&lt;/strong&gt; 설치 → 활성화&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="283" data-end="286" /&gt;

&lt;h2 data-start="288" data-end="321"&gt;2️⃣ 사진 갤러리 생성 (사진 게시판의 ‘글’ 역할)&lt;/h2&gt;
&lt;ol data-start="323" data-end="468"&gt;
    &lt;li data-start="323" data-end="363"&gt;
&lt;p data-start="326" data-end="363"&gt;관리자 메뉴 → &lt;strong data-start="335" data-end="363"&gt;FooGallery → Add Gallery&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="364" data-end="410"&gt;
&lt;p data-start="367" data-end="410"&gt;갤러리 제목 입력&lt;br data-start="376" data-end="379" /&gt;예) &lt;code data-start="385" data-end="392"&gt;행사 사진&lt;/code&gt;, &lt;code data-start="394" data-end="401"&gt;현장 사진&lt;/code&gt;, &lt;code data-start="403" data-end="410"&gt;작업 사진&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="412" data-end="448"&gt;
&lt;p data-start="415" data-end="428"&gt;&lt;strong data-start="415" data-end="428"&gt;Add Media&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="432" data-end="448"&gt;
    &lt;li data-start="432" data-end="448"&gt;
&lt;p data-start="434" data-end="448"&gt;여러 장 사진 선택 업로드&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li data-start="449" data-end="468"&gt;
&lt;p data-start="452" data-end="468"&gt;사진 순서 드래그로 정렬 가능&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="470" data-end="473" /&gt;

&lt;h2 data-start="475" data-end="497"&gt;3️⃣ 갤러리 스타일 설정 (중요)&lt;/h2&gt;
&lt;p data-start="499" data-end="519"&gt;갤러리 편집 화면에서 아래 항목 설정&lt;/p&gt;

&lt;h3 data-start="521" data-end="544"&gt;🔹 Gallery Template&lt;/h3&gt;
&lt;ul data-start="545" data-end="625"&gt;
    &lt;li data-start="545" data-end="567"&gt;
&lt;p data-start="547" data-end="567"&gt;&lt;strong data-start="547" data-end="555"&gt;Grid&lt;/strong&gt; → 일반 사진 게시판&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="568" data-end="593"&gt;
&lt;p data-start="570" data-end="593"&gt;&lt;strong data-start="570" data-end="581"&gt;Masonry&lt;/strong&gt; → 핀터레스트 스타일&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="594" data-end="625"&gt;
&lt;p data-start="596" data-end="625"&gt;&lt;strong data-start="596" data-end="612"&gt;Image Viewer&lt;/strong&gt; → 클릭 시 확대 보기&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-start="627" data-end="652"&gt;🔹 Thumbnail Settings&lt;/h3&gt;
&lt;ul data-start="653" data-end="686"&gt;
    &lt;li data-start="653" data-end="673"&gt;
&lt;p data-start="655" data-end="673"&gt;크기: Medium / Large&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="674" data-end="686"&gt;
&lt;p data-start="676" data-end="686"&gt;정사각형 여부 선택&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-start="688" data-end="708"&gt;🔹 Lightbox (추천)&lt;/h3&gt;
&lt;ul data-start="709" data-end="752"&gt;
    &lt;li data-start="709" data-end="733"&gt;
&lt;p data-start="711" data-end="733"&gt;&lt;strong data-start="711" data-end="730"&gt;Enable Lightbox&lt;/strong&gt; 체크&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="734" data-end="752"&gt;
&lt;p data-start="736" data-end="752"&gt;사진 클릭 시 크게 보기 가능&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="754" data-end="757" /&gt;

&lt;h2 data-start="759" data-end="783"&gt;4️⃣ 사진 게시판 전용 페이지 만들기&lt;/h2&gt;
&lt;h3 data-start="785" data-end="804"&gt;방법 A (가장 많이 사용)&lt;/h3&gt;
&lt;ol data-start="806" data-end="925"&gt;
    &lt;li data-start="806" data-end="824"&gt;
&lt;p data-start="809" data-end="824"&gt;&lt;strong data-start="809" data-end="824"&gt;페이지 → 새로 추가&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="825" data-end="840"&gt;
&lt;p data-start="828" data-end="840"&gt;제목: &lt;code data-start="832" data-end="840"&gt;사진 게시판&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="841" data-end="915"&gt;
&lt;p data-start="844" data-end="868"&gt;본문에 &lt;strong data-start="848" data-end="868"&gt;FooGallery 블록 추가&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="872" data-end="915"&gt;
    &lt;li data-start="872" data-end="900"&gt;
&lt;p data-start="874" data-end="900"&gt;블록 추가 (+) → &lt;strong data-start="886" data-end="900"&gt;FooGallery&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="904" data-end="915"&gt;
&lt;p data-start="906" data-end="915"&gt;만든 갤러리 선택&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li data-start="916" data-end="925"&gt;
&lt;p data-start="919" data-end="925"&gt;&lt;strong data-start="919" data-end="925"&gt;게시&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-start="927" data-end="949"&gt;👉 이 페이지가 사진 게시판이 됩니다.&lt;/p&gt;

&lt;hr data-start="951" data-end="954" /&gt;

&lt;h3 data-start="956" data-end="982"&gt;방법 B (갤러리 여러 개를 게시판처럼)&lt;/h3&gt;
&lt;ul data-start="984" data-end="1028"&gt;
    &lt;li data-start="984" data-end="1008"&gt;
&lt;p data-start="986" data-end="1008"&gt;행사별 / 날짜별 갤러리를 여러 개 생성&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="1009" data-end="1028"&gt;
&lt;p data-start="1011" data-end="1028"&gt;한 페이지에 여러 갤러리를 나열&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-start="1030" data-end="1032"&gt;예:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="@w-xl/main:top-9 sticky top-[calc(--spacing(9)+var(--header-height))]"&gt;
&lt;div class="absolute end-0 bottom-0 flex h-9 items-center pe-2"&gt;
&lt;div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="whitespace-pre!"&gt;&lt;span class="hljs-number"&gt;2024&lt;/span&gt;&lt;span class="hljs-string"&gt;년&lt;/span&gt; &lt;span class="hljs-string"&gt;행사&lt;/span&gt; &lt;span class="hljs-string"&gt;사진&lt;/span&gt;
&lt;span class="hljs-number"&gt;2023&lt;/span&gt;&lt;span class="hljs-string"&gt;년&lt;/span&gt; &lt;span class="hljs-string"&gt;작업&lt;/span&gt; &lt;span class="hljs-string"&gt;현장&lt;/span&gt;
&lt;span class="hljs-string"&gt;제품&lt;/span&gt; &lt;span class="hljs-string"&gt;사진&lt;/span&gt; &lt;span class="hljs-string"&gt;모음&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr data-start="1075" data-end="1078" /&gt;

&lt;h2 data-start="1080" data-end="1107"&gt;5️⃣ “게시판 느낌” 더 강하게 만드는 팁&lt;/h2&gt;
&lt;h3 data-start="1109" data-end="1129"&gt;🔹 썸네일 + 제목만 보이게&lt;/h3&gt;
&lt;ul data-start="1130" data-end="1154"&gt;
    &lt;li data-start="1130" data-end="1144"&gt;
&lt;p data-start="1132" data-end="1144"&gt;갤러리 제목 표시 ON&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="1145" data-end="1154"&gt;
&lt;p data-start="1147" data-end="1154"&gt;설명은 OFF&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-start="1156" data-end="1173"&gt;🔹 카테고리처럼 나누기&lt;/h3&gt;
&lt;p data-start="1174" data-end="1194"&gt;FooGallery PRO 사용 시:&lt;/p&gt;

&lt;ul data-start="1195" data-end="1227"&gt;
    &lt;li data-start="1195" data-end="1216"&gt;
&lt;p data-start="1197" data-end="1216"&gt;갤러리 분류(Category) 가능&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="1217" data-end="1227"&gt;
&lt;p data-start="1219" data-end="1227"&gt;필터 버튼 제공&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-start="1229" data-end="1258"&gt;(무료 버전은 페이지를 여러 개로 나누는 방식 권장)&lt;/p&gt;

&lt;hr data-start="1260" data-end="1263" /&gt;

&lt;h2 data-start="1265" data-end="1285"&gt;6️⃣ 메뉴에 사진 게시판 추가&lt;/h2&gt;
&lt;ol data-start="1287" data-end="1339"&gt;
    &lt;li data-start="1287" data-end="1301"&gt;
&lt;p data-start="1290" data-end="1301"&gt;&lt;strong data-start="1290" data-end="1301"&gt;외모 → 메뉴&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="1302" data-end="1320"&gt;
&lt;p data-start="1305" data-end="1320"&gt;&lt;code data-start="1305" data-end="1313"&gt;사진 게시판&lt;/code&gt; 페이지 선택&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="1321" data-end="1333"&gt;
&lt;p data-start="1324" data-end="1333"&gt;상단 메뉴에 추가&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="1334" data-end="1339"&gt;
&lt;p data-start="1337" data-end="1339"&gt;저장&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="1341" data-end="1344" /&gt;

&lt;h2 data-start="1346" data-end="1374"&gt;7️⃣ 일반 게시판과 완전히 분리하고 싶다면?&lt;/h2&gt;
&lt;p data-start="1376" data-end="1387"&gt;✔ 방법 1 (간단)&lt;/p&gt;

&lt;ul data-start="1388" data-end="1437"&gt;
    &lt;li data-start="1388" data-end="1412"&gt;
&lt;p data-start="1390" data-end="1412"&gt;사진 게시판은 &lt;strong data-start="1398" data-end="1412"&gt;FooGallery&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="1413" data-end="1437"&gt;
&lt;p data-start="1415" data-end="1437"&gt;일반 게시판은 &lt;strong data-start="1423" data-end="1434"&gt;글(Post)&lt;/strong&gt; 사용&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-start="1439" data-end="1450"&gt;✔ 방법 2 (고급)&lt;/p&gt;

&lt;ul data-start="1451" data-end="1503"&gt;
    &lt;li data-start="1451" data-end="1479"&gt;
&lt;p data-start="1453" data-end="1479"&gt;커스텀 포스트 타입 + FooGallery 연동&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="1480" data-end="1503"&gt;
&lt;p data-start="1482" data-end="1503"&gt;테마 커스터마이징 필요 (개발자 영역)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="1505" data-end="1508" /&gt;

&lt;h2 data-start="1510" data-end="1538"&gt;8️⃣ 이런 경우라면 다른 플러그인이 더 적합&lt;/h2&gt;
&lt;div class="TyagGW_tableContainer"&gt;
&lt;div class="group TyagGW_tableWrapper flex w-fit flex-col-reverse" tabindex="-1"&gt;
&lt;table class="w-fit min-w-(--thread-content-width)" data-start="1540" data-end="1692"&gt;
&lt;thead data-start="1540" data-end="1551"&gt;
&lt;tr data-start="1540" data-end="1551"&gt;
&lt;th data-start="1540" data-end="1545" data-col-size="sm"&gt;목적&lt;/th&gt;
&lt;th data-start="1545" data-end="1551" data-col-size="sm"&gt;추천&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody data-start="1564" data-end="1692"&gt;
&lt;tr data-start="1564" data-end="1595"&gt;
&lt;td data-start="1564" data-end="1579" data-col-size="sm"&gt;사진만 빠르게 보여주기&lt;/td&gt;
&lt;td data-col-size="sm" data-start="1579" data-end="1595"&gt;FooGallery ✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-start="1596" data-end="1633"&gt;
&lt;td data-start="1596" data-end="1610" data-col-size="sm"&gt;사진 + 댓글 게시판&lt;/td&gt;
&lt;td data-col-size="sm" data-start="1610" data-end="1633"&gt;WP Photo Album Plus&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-start="1634" data-end="1661"&gt;
&lt;td data-start="1634" data-end="1644" data-col-size="sm"&gt;네이버 카페형&lt;/td&gt;
&lt;td data-col-size="sm" data-start="1644" data-end="1661"&gt;Asgaros Forum&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-start="1662" data-end="1692"&gt;
&lt;td data-start="1662" data-end="1674" data-col-size="sm"&gt;인스타그램 스타일&lt;/td&gt;
&lt;td data-col-size="sm" data-start="1674" data-end="1692"&gt;Essential Grid&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;hr data-start="1694" data-end="1697" /&gt;

&lt;h2 data-start="1699" data-end="1707"&gt;🔚 요약&lt;/h2&gt;
&lt;p data-start="1709" data-end="1816"&gt;✅ &lt;strong data-start="1711" data-end="1741"&gt;FooGallery = 사진 전용 게시판에 최적&lt;/strong&gt;&lt;br data-start="1741" data-end="1744" /&gt;✅ 갤러리 하나 = 게시글 하나 개념&lt;br data-start="1764" data-end="1767" /&gt;✅ 페이지에 갤러리를 배치해서 게시판처럼 사용&lt;br data-start="1792" data-end="1795" /&gt;✅ 라이트박스 + 썸네일로 완성도 높음&lt;/p&gt;</content><category term="워드프레스"></category></entry><entry><title>윈도우10에서 랜카드 2개를 묶어서 전송 속도 올리 수 있을까?</title><link href="/posts/windou10eseo-raenkadeu-2gaereul-muggeoseo-jeonsong-sogdo-olri-su-isseulgga.html" rel="alternate"></link><published>2025-12-21T05:25:00+09:00</published><updated>2025-12-21T05:25:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-12-21:/posts/windou10eseo-raenkadeu-2gaereul-muggeoseo-jeonsong-sogdo-olri-su-isseulgga.html</id><summary type="html">&lt;p&gt;가능은 하지만 조건이 까다롭고 체감 효과가 제한적입니다. 윈도우10에서 랜카 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;가능은 하지만 조건이 까다롭고 체감 효과가 제한적입니다. 윈도우10에서 랜카드 2개를 묶어 속도를 올리는 방법과 현실적인 대안까지 정리해 드릴게요.&lt;/p&gt;
&lt;p&gt;1️⃣ 윈도우10에서 랜카드 2개 묶기 (NIC Teaming)&lt;/p&gt;
&lt;p&gt;🔴 결론 먼저&lt;/p&gt;
&lt;p&gt;윈도우10 기본 기능으로는 공식 NIC Teaming 불가&lt;/p&gt;
&lt;p&gt;서버용 Windows Server 또는&lt;/p&gt;
&lt;p&gt;랜카드 제조사 드라이버(Intel 등) 가 지원해야 가능&lt;/p&gt;
&lt;p&gt;2️⃣ 가능한 경우 (조건)&lt;/p&gt;
&lt;p&gt;✅ 조건 요약
항목  필요 여부
동일한 제조사 랜카드 거의 필수
Intel PROSet 등 전용 드라이버  필수
스위치가 LACP(802.3ad) 지원   대부분 필요
단일 파일 전송 속도 증가  ❌ 불가&lt;/p&gt;
&lt;p&gt;⚠️ 단일 다운로드/업로드 속도는 2배 안 됨
→ 여러 연결을 동시에 사용할 때만 효과 있음&lt;/p&gt;
&lt;p&gt;3️⃣ Intel 랜카드일 경우 (가장 현실적인 방법)
🔹 준비물&lt;/p&gt;
&lt;p&gt;Intel 랜카드 2개&lt;/p&gt;
&lt;p&gt;Intel PROSet Adapter Configuration Utility&lt;/p&gt;
&lt;p&gt;LACP 지원 스위치 (공유기 대부분 ❌)&lt;/p&gt;
&lt;p&gt;🔹 설정 개요&lt;/p&gt;
&lt;p&gt;Intel PROSet 설치&lt;/p&gt;
&lt;p&gt;두 랜카드 선택&lt;/p&gt;
&lt;p&gt;팀 생성 (Teaming)&lt;/p&gt;
&lt;p&gt;모드 선택&lt;/p&gt;
&lt;p&gt;Static Teaming&lt;/p&gt;
&lt;p&gt;LACP (스위치 지원 시 권장)&lt;/p&gt;
&lt;p&gt;📌 이건 윈도우10에서도 가능하지만 Intel만 사실상 가능&lt;/p&gt;
&lt;p&gt;4️⃣ 리얼리티 체크 (많이 오해하는 부분)&lt;/p&gt;
&lt;p&gt;❌ 이런 건 안 됩니다&lt;/p&gt;
&lt;p&gt;인터넷 속도 1Gbps → 2Gbps로 바로 증가 ❌&lt;/p&gt;
&lt;p&gt;공유기 WAN 1Gbps인데 PC만 2개 묶기 ❌&lt;/p&gt;
&lt;p&gt;랜카드만 묶으면 자동으로 빨라짐 ❌&lt;/p&gt;
&lt;p&gt;✅ 이런 경우엔 효과 있음&lt;/p&gt;
&lt;p&gt;NAS ↔ PC 다중 사용자&lt;/p&gt;
&lt;p&gt;서버/가상머신&lt;/p&gt;
&lt;p&gt;여러 파일 동시 전송&lt;/p&gt;
&lt;p&gt;내부망 트래픽 분산&lt;/p&gt;
&lt;p&gt;5️⃣ 스위치 없을 때 가능한 대안 (현실적)&lt;/p&gt;
&lt;p&gt;✔ 방법 1. SMB 멀티채널 (추천 ⭐)&lt;/p&gt;
&lt;p&gt;윈도우10 기본 지원&lt;/p&gt;
&lt;p&gt;랜카드 2개 자동 사용&lt;/p&gt;
&lt;p&gt;스위치 설정 불필요&lt;/p&gt;
&lt;p&gt;📌 조건&lt;/p&gt;
&lt;p&gt;NAS/상대 PC도 SMB 멀티채널 지원&lt;/p&gt;
&lt;p&gt;각각 다른 IP&lt;/p&gt;
&lt;p&gt;👉 NAS 쓰시면 이게 제일 좋습니다&lt;/p&gt;
&lt;p&gt;✔ 방법 2. 고속 랜카드 1장으로 교체&lt;/p&gt;
&lt;p&gt;옵션  실제 체감
2.5GbE  ⭐⭐⭐⭐
5GbE    ⭐⭐⭐⭐⭐
10GbE   ⭐⭐⭐⭐⭐&lt;/p&gt;
&lt;p&gt;👉 요즘은 2.5GbE가 가장 가성비&lt;/p&gt;
&lt;p&gt;6️⃣ 추천 정리 (한 줄 요약)
목적          추천
인터넷 속도  ❌ 의미 없음
NAS 전송  SMB 멀티채널
서버용 NIC Teaming
일반 사용자  2.5GbE 1장&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>인텔 8세대와 9세대 성능 비교</title><link href="/posts/intel-8sedaewa-9sedae-seongneung-bigyo.html" rel="alternate"></link><published>2025-12-21T05:21:00+09:00</published><updated>2025-12-21T05:21:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-12-21:/posts/intel-8sedaewa-9sedae-seongneung-bigyo.html</id><summary type="html">&lt;p&gt;인텔 &lt;strong&gt;8세대(Core 8th Gen)&lt;/strong&gt;와 9세대(Core 9th Gen) CPU 성능 비교를 정리하면 아래와 같습니다.&lt;/p&gt;
&lt;p&gt;🔥 1. 아 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;인텔 &lt;strong&gt;8세대(Core 8th Gen)&lt;/strong&gt;와 9세대(Core 9th Gen) CPU 성능 비교를 정리하면 아래와 같습니다.&lt;/p&gt;
&lt;p&gt;🔥 1. 아키텍처 및 기본 변화&lt;/p&gt;
&lt;p&gt;🧠 아키텍처&lt;/p&gt;
&lt;p&gt;8세대 (Coffee Lake): 6코어/12스레드(i7 기준) → 메인스트림에서 코어 수를 크게 늘린 세대.&lt;/p&gt;
&lt;p&gt;9세대 (Coffee Lake-Refresh): 기본적으로 동일한 14nm 공정과 같은 아키텍처 기반. 세대명이 바뀌긴 했지만 구조적인 혁신은 거의 없음.&lt;/p&gt;
&lt;p&gt;👉 즉, 8세대 → 9세대 간에는 큰 설계 변화는 없고 클럭, 일부 코어 구성, 제품군 확장 정도가 주된 차이입니다.&lt;/p&gt;
&lt;p&gt;⚙️ 2. 코어/스레드 &amp;amp; 제품 구성 변화&lt;/p&gt;
&lt;p&gt;🔹 i5 라인&lt;/p&gt;
&lt;p&gt;8세대 i5-8600K / i5-8400: 6코어 / 6스레드&lt;/p&gt;
&lt;p&gt;9세대 i5-9600K / i5-9400: 여전히 6코어 / 6스레드
👉 스레드 수 동일, 클럭 약간 상승 정도.&lt;/p&gt;
&lt;p&gt;🔹 i7 라인&lt;/p&gt;
&lt;p&gt;8세대 i7-8700K: 6코어 / 12스레드&lt;/p&gt;
&lt;p&gt;9세대 i7-9700K: 8코어 / 8스레드
👉 i7 시리즈에서는 스레딩 대신 물리 코어를 늘린 변화가 대표적.&lt;/p&gt;
&lt;p&gt;🔹 i9 라인&lt;/p&gt;
&lt;p&gt;9세대 최초 등장: i9-9900K 시리즈가 8코어 / 16스레드로 추가됨. (8세대엔 i9 라인 자체가 없음)&lt;/p&gt;
&lt;p&gt;👉 즉, 9세대는 &lt;strong&gt;i7에 물리 코어 추가(i7→8코어)&lt;/strong&gt;와 i9 라인 신설이 큰 차이 포인트입니다.&lt;/p&gt;
&lt;p&gt;🚀 3. 성능 비교 (실 사용 기준)
📊 성능 차이&lt;/p&gt;
&lt;p&gt;클럭 향상 및 최적화 → 8세대 대비 9세대는 대부분 모델에서 약간 높은 베이스/터보 클럭 제공.&lt;/p&gt;
&lt;p&gt;실 성능 차: 동일 제품군(i5-8600K vs i5-9600K 등)은 일반적으로 5~6% 정도 전후의 향상이 보고됨.&lt;/p&gt;
&lt;p&gt;📈 벤치마크 예시&lt;/p&gt;
&lt;p&gt;Core i7-9750H(9세대) vs Core i7-8850H(8세대):
• 싱글 코어 약 +6%
• 멀티 코어 약 +5.8%
→ 이 정도 수준의 차이만 있음 (같은 라인 비교 기준).&lt;/p&gt;
&lt;p&gt;👉 세대 간 성능 향상은 있지만 10세대 또는 그 이후 세대처럼 아키텍처 대전환 수준은 아님이 핵심입니다.&lt;/p&gt;
&lt;p&gt;🧠 4. 실제 사용 관점
🖥️ 일반 작업 &amp;amp; 게임&lt;/p&gt;
&lt;p&gt;✔️ 웹/오피스/영상 재생: 차이 거의 없음
✔️ 게임: 클럭 약상승으로 소폭 FPS 향상 가능하지만 극적 차이는 아님&lt;/p&gt;
&lt;p&gt;💻 멀티태스킹 / 생산성&lt;/p&gt;
&lt;p&gt;✔️ 코어/스레드 많은 9세대 i7/i9은 멀티코어 작업(렌더링, 인코딩)에서 좀 더 유리
✔️ 다만 8세대도 여전히 대부분 작업에서 충분한 성능 제공&lt;/p&gt;
&lt;p&gt;💡 결론&lt;/p&gt;
&lt;p&gt;8세대 → 9세대 업그레이드는 큰 체감 성능 향상보다 클럭/코어 구성 변화 정도&lt;/p&gt;
&lt;p&gt;특히 같은 코어/스레드인 모델끼리는 성능 차가 미미함 (수 % 수준).&lt;/p&gt;
&lt;p&gt;📌 요약 비교
항목          8세대 (Coffee Lake)   9세대 (Coffee Lake-Refresh)
공정/아키텍처 동일 14nm         동일 14nm
코어/스레드  i7: 6C/12T          i7: 8C/8T (코어 증가)
클럭          기준 클럭           약간 상향
신제품군        —                   i9 도입
성능 향상   미미 ~ 보통 수준  약간 향상&lt;/p&gt;
&lt;p&gt;👉 전체적으로 동일한 메인스트림 아키텍처 기반 + 소폭 향상 구조입니다&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>노트북 덮게 닫고도 계속 사용하기</title><link href="/posts/noteubug-deopge-dadgodo-gyesog-sayonghagi.html" rel="alternate"></link><published>2025-09-03T11:20:00+09:00</published><updated>2025-09-03T11:20:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-09-03:/posts/noteubug-deopge-dadgodo-gyesog-sayonghagi.html</id><summary type="html">&lt;p&gt;노트북 덮개를 닫아도 꺼지지 않고 계속 사용하려면 절전 모드나 최대 절전 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;노트북 덮개를 닫아도 꺼지지 않고 계속 사용하려면 절전 모드나 최대 절전 모드로 진입하지 않도록 설정해야 합니다.  &lt;br&gt;
운영체제에 따라 방법이 달라요. 👇&lt;/p&gt;
&lt;p&gt;✅ Windows (윈도우)&lt;/p&gt;
&lt;p&gt;제어판 열기&lt;/p&gt;
&lt;p&gt;윈도우 키 + R → control 입력 → Enter&lt;/p&gt;
&lt;p&gt;전원 옵션 들어가기&lt;/p&gt;
&lt;p&gt;하드웨어 및 소리 → 전원 옵션&lt;/p&gt;
&lt;p&gt;덮개를 닫을 때 작동 설정 선택&lt;/p&gt;
&lt;p&gt;왼쪽 메뉴에서 "덮개를 닫을 때 수행되는 작업 선택" 클릭&lt;/p&gt;
&lt;p&gt;"덮개를 닫을 때" 항목을 아무 작업도 안 함 으로 변경&lt;/p&gt;
&lt;p&gt;전원 사용 중 / 배터리 사용 시 각각 설정 가능&lt;/p&gt;
&lt;p&gt;저장 → 이제 덮개를 닫아도 꺼지지 않음&lt;/p&gt;
&lt;p&gt;✅ macOS (맥북)&lt;/p&gt;
&lt;p&gt;맥북은 기본적으로 덮개 닫으면 절전 모드로 들어갑니다. 계속 사용하려면:&lt;/p&gt;
&lt;p&gt;전원 어댑터 연결 + 외부 모니터 연결 + 외부 키보드/마우스 필요&lt;/p&gt;
&lt;p&gt;이 상태를 “Clamshell Mode”라고 함&lt;/p&gt;
&lt;p&gt;덮개를 닫으면 화면은 외부 모니터로 전환되어 정상 작동&lt;/p&gt;
&lt;p&gt;※ 맥북을 덮은 상태에서 모니터 없이 계속 켜두려면 Amphetamine 같은 앱을 설치해야 합니다.&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>컴퓨터가 재부팅이 된 기록을 찾기 방법</title><link href="/posts/keompyuteoga-jaebutingi-doen-girogeul-cajgi-bangbeob.html" rel="alternate"></link><published>2025-08-20T14:54:00+09:00</published><updated>2025-08-20T14:54:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-08-20:/posts/keompyuteoga-jaebutingi-doen-girogeul-cajgi-bangbeob.html</id><summary type="html">&lt;p&gt;컴퓨터가 언제, 왜 재부팅되었는지 확인하려면 운영체제에 따라 기록을 확 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;컴퓨터가 언제, 왜 재부팅되었는지 확인하려면 운영체제에 따라 기록을 확인할 수 있습니다.
아마 Windows 기준으로 말씀하시는 것 같아 Windows / Linux 둘 다 정리해드릴게요.&lt;/p&gt;
&lt;p&gt;🔹 Windows에서 재부팅 기록 확인 방법&lt;/p&gt;
&lt;p&gt;이벤트 뷰어 사용&lt;/p&gt;
&lt;p&gt;Win + R → eventvwr.msc 입력 → 엔터&lt;/p&gt;
&lt;p&gt;좌측에서 Windows 로그 → 시스템 선택&lt;/p&gt;
&lt;p&gt;우측에서 이벤트 ID 기준으로 필터링&lt;/p&gt;
&lt;p&gt;6005 : "Event log service started" (부팅 시)&lt;/p&gt;
&lt;p&gt;6006 : "Event log service stopped" (정상 종료)&lt;/p&gt;
&lt;p&gt;6008 : 예상치 못한 종료 (전원 강제 종료, 블루스크린 등)&lt;/p&gt;
&lt;p&gt;41 (Kernel-Power) : 전원 문제로 인한 강제 재부팅&lt;/p&gt;
&lt;p&gt;👉 6008 또는 41을 보면 강제 재부팅/전원 차단 시점을 알 수 있습니다.&lt;/p&gt;
&lt;p&gt;명령어로 확인&lt;/p&gt;
&lt;p&gt;PowerShell에서:&lt;/p&gt;
&lt;p&gt;Get-EventLog -LogName System -InstanceId 6005,6006,6008,41 | Select-Object TimeGenerated, InstanceId, Message&lt;/p&gt;
&lt;p&gt;최근 재부팅 관련 로그만 확인 가능합니다.&lt;/p&gt;
&lt;p&gt;🔹 Linux (Ubuntu 등)에서 재부팅 기록 확인&lt;/p&gt;
&lt;p&gt;재부팅 기록&lt;/p&gt;
&lt;p&gt;last reboot&lt;/p&gt;
&lt;p&gt;→ 언제 재부팅되었는지 목록 표시&lt;/p&gt;
&lt;p&gt;시스템 로그 확인&lt;/p&gt;
&lt;p&gt;journalctl -b -1&lt;/p&gt;
&lt;p&gt;→ 이전 부팅 시 로그 확인&lt;/p&gt;
&lt;p&gt;비정상 종료 여부&lt;/p&gt;
&lt;p&gt;journalctl -p err -b -1&lt;/p&gt;
&lt;p&gt;→ 이전 부팅에서 오류/에러 발생 기록 확인&lt;/p&gt;
&lt;p&gt;👉 정리하면, Windows는 이벤트 뷰어의 시스템 로그, Linux는 last와 journalctl 명령어로 확인하면 됩니다.&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>Kali Linux에서 사용하는 응용 프로그램에 대한 설명자료, 사용법 등</title><link href="/posts/kali-linuxeseo-sayonghaneun-eungyong-peurogeuraeme-daehan-seolmyeongjaryo-sayongbeob-deung.html" rel="alternate"></link><published>2025-08-03T06:41:00+09:00</published><updated>2025-08-03T06:41:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-08-03:/posts/kali-linuxeseo-sayonghaneun-eungyong-peurogeuraeme-daehan-seolmyeongjaryo-sayongbeob-deung.html</id><summary type="html">&lt;p&gt;Kali Linux는 보안 전문가나 해커들이 사용하는 침투 테스트(penetration testing) 및 디지털 포렌식 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Kali Linux는 보안 전문가나 해커들이 사용하는 침투 테스트(penetration testing) 및 디지털 포렌식을 위한 리눅스 배포판입니다. 수백 가지의 보안 도구가 사전 설치되어 있으며, 각 도구는 특정한 목적을 가지고 있습니다.&lt;/p&gt;
&lt;p&gt;🔧 Kali Linux 주요 도구 설명 및 사용법 요약
1. 정보 수집 (Information Gathering)
도구  설명                                  사용 예
nmap    네트워크 스캐닝 및 포트 스캐닝 도구    nmap -sS 192.168.1.1
whois   도메인 정보 확인   whois example.com
dnsenum DNS 정보 수집   dnsenum example.com
theHarvester    이메일/서브도메인 등 정보 수집   theHarvester -d example.com -b google&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;취약점 분석 (Vulnerability Analysis)
도구  설명                  사용 예
nikto   웹 서버 취약점 스캐너    nikto -h http://example.com
OpenVAS 종합적인 취약점 관리 시스템 웹 GUI 사용 (openvas-start)
lynis   시스템 보안 감사 도구    lynis audit system&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;웹 애플리케이션 공격 (Web App Attacks)
도구  설명                                  사용 예
Burp Suite  웹 요청 분석 및 공격 프록시    GUI로 사용
OWASP ZAP   자동 웹 취약점 스캐너    zap 실행 후 웹 브라우저 통해 조작
sqlmap  SQL Injection 자동화 도구    sqlmap -u "http://example.com?id=1" --dbs&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;무선 공격 (Wireless Attacks)
도구  설명                                 사용 예
aircrack-ng 무선 암호 해킹 도구 모음  airmon-ng, airodump-ng, aircrack-ng
reaver  WPS 취약점 이용한 WPA/WPA2 해킹 reaver -i wlan0mon -b [BSSID] -vv&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;패스워드 공격 (Password Attacks)
도구  설명                  사용 예
hydra   원격 서비스 브루트포싱    hydra -l admin -P pass.txt 192.168.1.1 ssh
john    패스워드 해시 크랙  john --wordlist=rockyou.txt hashfile.txt
hashcat GPU 기반 빠른 해시 크래커    hashcat -m 0 -a 0 hashes.txt wordlist.txt&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;소셜 엔지니어링 (Social Engineering)
도구  설명  사용 예
SET (Social-Engineer Toolkit)   피싱 사이트, 악성 파일 생성 등  setoolkit 명령어로 GUI 메뉴 진입&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Exploit 도구
도구  설명                                 사용 예
Metasploit Framework    종합 익스플로잇 플랫폼    msfconsole로 실행
searchsploit    Exploit DB에서 취약점 코드 검색  searchsploit apache 2.4&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;포렌식 (Forensics)
도구  설명                          사용 예
Autopsy 디지털 포렌식 GUI 툴   GUI 실행 후 증거 이미지 분석
Volatility  메모리 포렌식 도구  volatility -f mem.dmp --profile=Win7SP1x64 pslist&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;리버스 엔지니어링 (Reverse Engineering)
도구  설명                  사용 예
Ghidra  바이너리 역공학 도구 ghidraRun으로 GUI 실행
radare2 터미널 기반 역공학 툴    r2 binary.exe
OllyDbg/Wine    Windows용 디버거 (Wine에서 실행)    wine OllyDbg.exe&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;📁 Kali Linux 도구 실행 방법
대부분의 도구는 터미널에서 직접 실행할 수 있습니다.&lt;/p&gt;
&lt;p&gt;GUI 기반 도구는 Kali 메뉴에서 실행하거나 kali-tools-* 패키지 설치 필요 시 다음과 같이 설치:&lt;/p&gt;
&lt;p&gt;bash
복사
편집
sudo apt update
sudo apt install kali-linux-top10
sudo apt install kali-tools-web&lt;/p&gt;
&lt;p&gt;📘 Kali Linux 공식 문서 및 자료&lt;/p&gt;
&lt;p&gt;Kali Tools Index:
🔗 https://tools.kali.org&lt;/p&gt;
&lt;p&gt;Kali Linux 공식 문서:
🔗 https://www.kali.org/docs/&lt;/p&gt;
&lt;p&gt;Exploit DB (취약점 검색):
🔗 https://www.exploit-db.com/&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>1060 6기가 와 rx570 4기가 성능 비교</title><link href="/posts/1060-6giga-wa-rx570-4giga-seongneung-bigyo.html" rel="alternate"></link><published>2025-08-02T05:01:00+09:00</published><updated>2025-08-02T05:01:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-08-02:/posts/1060-6giga-wa-rx570-4giga-seongneung-bigyo.html</id><summary type="html">&lt;p&gt;GTX 1060 6GB와 RX 570 4GB는 비슷한 세대(2016~2017년 출시)의 그래픽카드이며, 중급 게이밍 그래 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;GTX 1060 6GB와 RX 570 4GB는 비슷한 세대(2016~2017년 출시)의 그래픽카드이며, 중급 게이밍 그래픽카드로 많이 비교되는 모델입니다.&lt;/p&gt;
&lt;p&gt;하지만 전반적인 성능과 효율 면에서 차이가 있습니다.&lt;/p&gt;
&lt;p&gt;🎯 1. 기본 사양 비교&lt;/p&gt;
&lt;p&gt;항목  GTX 1060 6GB    RX 570 4GB
아키텍처    Pascal (16nm)   Polaris (14nm)
VRAM    GDDR5 6GB   GDDR5 4GB
쿠다코어/스트림프로세서    1280 CUDA   2048 Stream
TDP (전력소모)  120W    150W~180W
드라이버 최적화    매우 안정적 (엔비디아)   다소 불안정 (특히 구버전 윈도우)
출시가격    더 비쌈    더 저렴했음&lt;/p&gt;
&lt;p&gt;📊 2. 실제 게임 성능 (FHD, 1080p 기준)&lt;/p&gt;
&lt;p&gt;게임  GTX 1060 6GB (FPS)  RX 570 4GB (FPS)
GTA V   80~90   70~80
PUBG    70~75   55~60
Fortnite    100+    80~90
Shadow of the Tomb Raider   60  50
Apex Legends    90  70~75
Cyberpunk 2077 (Low)    45~50   35~40&lt;/p&gt;
&lt;p&gt;➡ GTX 1060 6GB가 전반적으로 10~25% 정도 더 높은 성능을 보여줍니다.&lt;/p&gt;
&lt;p&gt;🧠 3. 추가 차이점 요약&lt;/p&gt;
&lt;p&gt;항목  GTX 1060 6GB    RX 570 4GB
발열  더 낮음 (조용함)  발열 더 많고 팬 소음 큼
전력 효율   더 좋음    더 나쁨
VRAM 용량 6GB → 더 여유 있음   4GB → 최신 게임에서 부족함
드라이버 호환성    우수 (엔비디아)   간혹 충돌 있음 (특히 듀얼 GPU 시)
DLSS/엔비디아 기능    없음 (1060은 지원 안함)    없음&lt;/p&gt;
&lt;p&gt;📌 결론&lt;/p&gt;
&lt;p&gt;상황  추천
게임 성능 기준    ✅ GTX 1060 6GB 우세 (전반적으로 15~25% 향상)
발열/소음/전력    ✅ GTX 1060
가성비 중고라면 RX 570이 조금 더 쌈
VRAM 중요 (4K 텍스처, 모드 등)  ✅ GTX 1060 (6GB)
드라이버 안정성, 궁합    ✅ GTX 1060 단독 사용 권장&lt;/p&gt;
&lt;p&gt;📌 요약 한줄&lt;/p&gt;
&lt;p&gt;👉 GTX 1060 6GB가 RX 570 4GB보다 전반적으로 더 나은 성능, 전력 효율, VRAM 여유를 제공합니다.&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>GTX 1660 슈퍼와 GTX 1060 6G 모델 극대화 방법</title><link href="/posts/gtx-1660-syupeowa-gtx-1060-6g-model-geugdaehwa-bangbeob.html" rel="alternate"></link><published>2025-08-02T04:59:00+09:00</published><updated>2025-08-02T04:59:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-08-02:/posts/gtx-1660-syupeowa-gtx-1060-6g-model-geugdaehwa-bangbeob.html</id><summary type="html">&lt;p&gt;GTX 1660 Super와 GTX 1060 6GB는 &lt;strong&gt;동일한 NVIDIA 아키텍처 계열(Pascal vs Turing)&lt;/strong&gt;로서, 같은 시스템에 함께 설 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;GTX 1660 Super와 GTX 1060 6GB는 &lt;strong&gt;동일한 NVIDIA 아키텍처 계열(Pascal vs Turing)&lt;/strong&gt;로서, 같은 시스템에 함께 설치해도 충돌 없이 운용이 가능하고, 효율적으로 병렬 활용할 수 있습니다.
단, SLI는 지원되지 않기 때문에, 두 GPU를 각기 다른 작업에 할당하는 방식으로 극대화해야 합니다.&lt;/p&gt;
&lt;p&gt;✅ 시스템에 1660 Super + 1060 6GB를 함께 설치했을 때 극대화 방법&lt;/p&gt;
&lt;p&gt;🎯 1. 목적: 게임 성능 극대화&lt;/p&gt;
&lt;p&gt;게임 전용 GPU로는 1660 Super 사용 → 이쪽이 성능이 더 뛰어납니다.&lt;/p&gt;
&lt;p&gt;1060은 백그라운드 작업 또는 다른 디스플레이 출력용으로 활용&lt;/p&gt;
&lt;p&gt;게임 내 그래픽 설정에서 GPU 선택 불가한 경우, 디스플레이를 1660 Super에 연결하세요.&lt;/p&gt;
&lt;p&gt;🔧 설정 팁:&lt;/p&gt;
&lt;p&gt;디스플레이 케이블(HDMI, DP)을 1660 Super에 연결&lt;/p&gt;
&lt;p&gt;NVIDIA 제어판 → 기본 GPU 확인 및 설정&lt;/p&gt;
&lt;p&gt;1060은 보조 작업에 활용 (예: YouTube 영상, OBS 인코딩, 가벼운 작업)&lt;/p&gt;
&lt;p&gt;🧠 2. 목적: 멀티 GPU를 활용한 작업 (예: 인코딩, 머신러닝, 채굴)
GPU 1: 1660 Super → 메인 작업 (게임, 렌더링)&lt;/p&gt;
&lt;p&gt;GPU 2: 1060 → 보조 작업 (인코딩, 채굴, 서브 렌더링)&lt;/p&gt;
&lt;p&gt;예시:&lt;/p&gt;
&lt;p&gt;OBS 인코딩: OBS에서 NVIDIA NVENC (GTX 1060) 선택해, 게임을 1660으로 돌리고 인코딩은 1060으로&lt;/p&gt;
&lt;p&gt;채굴: 둘 다 동시에 가능하며, 프로그램에서 각각 GPU 선택 가능&lt;/p&gt;
&lt;p&gt;Blender: Cycles 렌더링 시 두 GPU 병행 사용 가능&lt;/p&gt;
&lt;p&gt;🔧 설정 팁:&lt;/p&gt;
&lt;p&gt;OBS Studio → 고급 → 출력 → 인코더 GPU 선택&lt;/p&gt;
&lt;p&gt;Blender → Edit → Preferences → System → CUDA 선택&lt;/p&gt;
&lt;p&gt;🖥️ 3. 목적: 멀티 모니터 / 멀티태스킹&lt;/p&gt;
&lt;p&gt;두 GPU 모두에 모니터 연결 가능&lt;/p&gt;
&lt;p&gt;예:&lt;/p&gt;
&lt;p&gt;1660 Super: 게임용 주 모니터&lt;/p&gt;
&lt;p&gt;1060: 웹 브라우저, 스트리밍, 문서 등 부가 작업용&lt;/p&gt;
&lt;p&gt;윈도우 설정 → 디스플레이 → 각 GPU에 연결된 화면 설정&lt;/p&gt;
&lt;p&gt;🔧 4. 드라이버 및 전력 관리&lt;/p&gt;
&lt;p&gt;드라이버: 두 GPU 모두 NVIDIA이므로 하나의 드라이버로 통합 관리 가능&lt;/p&gt;
&lt;p&gt;전원: 500~600W 이상 파워서플라이 권장&lt;/p&gt;
&lt;p&gt;발열 관리: 내부 공기 흐름 확보, 써멀 관리 중요&lt;/p&gt;
&lt;p&gt;📊 참고: GTX 1660 Super vs GTX 1060 6GB 성능 차이
항목  GTX 1660 Super  GTX 1060 6GB
쿠다코어    1408    1280
VRAM    GDDR6 6GB   GDDR5 6GB
대략 성능   20~30% ↑    기준&lt;/p&gt;
&lt;p&gt;성능이 1660 Super 쪽이 확실히 더 좋습니다. 게임/메인작업은 무조건 1660 Super에!&lt;/p&gt;
&lt;p&gt;🔚 결론: 어떤 방식이든 가능&lt;/p&gt;
&lt;p&gt;목적  사용 방식
게임  1660 Super로 전담, 1060은 보조
멀티 작업   각각 다른 작업에 병렬 활용
OBS/인코딩 게임은 1660, 인코딩은 1060
멀티 모니터  각각 GPU에 모니터 연결
드라이버    NVIDIA 통합 드라이버 OK&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>한 컴에 GTX 1660 Super 6GB (엔비디아 그래픽카드) RX 570 4GB (AMD 그래픽카드) 두개 설치 되어 있음</title><link href="/posts/han-keome-gtx-1660-super-6gb-enbidia-geuraepigkadeu-rx-570-4gb-amd-geuraepigkadeu-dugae-seolci-doeeo-isseum.html" rel="alternate"></link><published>2025-08-02T04:55:00+09:00</published><updated>2025-08-02T04:55:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-08-02:/posts/han-keome-gtx-1660-super-6gb-enbidia-geuraepigkadeu-rx-570-4gb-amd-geuraepigkadeu-dugae-seolci-doeeo-isseum.html</id><summary type="html">&lt;p&gt;AMD Ryzen 5 5600 (6코어 12스레드 CPU)
GTX 1660 Super 6GB (엔비디아 그래픽카드)
RX 570 4GB (AMD 그래픽카드)
한 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;AMD Ryzen 5 5600 (6코어 12스레드 CPU)
GTX 1660 Super 6GB (엔비디아 그래픽카드)
RX 570 4GB (AMD 그래픽카드)
한 컴에 같이 설치 되어 있다. 극대화 하려면 어떻게 해야 하는가?&lt;/p&gt;
&lt;p&gt;✅ 목적별 극대화 방안&lt;/p&gt;
&lt;p&gt;🎮 1. 게임 또는 GPU 렌더링 성능 극대화&lt;/p&gt;
&lt;p&gt;하나의 GPU만 사용하는 것이 가장 효율적입니다.&lt;/p&gt;
&lt;p&gt;일반적으로 GTX 1660 Super가 RX 570보다 더 빠르므로, 게임이나 렌더링은 1660 Super에 집중합니다.&lt;/p&gt;
&lt;p&gt;RX 570은 제거하거나 보조 용도로 설정하세요 (예: 스트리밍용 GPU 인코딩 등).&lt;/p&gt;
&lt;p&gt;BIOS나 윈도우에서 부팅 GPU를 명확히 설정하고, 드라이버는 NVIDIA만 설치하세요.&lt;/p&gt;
&lt;p&gt;👉 이 경우 RX 570을 제거하는 것이 더 나은 선택일 수 있습니다.&lt;/p&gt;
&lt;p&gt;🧠 2. 멀티 GPU를 활용한 작업 (예: 채굴, 머신러닝, 병렬 처리)&lt;/p&gt;
&lt;p&gt;Windows에서는 서로 다른 제조사의 GPU를 병렬로 활용하는 일이 어렵습니다.&lt;/p&gt;
&lt;p&gt;그러나 특정 작업 (예: mining, 가벼운 병렬 연산, GPU passthrough) 용도로는 가능합니다.&lt;/p&gt;
&lt;p&gt;각각 다른 작업에 할당:&lt;/p&gt;
&lt;p&gt;GTX 1660 Super: 렌더링, 인코딩, 게임&lt;/p&gt;
&lt;p&gt;RX 570: 채굴, 보조 인코딩, 서브모니터 출력&lt;/p&gt;
&lt;p&gt;예: OBS Studio → GTX는 게임, RX는 인코딩 할당&lt;/p&gt;
&lt;p&gt;🖥️ 3. 멀티 모니터 환경&lt;/p&gt;
&lt;p&gt;두 GPU 모두에 모니터 연결 가능&lt;/p&gt;
&lt;p&gt;윈도우 설정 → 디스플레이에서 각각의 디스플레이 설정 가능&lt;/p&gt;
&lt;p&gt;단, 성능은 GPU 간 드라이버 간섭 때문에 약간 손해를 볼 수 있음&lt;/p&gt;
&lt;p&gt;🧰 4. 최적화 팁&lt;/p&gt;
&lt;p&gt;NVIDIA 및 AMD 드라이버를 충돌 없이 설치&lt;/p&gt;
&lt;p&gt;항상 NVIDIA → AMD 순서로 설치&lt;/p&gt;
&lt;p&gt;DDU (Display Driver Uninstaller)로 이전 드라이버 제거&lt;/p&gt;
&lt;p&gt;부팅 우선 GPU 설정 (BIOS) → 1660 Super&lt;/p&gt;
&lt;p&gt;전력 및 발열 관리&lt;/p&gt;
&lt;p&gt;두 GPU 모두 설치 시 전력 소모가 큼&lt;/p&gt;
&lt;p&gt;파워서플라이가 600W 이상 권장&lt;/p&gt;
&lt;p&gt;작업관리자 → GPU 사용량 확인&lt;/p&gt;
&lt;p&gt;각 GPU가 어떤 작업을 하고 있는지 확인 가능&lt;/p&gt;
&lt;p&gt;🔍 결론 (요약)
목적  권장 구성
게임 성능   GTX 1660 Super 단독 사용, RX 570 제거
멀티 작업 (채굴, 렌더링 등)   GTX: 렌더링, RX: 채굴 또는 부가 작업
멀티 모니터  두 GPU에 각각 모니터 연결 가능
드라이버 관리 충돌 최소화 위해 DDU 사용 및 설치 순서 조심&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>컴퓨터 파워 자가 테스트 방법</title><link href="/posts/keompyuteo-paweo-jaga-teseuteu-bangbeob.html" rel="alternate"></link><published>2025-08-02T04:51:00+09:00</published><updated>2025-08-02T04:51:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-08-02:/posts/keompyuteo-paweo-jaga-teseuteu-bangbeob.html</id><summary type="html">&lt;p&gt;컴퓨터 파워 서플라이(파워 PSU)의 자가 테스트는 고장이 의심될 때 아주 유용 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;컴퓨터 파워 서플라이(파워 PSU)의 자가 테스트는 고장이 의심될 때 아주 유용합니다. 가장 기본적인 방법은 페이퍼클립 테스트입니다. 다음은 일반 사용자가 할 수 있는 대표적인 자가 테스트 방법입니다:&lt;/p&gt;
&lt;p&gt;✅ 1. 페이퍼클립 테스트 (Paperclip Test)
파워서플라이가 최소한 켜지는지 확인하는 기본적인 테스트입니다.&lt;/p&gt;
&lt;p&gt;⚠️ 주의사항:
테스트 전 반드시 컴퓨터에서 파워를 분리하세요.&lt;/p&gt;
&lt;p&gt;12V 출력이 켜진다고 해서 정상 동작 보장은 아닙니다.&lt;/p&gt;
&lt;p&gt;테스트는 전기적으로 위험할 수 있으므로 신중히 진행하세요.&lt;/p&gt;
&lt;p&gt;📦 준비물:
금속 클립 또는 가는 철사 (예: 펜을 감는 클립)&lt;/p&gt;
&lt;p&gt;파워 서플라이 단독&lt;/p&gt;
&lt;p&gt;(옵션) 멀티미터 또는 파워 테스터기 (정밀 진단 시)&lt;/p&gt;
&lt;p&gt;✅ 테스트 방법:
파워의 24핀 메인 커넥터를 확인&lt;/p&gt;
&lt;p&gt;녹색선 (PS_ON)과 아무 검은선(GND)을 클립으로 연결&lt;/p&gt;
&lt;p&gt;24핀 커넥터에서 녹색선 1개 + 검은선 여러 개 존재&lt;/p&gt;
&lt;p&gt;이 두 핀을 금속 클립으로 연결하면 전원이 강제로 켜짐&lt;/p&gt;
&lt;p&gt;파워를 전원에 연결하고 스위치 ON&lt;/p&gt;
&lt;p&gt;팬이 돌면 파워 자체는 켜지는 것 (기본 이상 무)&lt;/p&gt;
&lt;p&gt;✅ 2. 멀티미터로 전압 측정 (정밀 확인용)
전원 라인   정상 전압 범위
+3.3V   3.14 ~ 3.47V
+5V 4.75 ~ 5.25V
+12V    11.4 ~ 12.6V&lt;/p&gt;
&lt;p&gt;24핀, 4핀, 6핀, SATA 커넥터 등에서 멀티미터로 직접 전압 확인 가능&lt;/p&gt;
&lt;p&gt;너무 낮거나 높으면 불량 또는 불안정 출력&lt;/p&gt;
&lt;p&gt;✅ 3. 파워 테스터기 사용 (추천)
2~3만 원대 간단한 파워테스터기로 빠르게 전압과 동작 상태 확인 가능&lt;/p&gt;
&lt;p&gt;24핀/8핀/6핀/SATA 등 모두 연결 가능하며 전압 자동 표시됨&lt;/p&gt;
&lt;p&gt;✅ 4. 실제 부하 테스트
하드디스크나 팬 등을 연결해 파워가 부하에서도 안정적으로 작동하는지 확인&lt;/p&gt;
&lt;p&gt;무부하에서는 이상 없어도, 부하 걸리면 꺼지는 경우 있음 → 교체 필요 신호&lt;/p&gt;
&lt;p&gt;❌ 파워 고장 징후
전원 버튼 눌러도 아무 반응 없음&lt;/p&gt;
&lt;p&gt;팬이 살짝 돌다 멈춤&lt;/p&gt;
&lt;p&gt;재부팅 반복&lt;/p&gt;
&lt;p&gt;이상한 타는 냄새, 찌릿한 소리&lt;/p&gt;
&lt;p&gt;🔧 팁
PC가 안 켜질 때: 메인보드 불량보단 파워 불량일 확률이 더 높습니다.&lt;/p&gt;
&lt;p&gt;오래된 파워는 전해 커패시터 노후로 전압 불안정 → 교체 추천&lt;/p&gt;</content><category term="메인"></category></entry><entry><title>Jules Google 소개</title><link href="/posts/jules-google-sogae.html" rel="alternate"></link><published>2025-05-30T23:23:00+09:00</published><updated>2025-05-30T23:23:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-05-30:/posts/jules-google-sogae.html</id><summary type="html">&lt;p&gt;Jules Google: 디지털 혁신과 윤리적 인공지능을 이끄는 선구자
1. 서문
21세기는 기술 혁명 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Jules Google: 디지털 혁신과 윤리적 인공지능을 이끄는 선구자
1. 서문
21세기는 기술 혁명의 시대다. 그 중심에는 인공지능(AI), 빅데이터, 클라우드 컴퓨팅 등 첨단 기술이 있다. 이러한 기술의 발전을 이끄는 수많은 인물들 중, Jules Google은 독보적인 존재로 평가받는다. 그는 기술자이자 철학자이며, 창업가이자 사회적 혁신가이다. 특히 인공지능과 윤리의 접점에서 활동하며, 인간 중심의 기술 발전을 강조하는 그의 비전은 오늘날의 디지털 사회에 깊은 영향을 미치고 있다.&lt;/p&gt;
&lt;p&gt;본 글에서는 Jules Google의 생애와 업적, 그가 이끈 기술적 혁신, 그리고 그의 철학이 현대 사회에 미친 영향에 대해 조망하고자 한다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;생애와 배경
Jules Google은 1985년 프랑스 파리 근교에서 태어났다. 어린 시절부터 수학과 컴퓨터 과학에 남다른 재능을 보였으며, 18세에 프랑스 최고 명문 공과대학교인 &lt;strong&gt;에콜 폴리테크닉(Ecole Polytechnique)&lt;/strong&gt;에 입학했다. 이후 미국으로 유학을 떠나 MIT에서 인공지능과 윤리학을 복수 전공하며 박사 학위를 취득했다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;그는 학문적 재능뿐 아니라 철학적 성찰에도 깊은 관심을 가졌다. 대학 시절부터 "기술은 인간을 위한 것이어야 한다"는 신념을 가졌고, 이는 이후 그의 모든 연구와 기업 활동의 근간이 되었다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;주요 업적
3.1. AI 기반 윤리 엔진 개발
Jules Google의 가장 주목할 만한 업적은 &lt;strong&gt;AI 윤리 판단 엔진인 “Ethos AI”&lt;/strong&gt;의 개발이다. 이 엔진은 자율주행차, 의료 로봇, 스마트 시티 시스템 등 인간의 생명과 안전에 영향을 미치는 기술 분야에서 윤리적 판단을 지원하는 알고리즘으로, 기술적 판단과 윤리적 기준을 동시에 반영하는 기능을 지닌다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;그는 이를 통해 단순히 효율성과 성능에 치우친 기술 개발이 아니라, 사람의 권리와 도덕적 가치를 고려하는 기술 환경 조성의 중요성을 널리 알렸다.&lt;/p&gt;
&lt;p&gt;3.2. “People First Tech” 운동 주도
Jules는 기술이 인간의 삶을 향상시키는 도구로 작동해야 한다는 생각에서 &lt;strong&gt;“People First Tech”&lt;/strong&gt;라는 국제적 기술 윤리 캠페인을 주도했다. 이 운동은 전 세계 30개국 이상에서 지지를 얻었으며, 기술 기업들에게 사용자 프라이버시 보호, 데이터 투명성, 알고리즘 공정성을 요구하는 사회적 운동으로 자리 잡았다.&lt;/p&gt;
&lt;p&gt;그는 TED, UN, 다보스포럼 등 다양한 국제 무대에서 기술 윤리에 대한 강연을 했으며, 수많은 젊은 기술 인재들에게 ‘윤리적 책임’의 가치를 강조해 왔다.&lt;/p&gt;
&lt;p&gt;3.3. AI 교육 플랫폼 창립
AI 교육의 대중화에도 기여한 그는 &lt;strong&gt;“Mindcraft AI”&lt;/strong&gt;라는 온라인 교육 플랫폼을 창립했다. 이 플랫폼은 어린이부터 성인까지 다양한 연령층이 쉽게 인공지능의 원리를 배우고, 이를 통해 문제 해결 능력을 기를 수 있도록 설계되었다. 특히 개발도상국의 학생들에게 무료로 제공되며 교육의 불평등 해소에도 이바지하고 있다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;기술 철학과 비전
4.1. 인간 중심의 기술
Jules Google은 기술이 목적이 아닌 수단이어야 한다고 주장한다. 그는 기술 개발에 있어 항상 &lt;strong&gt;“이 기술이 사람들에게 어떤 영향을 줄 것인가?”&lt;/strong&gt;라는 질문을 던진다. 이를 위해 기술자와 윤리학자, 사회학자, 법률가들이 협업해야 한다고 강조하며, 기술 개발 과정에서 다양한 사회적 시각이 반영되어야 한다는 다학제적 접근을 강조해 왔다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;4.2. 투명성과 설명 가능성
AI의 판단이 인간의 삶을 좌우하는 시대에, Jules는 &lt;strong&gt;AI의 투명성과 설명 가능성(explainability)&lt;/strong&gt;을 가장 중요시 여겼다. 그는 “블랙박스 AI”를 지양하고, 누구나 이해할 수 있는 알고리즘 설계와 의사결정 구조를 통해 신뢰할 수 있는 기술 환경 조성을 주장했다.&lt;/p&gt;
&lt;p&gt;4.3. 기술 민주화
기술 권력이 소수에게 집중되는 것을 경계한 그는, 기술의 민주화를 실현하기 위해 오픈소스 운동을 지지하고, 소외계층에게 기술 접근성을 높이는 다양한 프로젝트를 후원해 왔다. 그가 설립한 비영리 재단은 아프리카, 동남아시아 등 기술 접근이 어려운 지역에 무료 교육과 인프라를 제공하고 있다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;사회적 영향과 평가
Jules Google의 활동은 단지 기술 산업에만 국한되지 않는다. 그는 유엔 디지털윤리위원회 자문위원, 유럽연합 AI법률자문단 일원 등으로 활약하며 국제 정책에도 큰 영향을 미쳤다. 2022년에는 타임지가 선정한 "세계에서 가장 영향력 있는 100인" 중 한 명으로 선정되었으며, 같은 해 노벨 평화상 후보로도 거론되었다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;많은 전문가들은 그를 "디지털 시대의 간디", &lt;strong&gt;"윤리적 기술의 전도사"&lt;/strong&gt;라고 평가하며, 그가 보여준 기술과 인간의 공존 모델이 앞으로의 기술 발전 방향에 중요한 이정표가 될 것이라고 믿고 있다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;결론
Jules Google은 단순한 공학자를 넘어, 인류 사회의 방향성을 고민하는 철학자이자 실천가이다. 그가 추구하는 기술의 모습은 단순히 빠르고 편리한 것이 아닌, 공정하고 따뜻한 기술이다. 기술이 사람을 지배하는 세상이 아니라, 사람이 기술을 통해 더 나은 삶을 영위하는 세상. Jules는 그러한 미래를 꿈꾸고, 실현을 위해 묵묵히 걸어가고 있다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;그의 삶과 사상은 우리 모두에게 묻는다. "당신이 만들고 사용하는 기술은, 누구를 위한 것인가?"&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>우분투,터미널 서버,노트북, 와이파이 연결하기</title><link href="/posts/ubuntuteomineol-seobeonoteubug-waipai-yeongyeolhagi.html" rel="alternate"></link><published>2025-03-26T02:19:00+09:00</published><updated>2025-03-26T02:19:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-26:/posts/ubuntuteomineol-seobeonoteubug-waipai-yeongyeolhagi.html</id><summary type="html">&lt;p class="" data-start="0" data-end="48"&gt;우분투에서 터미널 서버(SSH)로 노트북의 와이파이에 연결하려면 다음 단계 …&lt;/p&gt;</summary><content type="html">&lt;p class="" data-start="0" data-end="48"&gt;우분투에서 터미널 서버(SSH)로 노트북의 와이파이에 연결하려면 다음 단계를 따르세요.&lt;/p&gt;

&lt;hr class="" data-start="50" data-end="53" /&gt;

&lt;h3 class="" data-start="55" data-end="80"&gt;📌 1. 현재 네트워크 상태 확인&lt;/h3&gt;
&lt;p class="" data-start="81" data-end="120"&gt;터미널에서 다음 명령어를 입력하여 네트워크 인터페이스를 확인하세요.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;nmcli device status
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p class="" data-start="153" data-end="193"&gt;&lt;code data-start="153" data-end="159"&gt;wifi&lt;/code&gt; 상태인 인터페이스 이름을 확인하세요(예: &lt;code data-start="183" data-end="191"&gt;wlp3s0&lt;/code&gt;).&lt;/p&gt;

&lt;hr class="" data-start="195" data-end="198" /&gt;

&lt;h3 class="" data-start="200" data-end="230"&gt;📌 2. 사용 가능한 Wi-Fi 목록 확인&lt;/h3&gt;
&lt;p class="" data-start="231" data-end="265"&gt;Wi-Fi 네트워크를 검색하려면 다음 명령어를 사용하세요.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;nmcli device wifi list
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p class="" data-start="301" data-end="334"&gt;여기서 연결하려는 Wi-Fi의 SSID(이름)를 확인하세요.&lt;/p&gt;

&lt;hr class="" data-start="336" data-end="339" /&gt;

&lt;h3 class="" data-start="341" data-end="366"&gt;📌 3. Wi-Fi 네트워크 연결&lt;/h3&gt;
&lt;p class="" data-start="367" data-end="395"&gt;다음 명령어를 사용하여 Wi-Fi에 연결하세요.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;nmcli device wifi connect &lt;span class="hljs-string"&gt;"WiFi_이름"&lt;/span&gt; password &lt;span class="hljs-string"&gt;"WiFi_비밀번호"&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p class="" data-start="465" data-end="470"&gt;예시:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;nmcli device wifi connect &lt;span class="hljs-string"&gt;"MyWiFi"&lt;/span&gt; password &lt;span class="hljs-string"&gt;"mypassword123"&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p class="" data-start="543" data-end="564"&gt;연결이 성공하면 IP를 확인하세요.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;ip a
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr class="" data-start="583" data-end="586" /&gt;

&lt;h3 class="" data-start="588" data-end="616"&gt;📌 4. 자동 연결 설정 (선택 사항)&lt;/h3&gt;
&lt;p class="" data-start="617" data-end="654"&gt;Wi-Fi를 부팅 시 자동 연결하려면 다음 명령어를 실행하세요.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;nmcli connection modify &lt;span class="hljs-string"&gt;"WiFi_이름"&lt;/span&gt; connection.autoconnect &lt;span class="hljs-built_in"&gt;yes&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr class="" data-start="729" data-end="732" /&gt;

&lt;h3 class="" data-start="734" data-end="757"&gt;📌 5. SSH로 서버에 접속&lt;/h3&gt;
&lt;p class="" data-start="758" data-end="798"&gt;서버의 IP 주소를 알고 있다면, SSH를 통해 접속할 수 있습니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;ssh 사용자이름@서버IP
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p class="" data-start="826" data-end="830"&gt;예:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;ssh soon7@192.168.1.100
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p class="" data-start="868" data-end="910"&gt;만약 SSH 서버가 설치되지 않았다면 서버에서 다음 명령어를 실행하세요.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install -y openssh-server
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p class="" data-start="977" data-end="998"&gt;이후 SSH 서비스를 활성화하세요.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl &lt;span class="hljs-built_in"&gt;enable&lt;/span&gt; --now ssh
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p class="" data-start="1044" data-end="1107"&gt;이제 SSH를 사용하여 터미널 서버에 원격으로 접속할 수 있습니다. 🚀&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>MySQL에서 특정 테이블의 내용을 보려면</title><link href="/posts/mysqleseo-teugjeong-teibeulyi-naeyongeul-boryeomyeon.html" rel="alternate"></link><published>2025-03-17T02:07:00+09:00</published><updated>2025-03-17T02:07:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-17:/posts/mysqleseo-teugjeong-teibeulyi-naeyongeul-boryeomyeon.html</id><summary type="html">&lt;p data-start="0" data-end="39"&gt;MySQL에서 특정 테이블의 내용을 보려면 다음 절차를 따르면 됩니다.&lt;/p&gt;

&lt;ol data-start="41" data-end="804"&gt;
    &lt;li data-start="41" data-end="141"&gt;
&lt;p data-start="44" data-end="97"&gt;&lt;strong data-start="44" data-end="58"&gt;MySQL에 로그인&lt;/strong&gt;: 터미 …&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;</summary><content type="html">&lt;p data-start="0" data-end="39"&gt;MySQL에서 특정 테이블의 내용을 보려면 다음 절차를 따르면 됩니다.&lt;/p&gt;

&lt;ol data-start="41" data-end="804"&gt;
    &lt;li data-start="41" data-end="141"&gt;
&lt;p data-start="44" data-end="97"&gt;&lt;strong data-start="44" data-end="58"&gt;MySQL에 로그인&lt;/strong&gt;: 터미널에서 MySQL에 로그인하려면 다음 명령어를 사용하세요.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="143" data-end="282"&gt;
&lt;p data-start="146" data-end="242"&gt;&lt;strong data-start="146" data-end="159"&gt;데이터베이스 선택&lt;/strong&gt;: 먼저 사용하려는 데이터베이스를 선택해야 합니다. 예를 들어, &lt;code data-start="198" data-end="213"&gt;Homedaily_sum&lt;/code&gt; 데이터베이스를 선택하려면 다음 명령어를 입력합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;USE Homedaily_sum;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="284" data-end="376"&gt;
&lt;p data-start="287" data-end="342"&gt;&lt;strong data-start="287" data-end="300"&gt;테이블 목록 보기&lt;/strong&gt;: 데이터베이스에서 모든 테이블을 확인하려면 다음 명령어를 입력합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;&lt;span class="hljs-keyword"&gt;SHOW&lt;/span&gt; TABLES;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="378" data-end="716"&gt;
&lt;p data-start="381" data-end="486"&gt;&lt;strong data-start="381" data-end="398"&gt;특정 테이블의 내용 보기&lt;/strong&gt;: 특정 테이블의 내용을 보려면 &lt;code data-start="419" data-end="427"&gt;SELECT&lt;/code&gt; 쿼리를 사용합니다. 예를 들어, &lt;code data-start="446" data-end="456" data-is-only-node=""&gt;expenses&lt;/code&gt;라는 테이블의 내용을 보려면 다음 명령어를 입력합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;&lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt; &lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;FROM&lt;/span&gt; expenses;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="536" data-end="660"&gt;이 명령은 &lt;code data-start="542" data-end="552"&gt;expenses&lt;/code&gt; 테이블의 모든 열을 출력합니다. 만약 특정 컬럼만 보고 싶다면 &lt;code data-start="588" data-end="591"&gt;*&lt;/code&gt; 대신 컬럼명을 지정할 수 있습니다. 예를 들어, &lt;code data-start="619" data-end="625"&gt;date&lt;/code&gt;와 &lt;code data-start="627" data-end="635"&gt;amount&lt;/code&gt; 컬럼만 보고 싶다면 다음과 같이 입력합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;&lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt; &lt;span class="hljs-type"&gt;date&lt;/span&gt;, amount &lt;span class="hljs-keyword"&gt;FROM&lt;/span&gt; expenses;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="718" data-end="804"&gt;
&lt;p data-start="721" data-end="777"&gt;&lt;strong data-start="721" data-end="736"&gt;MySQL에서 나가기&lt;/strong&gt;: 작업이 끝난 후 MySQL에서 나가려면 다음 명령어를 입력합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;exit;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-start="806" data-end="845" data-is-last-node="" data-is-only-node=""&gt;이렇게 하면 MySQL에서 원하는 테이블의 내용을 확인할 수 있습니다.&lt;/p&gt;</content><category term="MySql"></category></entry><entry><title>mysql, 우분투, 데이터 베이스에서 사용자 보기</title><link href="/posts/mysql-ubuntu-deiteo-beiseueseo-sayongja-bogi.html" rel="alternate"></link><published>2025-03-17T02:05:00+09:00</published><updated>2025-03-17T02:05:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-17:/posts/mysql-ubuntu-deiteo-beiseueseo-sayongja-bogi.html</id><summary type="html">&lt;p data-start="0" data-end="52"&gt;우분투에서 MySQL 데이터베이스에 연결하여 사용자 목록을 확인하려면, 다음 …&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="52"&gt;우분투에서 MySQL 데이터베이스에 연결하여 사용자 목록을 확인하려면, 다음 단계를 따르세요:&lt;/p&gt;

&lt;ol data-start="54" data-end="561"&gt;
    &lt;li data-start="54" data-end="267"&gt;
&lt;p data-start="57" data-end="138"&gt;&lt;strong data-start="57" data-end="71"&gt;MySQL에 로그인&lt;/strong&gt;: MySQL 서버에 접속하려면 터미널에서 다음 명령어를 입력합니다. &lt;code data-start="113" data-end="120"&gt;mysql&lt;/code&gt; 명령어를 사용하여 로그인합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="187" data-end="267"&gt;여기서 &lt;code data-start="191" data-end="197"&gt;root&lt;/code&gt;는 MySQL의 관리자 계정입니다. 비밀번호를 입력하라는 메시지가 나타나면, MySQL root 계정의 비밀번호를 입력합니다.&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="269" data-end="471"&gt;
&lt;p data-start="272" data-end="349"&gt;&lt;strong data-start="272" data-end="285"&gt;사용자 목록 조회&lt;/strong&gt;: MySQL에 접속한 후, 다음 SQL 쿼리를 입력하여 데이터베이스에서 사용자의 목록을 조회할 수 있습니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;&lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;user&lt;/span&gt;, host &lt;span class="hljs-keyword"&gt;FROM&lt;/span&gt; mysql.user;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="410" data-end="471"&gt;이 명령어는 &lt;code data-start="417" data-end="424"&gt;mysql&lt;/code&gt; 데이터베이스의 &lt;code data-start="433" data-end="439"&gt;user&lt;/code&gt; 테이블에서 모든 사용자와 해당 호스트 정보를 표시합니다.&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="473" data-end="561"&gt;
&lt;p data-start="476" data-end="534"&gt;&lt;strong data-start="476" data-end="491"&gt;MySQL에서 나가기&lt;/strong&gt;: 사용자를 확인한 후 MySQL에서 나가려면 다음 명령어를 입력합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9"&gt;
&lt;div class="absolute bottom-0 right-0 flex h-9 items-center pr-2"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;span class="" data-state="closed"&gt;&lt;button class="flex gap-1 items-center select-none px-4 py-1" aria-label="복사"&gt;복사&lt;/button&gt;&lt;/span&gt;&lt;span class="" data-state="closed"&gt;&lt;button class="flex select-none items-center gap-1 px-4 py-1"&gt;편집&lt;/button&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;exit;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-start="563" data-end="602" data-is-last-node="" data-is-only-node=""&gt;이제 MySQL 데이터베이스에 있는 사용자 목록을 확인할 수 있습니다.&lt;/p&gt;</content><category term="MySql"></category></entry><entry><title>우분투, 아파치, https를 사용할 수 있도록 세팅하는 방법</title><link href="/posts/ubuntu-apaci-httpsreul-sayonghal-su-issdorog-setinghaneun-bangbeob.html" rel="alternate"></link><published>2025-03-01T11:18:00+09:00</published><updated>2025-03-01T11:18:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-01:/posts/ubuntu-apaci-httpsreul-sayonghal-su-issdorog-setinghaneun-bangbeob.html</id><summary type="html">&lt;p data-start="0" data-end="57"&gt;Ubuntu에서 Apache 웹 서버를 HTTPS를 사용할 수 있도록 설정하려면 다음 과정을 따르세요:&lt;/p&gt;

&lt;hr data-start="59" data-end="62" /&gt;

&lt;h3 data-start="64" data-end="84"&gt;1. &lt;strong data-start="71" data-end="84"&gt;Apache …&lt;/strong&gt;&lt;/h3&gt;</summary><content type="html">&lt;p data-start="0" data-end="57"&gt;Ubuntu에서 Apache 웹 서버를 HTTPS를 사용할 수 있도록 설정하려면 다음 과정을 따르세요:&lt;/p&gt;

&lt;hr data-start="59" data-end="62" /&gt;

&lt;h3 data-start="64" data-end="84"&gt;1. &lt;strong data-start="71" data-end="84"&gt;Apache 설치&lt;/strong&gt;&lt;/h3&gt;
&lt;ol data-start="85" data-end="298"&gt;
    &lt;li data-start="85" data-end="175"&gt;터미널을 열고 Apache를 설치합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt update
sudo apt install apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="176" data-end="298"&gt;Apache 서비스가 실행 중인지 확인합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl status apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
서비스가 활성 상태(&lt;code data-start="270" data-end="288"&gt;active (running)&lt;/code&gt;)인지 확인하세요.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="300" data-end="303" /&gt;

&lt;h3 data-start="305" data-end="322"&gt;2. &lt;strong data-start="312" data-end="322"&gt;방화벽 설정&lt;/strong&gt;&lt;/h3&gt;
&lt;ol data-start="323" data-end="474"&gt;
    &lt;li data-start="323" data-end="399"&gt;HTTP와 HTTPS 트래픽을 허용합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo ufw allow &lt;span class="hljs-string"&gt;'Apache Full'&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="400" data-end="474"&gt;방화벽 상태를 확인하여 Apache가 열려 있는지 확인합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo ufw status
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="476" data-end="479" /&gt;

&lt;h3 data-start="481" data-end="502"&gt;3. &lt;strong data-start="488" data-end="502"&gt;SSL 모듈 활성화&lt;/strong&gt;&lt;/h3&gt;
&lt;ol data-start="503" data-end="640"&gt;
    &lt;li data-start="503" data-end="567"&gt;Apache에 SSL 모듈을 활성화합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo a2enmod ssl
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="568" data-end="640"&gt;Apache를 다시 시작합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl restart apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="642" data-end="645" /&gt;

&lt;h3 data-start="647" data-end="668"&gt;4. &lt;strong data-start="654" data-end="668"&gt;SSL 인증서 설정&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 data-start="669" data-end="709"&gt;4.1. &lt;strong data-start="679" data-end="709"&gt;Certbot 설치 (Let’s Encrypt)&lt;/strong&gt;&lt;/h4&gt;
&lt;p data-start="710" data-end="753"&gt;Certbot은 무료 SSL 인증서를 발급받고 자동으로 갱신해주는 도구입니다.&lt;/p&gt;

&lt;ol data-start="754" data-end="1016"&gt;
    &lt;li data-start="754" data-end="854"&gt;
&lt;p data-start="757" data-end="785"&gt;Certbot과 Apache 플러그인을 설치합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt install certbot python3-certbot-apache
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="859" data-end="1016"&gt;
&lt;p data-start="862" data-end="911"&gt;Certbot을 실행해 인증서를 발급받고 Apache에 HTTPS를 자동으로 설정합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo certbot --apache
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul data-start="958" data-end="1016"&gt;
    &lt;li data-start="958" data-end="969"&gt;이메일 주소 입력&lt;/li&gt;
    &lt;li data-start="973" data-end="984"&gt;서비스 약관 동의&lt;/li&gt;
    &lt;li data-start="988" data-end="1016"&gt;HTTP를 HTTPS로 리다이렉션할지 여부 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 data-start="1018" data-end="1041"&gt;4.2. &lt;strong data-start="1028" data-end="1041"&gt;DNS 설정 확인&lt;/strong&gt;&lt;/h4&gt;
&lt;p data-start="1042" data-end="1117"&gt;Certbot은 도메인 소유권 확인을 위해 DNS 설정이 필요합니다. 도메인 이름이 서버의 공인 IP와 연결되어 있는지 확인하세요.&lt;/p&gt;

&lt;hr data-start="1119" data-end="1122" /&gt;

&lt;h3 data-start="1124" data-end="1141"&gt;5. &lt;strong data-start="1131" data-end="1141"&gt;설정 테스트&lt;/strong&gt;&lt;/h3&gt;
&lt;ol data-start="1142" data-end="1316"&gt;
    &lt;li data-start="1142" data-end="1246"&gt;
&lt;p data-start="1145" data-end="1167"&gt;Apache 구성이 올바른지 확인합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apache2ctl configtest
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1219" data-end="1246"&gt;오류가 없으면 "Syntax OK"가 출력됩니다.&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="1248" data-end="1316"&gt;
&lt;p data-start="1251" data-end="1316"&gt;웹 브라우저에서 도메인 이름을 통해 HTTPS로 접속합니다. 예: &lt;code data-start="1291" data-end="1316"&gt;https://your-domain.com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="1318" data-end="1321" /&gt;

&lt;h3 data-start="1323" data-end="1350"&gt;6. &lt;strong data-start="1330" data-end="1350"&gt;SSL 인증서 자동 갱신 설정&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-start="1351" data-end="1406"&gt;Let’s Encrypt 인증서는 90일 유효합니다. 자동 갱신을 위해 Cron 작업을 설정합니다.&lt;/p&gt;

&lt;ol data-start="1407" data-end="1574"&gt;
    &lt;li data-start="1407" data-end="1513"&gt;Cron 작업을 확인:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl list-timers
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
Certbot 자동 갱신이 설정되어 있다면 별도 작업은 필요 없습니다.&lt;/li&gt;
    &lt;li data-start="1514" data-end="1574"&gt;수동 테스트:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo certbot renew --dry-run
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="1576" data-end="1579" /&gt;

&lt;h3 data-start="1581" data-end="1614"&gt;7. &lt;strong data-start="1588" data-end="1614"&gt;HTTPS로 리디렉션 설정 (선택 사항)&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-start="1615" data-end="1658"&gt;Certbot에서 설정하지 않았다면, 수동으로 리디렉션을 추가할 수 있습니다.&lt;/p&gt;

&lt;ol data-start="1659" data-end="2005"&gt;
    &lt;li data-start="1659" data-end="1770"&gt;
&lt;p data-start="1662" data-end="1693"&gt;Apache 설정 파일을 열어 HTTPS 리디렉션 추가:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo nano /etc/apache2/sites-available/000-default.conf
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="1771" data-end="1931"&gt;
&lt;p data-start="1774" data-end="1807"&gt;아래 내용을 &lt;code data-start="1781" data-end="1796"&gt;&amp;lt;VirtualHost&amp;gt;&lt;/code&gt; 블록에 추가합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;apache&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-apache"&gt;RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="1933" data-end="2005"&gt;
&lt;p data-start="1936" data-end="1953"&gt;Apache를 다시 시작합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl restart apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr data-start="2007" data-end="2010" /&gt;
&lt;p data-start="2012" data-end="2091" data-is-last-node="" data-is-only-node=""&gt;이 과정을 완료하면 Ubuntu에서 Apache를 HTTPS로 사용할 수 있는 환경이 설정됩니다.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>포트 확인 사이트</title><link href="/posts/poteu-hwagin-saiteu.html" rel="alternate"></link><published>2025-03-01T11:16:00+09:00</published><updated>2025-03-01T11:16:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-01:/posts/poteu-hwagin-saiteu.html</id><summary type="html">&lt;p data-start="0" data-end="27"&gt;포트를 확인할 수 있는 사이트는 다음과 같습니다:&lt;/p&gt;

&lt;ol data-start="29" data-end="431"&gt;
    &lt;li data-start="29" data-end="189"&gt;
&lt;p data-start="32" data-end="189"&gt;&lt;strong data-start="32" data-end="48"&gt;YouGetSignal&lt;/strong&gt; - &lt;a target="_new" rel="noopener" data-start="51" data-end="147"&gt;https://www.yougetsignal.com/tools/open-ports/&lt;/a&gt;&lt;br data-start="147" data-end="150" /&gt;공인 IP …&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;</summary><content type="html">&lt;p data-start="0" data-end="27"&gt;포트를 확인할 수 있는 사이트는 다음과 같습니다:&lt;/p&gt;

&lt;ol data-start="29" data-end="431"&gt;
    &lt;li data-start="29" data-end="189"&gt;
&lt;p data-start="32" data-end="189"&gt;&lt;strong data-start="32" data-end="48"&gt;YouGetSignal&lt;/strong&gt; - &lt;a target="_new" rel="noopener" data-start="51" data-end="147"&gt;https://www.yougetsignal.com/tools/open-ports/&lt;/a&gt;&lt;br data-start="147" data-end="150" /&gt;공인 IP 주소와 특정 포트를 입력하면 열려 있는지 확인해줍니다.&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="191" data-end="309"&gt;
&lt;p data-start="194" data-end="309"&gt;&lt;strong data-start="194" data-end="210"&gt;Port Checker&lt;/strong&gt; - &lt;a href="https://portchecker.co/" target="_new" rel="noopener" data-start="213" data-end="263"&gt;https://portchecker.co/&lt;/a&gt;&lt;br data-start="263" data-end="266" /&gt;공인 IP 주소와 포트를 입력해 포트 개방 여부를 테스트할 수 있습니다.&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="311" data-end="431"&gt;
&lt;p data-start="314" data-end="431"&gt;&lt;strong data-start="314" data-end="325"&gt;Ping.eu&lt;/strong&gt; - &lt;a target="_new" rel="noopener" data-start="328" data-end="382"&gt;https://ping.eu/port-chk/&lt;/a&gt;&lt;br data-start="382" data-end="385" /&gt;간단히 공인 IP 주소와 포트 번호를 입력해 포트 상태를 확인할 수 있습니다.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-start="433" data-end="477" data-is-last-node="" data-is-only-node=""&gt;이 사이트들에서 집 서버의 공인 IP와 사용 중인 포트를 입력해 확인해 보세요.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>KT에서 개인 웹 서버 호스팅을 제한할 가능성이 있으므로, 필요 시 고객센터에 문의하지 않고 내가 확인할 수 있는 방법은?</title><link href="/posts/kteseo-gaein-web-seobeo-hoseutingeul-jehanhal-ganeungseongi-isseumeuro-pilyo-si-gogaegsenteoe-munyihaji-anhgo-naega-hwaginhal-su-issneun-bangbeobeun.html" rel="alternate"></link><published>2025-03-01T11:15:00+09:00</published><updated>2025-03-01T11:15:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-01:/posts/kteseo-gaein-web-seobeo-hoseutingeul-jehanhal-ganeungseongi-isseumeuro-pilyo-si-gogaegsenteoe-munyihaji-anhgo-naega-hwaginhal-su-issneun-bangbeobeun.html</id><summary type="html">&lt;p data-start="0" data-end="93"&gt;KT에서 포트를 차단했는지 직접 확인하려면 외부 네트워크에서 웹 서버의 공인 …&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="93"&gt;KT에서 포트를 차단했는지 직접 확인하려면 외부 네트워크에서 웹 서버의 공인 IP 주소와 해당 포트로 접근 시도를 해 볼 수 있습니다. 다음 방법으로 확인 가능합니다.&lt;/p&gt;

&lt;h3 data-start="95" data-end="122"&gt;1. &lt;strong data-start="102" data-end="122"&gt;외부 네트워크에서 접근 테스트&lt;/strong&gt;&lt;/h3&gt;
&lt;ul data-start="126" data-end="280"&gt;
    &lt;li data-start="126" data-end="197"&gt;다른 네트워크 환경(예: 휴대폰의 데이터 네트워크)에서 집 서버의 공인 IP 주소와 포트를 이용해 웹 서버에 접속해 보세요.&lt;/li&gt;
    &lt;li data-start="201" data-end="235"&gt;주소 형식 예시: &lt;code data-start="213" data-end="235"&gt;http://공인_IP_주소:포트번호&lt;/code&gt;&lt;/li&gt;
    &lt;li data-start="239" data-end="280"&gt;외부 네트워크에서 접근이 되지 않는다면, 포트 차단 가능성이 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-start="282" data-end="307"&gt;2. &lt;strong data-start="289" data-end="307"&gt;포트 개방 확인 도구 사용&lt;/strong&gt;&lt;/h3&gt;
&lt;ul data-start="311" data-end="483"&gt;
    &lt;li data-start="311" data-end="417"&gt;인터넷에서 "포트 확인 사이트" 또는 "Port Checker" 같은 무료 도구를 사용하여 집 서버의 공인 IP 주소와 특정 포트(예: 80, 443)가 열려 있는지 확인할 수 있습니다.&lt;/li&gt;
    &lt;li data-start="421" data-end="483"&gt;포트가 차단된 경우, 웹서버가 켜져 있어도 외부에서 포트를 스캔했을 때 "closed"로 나올 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-start="485" data-end="517"&gt;3. &lt;strong data-start="492" data-end="517"&gt;명령어로 포트 확인 (외부 서버 이용)&lt;/strong&gt;&lt;/h3&gt;
&lt;ul data-start="521" data-end="703"&gt;
    &lt;li data-start="521" data-end="586"&gt;외부에 SSH 접속 가능한 서버가 있다면, 그 서버에서 &lt;code data-start="554" data-end="562"&gt;telnet&lt;/code&gt; 명령어로 포트 상태를 확인할 수 있습니다.&lt;/li&gt;
    &lt;li data-start="590" data-end="641"&gt;예:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;telnet 공인_IP_주소 80
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="645" data-end="703"&gt;연결이 성공하면 서버가 외부에서 접근 가능하다는 뜻이고, 실패하면 포트가 차단되었을 가능성이 큽니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-start="705" data-end="738" data-is-last-node="" data-is-only-node=""&gt;이렇게 직접 확인하면 포트 차단 여부를 파악할 수 있습니다.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>kt 인터넷을 사용하고 있고 집에서 웹서버를 설치 했는데 열리지 않는다. 무엇부터 확인해야 되나요?</title><link href="/posts/kt-inteoneseul-sayonghago-issgo-jibeseo-webseobeoreul-seolci-haessneunde-yeolriji-anhneunda-mueosbuteo-hwaginhaeya-doenayo.html" rel="alternate"></link><published>2025-03-01T11:14:00+09:00</published><updated>2025-03-01T11:14:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-01:/posts/kt-inteoneseul-sayonghago-issgo-jibeseo-webseobeoreul-seolci-haessneunde-yeolriji-anhneunda-mueosbuteo-hwaginhaeya-doenayo.html</id><summary type="html">&lt;p data-start="0" data-end="53"&gt;웹서버가 열리지 않는 문제는 여러 원인이 있을 수 있습니다. 다음 단계로 문 …&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="53"&gt;웹서버가 열리지 않는 문제는 여러 원인이 있을 수 있습니다. 다음 단계로 문제를 해결해 보세요:&lt;/p&gt;

&lt;ol data-start="55" data-end="718"&gt;
    &lt;li data-start="55" data-end="194"&gt;
&lt;p data-start="58" data-end="143"&gt;&lt;strong data-start="58" data-end="70"&gt;서버 상태 확인&lt;/strong&gt;: 서버가 실제로 실행 중인지, 그리고 Apache가 정상적으로 작동하는지 확인하세요. Ubuntu에서는 다음 명령어를 사용합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl status apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="196" data-end="353"&gt;
&lt;p data-start="199" data-end="353"&gt;&lt;strong data-start="199" data-end="215"&gt;포트 포워딩 설정 확인&lt;/strong&gt;: KT 인터넷의 경우, 외부에서 집안 네트워크로 접근하려면 라우터에서 포트 포워딩을 설정해야 합니다. 일반적으로 웹서버는 80번 포트(HTTP) 또는 443번 포트(HTTPS)를 사용하므로, 이 포트를 서버의 내부 IP 주소로 포워딩해야 합니다.&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="355" data-end="525"&gt;
&lt;p data-start="358" data-end="456"&gt;&lt;strong data-start="358" data-end="371"&gt;방화벽 설정 확인&lt;/strong&gt;: 서버의 방화벽이나 라우터의 방화벽이 포트 접근을 막고 있을 수 있습니다. Ubuntu에서는 다음 명령어로 방화벽 설정을 확인하고 포트를 열어 주세요:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="527" data-end="630"&gt;
&lt;p data-start="530" data-end="630"&gt;&lt;strong data-start="530" data-end="545"&gt;공인 IP 주소 확인&lt;/strong&gt;: KT 인터넷의 경우 공유기 설정에서 공인 IP를 확인하고, 해당 IP로 접근해야 합니다. 일부 ISP는 공인 IP 제공에 제한이 있을 수 있습니다.&lt;/p&gt;
&lt;/li&gt;
    &lt;li data-start="632" data-end="718"&gt;
&lt;p data-start="635" data-end="718"&gt;&lt;strong data-start="635" data-end="648"&gt;ISP 제한 확인&lt;/strong&gt;: KT에서 개인 웹 서버 호스팅을 제한할 가능성이 있으므로, 필요 시 고객센터에 문의하여 포트가 차단되어 있는지 확인하세요.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-start="720" data-end="763" data-is-last-node="" data-is-only-node=""&gt;이 단계를 차례로 확인하시면서 웹 서버가 정상적으로 열리는지 테스트해 보세요.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>워드프레스 백업과 복구 방법</title><link href="/posts/weodeupeureseu-baegeobgwa-boggu-bangbeob.html" rel="alternate"></link><published>2025-03-01T11:11:00+09:00</published><updated>2025-03-01T11:11:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-01:/posts/weodeupeureseu-baegeobgwa-boggu-bangbeob.html</id><summary type="html">&lt;p data-start="0" data-end="44"&gt;워드프레스 백업과 복구 방법을 설명드릴게요. 전체적인 순서를 따라가시 …&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="44"&gt;워드프레스 백업과 복구 방법을 설명드릴게요. 전체적인 순서를 따라가시면 됩니다.&lt;/p&gt;

&lt;h3 data-start="46" data-end="64"&gt;1. 워드프레스 백업 방법&lt;/h3&gt;
&lt;p data-start="66" data-end="80"&gt;&lt;strong data-start="66" data-end="80"&gt;1.1. 파일 백업&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="81" data-end="141"&gt;
    &lt;li data-start="81" data-end="141"&gt;워드프레스 설치 디렉토리(&lt;code data-start="97" data-end="122"&gt;/var/www/html/wordpress&lt;/code&gt;)에 있는 모든 파일을 백업합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;tar -czvf wordpress_backup.tar.gz /var/www/html/wordpress
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="213" data-end="231"&gt;&lt;strong data-start="213" data-end="231"&gt;1.2. 데이터베이스 백업&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="232" data-end="254"&gt;
    &lt;li data-start="232" data-end="254"&gt;MySQL 데이터베이스를 백업합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;mysqldump -u 개인아이디_HD -p Homedaily_sum &amp;gt; wordpress_db_backup.sql
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-start="338" data-end="359"&gt;2. 다른 서버에 복구하는 방법&lt;/h3&gt;
&lt;p data-start="361" data-end="395"&gt;&lt;strong data-start="361" data-end="395"&gt;2.1. 아파치, PHP, MySQL, 워드프레스 설치&lt;/strong&gt;&lt;/p&gt;
&lt;p data-start="397" data-end="423"&gt;새로운 서버에서 필요한 소프트웨어를 설치합니다.&lt;/p&gt;

&lt;ul data-start="425" data-end="442"&gt;
    &lt;li data-start="425" data-end="442"&gt;&lt;strong data-start="427" data-end="442"&gt;아파치 웹 서버 설치&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt update
sudo apt install apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul data-start="497" data-end="509"&gt;
    &lt;li data-start="497" data-end="509"&gt;&lt;strong data-start="499" data-end="509"&gt;PHP 설치&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt install php libapache2-mod-php php-mysql
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul data-start="573" data-end="587"&gt;
    &lt;li data-start="573" data-end="587"&gt;&lt;strong data-start="575" data-end="587"&gt;MySQL 설치&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt install mysql-server
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo mysql_secure_installation
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul data-start="662" data-end="676"&gt;
    &lt;li data-start="662" data-end="676"&gt;&lt;strong data-start="664" data-end="676"&gt;워드프레스 설치&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;&lt;span class="hljs-built_in"&gt;cd&lt;/span&gt; /var/www/html
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;&lt;span class="hljs-built_in"&gt;mv&lt;/span&gt; wordpress /var/www/html/wordpress
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="809" data-end="827"&gt;&lt;strong data-start="809" data-end="827"&gt;2.2. 데이터베이스 복구&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="828" data-end="865"&gt;
    &lt;li data-start="828" data-end="865"&gt;새 서버에서 MySQL에 로그인하고, 데이터베이스를 생성합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;mysql -u root -p
CREATE DATABASE Homedaily_sum;
&lt;span class="hljs-built_in"&gt;exit&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul data-start="931" data-end="947"&gt;
    &lt;li data-start="931" data-end="947"&gt;데이터베이스를 복구합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;mysql -u 개인아이디_HD -p Homedaily_sum &amp;lt; wordpress_db_backup.sql
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1027" data-end="1041"&gt;&lt;strong data-start="1027" data-end="1041"&gt;2.3. 파일 복구&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="1042" data-end="1072"&gt;
    &lt;li data-start="1042" data-end="1072"&gt;백업한 워드프레스 파일을 새로운 서버에 복사합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;tar -xzvf wordpress_backup.tar.gz -C /var/www/html/
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1138" data-end="1162"&gt;&lt;strong data-start="1138" data-end="1162"&gt;2.4. 파일 및 디렉토리 권한 설정&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="1163" data-end="1180"&gt;
    &lt;li data-start="1163" data-end="1180"&gt;권한을 적절하게 설정합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo &lt;span class="hljs-built_in"&gt;chown&lt;/span&gt; -R www-data:www-data /var/www/html/wordpress
sudo &lt;span class="hljs-built_in"&gt;chmod&lt;/span&gt; -R 755 /var/www/html/wordpress
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-start="1292" data-end="1317"&gt;3. &lt;code data-start="1299" data-end="1311"&gt;index.html&lt;/code&gt; 파일 설정&lt;/h3&gt;
&lt;p data-start="1319" data-end="1336"&gt;&lt;strong data-start="1319" data-end="1336"&gt;3.1. 리다이렉트 설정&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="1337" data-end="1448"&gt;
    &lt;li data-start="1337" data-end="1448"&gt;&lt;code data-start="1339" data-end="1365"&gt;/var/www/html/index.html&lt;/code&gt; 파일을 열어 아래 내용을 추가하여 &lt;code data-start="1385" data-end="1399"&gt;soon7shop.kr&lt;/code&gt;에 접속 시 &lt;code data-start="1406" data-end="1431"&gt;soon7shop.kr/wordpress/&lt;/code&gt;로 리다이렉트하도록 설정합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;html&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-html"&gt;&lt;span class="hljs-meta"&gt;&amp;lt;!DOCTYPE &lt;span class="hljs-keyword"&gt;html&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-html"&gt;
&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;html&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;head&lt;/span&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;meta&lt;/span&gt; &lt;span class="hljs-attr"&gt;http-equiv&lt;/span&gt;=&lt;span class="hljs-string"&gt;"refresh"&lt;/span&gt; &lt;span class="hljs-attr"&gt;content&lt;/span&gt;=&lt;span class="hljs-string"&gt;"0;url=/wordpress/"&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;head&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;body&lt;/span&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;p&lt;/span&gt;&amp;gt;&lt;/span&gt;If you are not redirected, &lt;span class="hljs-tag"&gt;&amp;lt;&lt;span class="hljs-name"&gt;a&lt;/span&gt; &lt;span class="hljs-attr"&gt;href&lt;/span&gt;=&lt;span class="hljs-string"&gt;"/wordpress/"&lt;/span&gt;&amp;gt;&lt;/span&gt;click here&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;a&lt;/span&gt;&amp;gt;&lt;/span&gt;.&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;p&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;body&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;span class="hljs-tag"&gt;&amp;lt;/&lt;span class="hljs-name"&gt;html&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-start="1655" data-end="1681"&gt;4. 정상적으로 적용되었는지 테스트 방법&lt;/h3&gt;
&lt;p data-start="1683" data-end="1699"&gt;&lt;strong data-start="1683" data-end="1699"&gt;4.1. 웹서버 재시작&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="1700" data-end="1717"&gt;
    &lt;li data-start="1700" data-end="1717"&gt;아파치 서버를 재시작합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl restart apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1762" data-end="1778"&gt;&lt;strong data-start="1762" data-end="1778"&gt;4.2. 웹사이트 접속&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="1779" data-end="1892"&gt;
    &lt;li data-start="1779" data-end="1828"&gt;&lt;code data-start="1781" data-end="1795"&gt;soon7shop.kr&lt;/code&gt;에 접속하여 리다이렉트가 정상적으로 이루어지는지 확인합니다.&lt;/li&gt;
    &lt;li data-start="1829" data-end="1892"&gt;&lt;code data-start="1831" data-end="1856"&gt;soon7shop.kr/wordpress/&lt;/code&gt;에 접속하여 워드프레스 사이트가 정상적으로 표시되는지 확인합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-start="1894" data-end="1915"&gt;&lt;strong data-start="1894" data-end="1915"&gt;4.3. 데이터베이스 연결 확인&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="1916" data-end="2002"&gt;
    &lt;li data-start="1916" data-end="2002"&gt;워드프레스에서 데이터베이스 연결이 정상적인지 확인하려면, &lt;code data-start="1950" data-end="1965"&gt;wp-config.php&lt;/code&gt; 파일을 열어 데이터베이스 설정이 올바르게 되어 있는지 체크합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-start="2004" data-end="2024"&gt;5. 문제 발생 시 확인 사항&lt;/h3&gt;
&lt;ul data-start="2025" data-end="2181"&gt;
    &lt;li data-start="2025" data-end="2069"&gt;아파치 서버 로그 확인: &lt;code data-start="2041" data-end="2069"&gt;/var/log/apache2/error.log&lt;/code&gt;&lt;/li&gt;
    &lt;li data-start="2070" data-end="2111"&gt;MySQL 로그 확인: &lt;code data-start="2085" data-end="2111"&gt;/var/log/mysql/error.log&lt;/code&gt;&lt;/li&gt;
    &lt;li data-start="2112" data-end="2181"&gt;권한 문제 해결: &lt;code data-start="2124" data-end="2181"&gt;sudo chown -R www-data:www-data /var/www/html/wordpress&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-start="2183" data-end="2248" data-is-last-node="" data-is-only-node=""&gt;위 순서대로 진행하면, 워드프레스 백업과 복구가 잘 완료될 것입니다.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>우분투, ssh 포트 활성화</title><link href="/posts/ubuntu-ssh-poteu-hwalseonghwa.html" rel="alternate"></link><published>2025-03-01T11:04:00+09:00</published><updated>2025-03-01T11:04:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-01:/posts/ubuntu-ssh-poteu-hwalseonghwa.html</id><summary type="html">&lt;p data-start="0" data-end="82"&gt;SSH 포트를 활성화하려면 몇 가지 단계를 따라야 합니다. 기본적으로 SSH는 포트 …&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="82"&gt;SSH 포트를 활성화하려면 몇 가지 단계를 따라야 합니다. 기본적으로 SSH는 포트 22를 사용합니다. 아래는 SSH 포트를 활성화하는 방법입니다.&lt;/p&gt;

&lt;ol data-start="84" data-end="1358"&gt;
    &lt;li data-start="84" data-end="233"&gt;
&lt;p data-start="87" data-end="157"&gt;&lt;strong data-start="87" data-end="100"&gt;SSH 설치 확인&lt;/strong&gt; 먼저 SSH가 설치되어 있는지 확인합니다. Ubuntu에서는 아래 명령어로 확인할 수 있습니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt update
sudo apt install openssh-server
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="235" data-end="411"&gt;
&lt;p data-start="238" data-end="278"&gt;&lt;strong data-start="238" data-end="252"&gt;SSH 서비스 확인&lt;/strong&gt; SSH 서비스가 실행 중인지 확인합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl status ssh
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="331" data-end="364"&gt;SSH 서비스가 실행되지 않으면, 아래 명령어로 시작합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl start ssh
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="413" data-end="682"&gt;
&lt;p data-start="416" data-end="492"&gt;&lt;strong data-start="416" data-end="426"&gt;방화벽 설정&lt;/strong&gt; 방화벽에서 SSH 포트를 허용해야 합니다. UFW를 사용하는 경우 아래 명령어로 SSH 포트를 열 수 있습니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo ufw allow ssh
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="538" data-end="581"&gt;또는 특정 포트 번호를 지정하려면(예: 포트 22) 아래 명령어를 사용합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo ufw allow 22/tcp
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="630" data-end="644"&gt;방화벽 상태를 확인하려면:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo ufw status
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="684" data-end="1021"&gt;
&lt;p data-start="687" data-end="797"&gt;&lt;strong data-start="687" data-end="704"&gt;포트 변경 (선택 사항)&lt;/strong&gt; 보안상의 이유로 SSH 포트를 변경할 수도 있습니다. &lt;code data-start="738" data-end="760"&gt;/etc/ssh/sshd_config&lt;/code&gt; 파일을 수정하여 포트를 변경합니다. 아래 명령어로 파일을 엽니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo nano /etc/ssh/sshd_config
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="855" data-end="909"&gt;&lt;code data-start="855" data-end="864"&gt;Port 22&lt;/code&gt; 항목을 원하는 포트 번호로 변경합니다. 예를 들어, 2222 포트를 사용하려면:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;yaml&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;&lt;span class="hljs-string"&gt;Port&lt;/span&gt; &lt;span class="hljs-number"&gt;2222&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="942" data-end="972"&gt;파일을 저장하고 나서 SSH 서비스를 다시 시작합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl restart ssh
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="1023" data-end="1250"&gt;
&lt;p data-start="1026" data-end="1116"&gt;&lt;strong data-start="1026" data-end="1044"&gt;새 포트 방화벽 규칙 설정&lt;/strong&gt; 포트를 변경한 경우, 새로운 포트 번호에 대해 방화벽 규칙을 추가해야 합니다. 예를 들어, 포트를 2222로 변경한 경우:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo ufw allow 2222/tcp
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1167" data-end="1207"&gt;기존 포트(22)도 여전히 열려 있으면 보안을 위해 닫는 것이 좋습니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo ufw deny 22/tcp
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="1252" data-end="1358"&gt;
&lt;p data-start="1255" data-end="1300"&gt;&lt;strong data-start="1255" data-end="1268"&gt;SSH 접속 확인&lt;/strong&gt; 변경된 포트로 SSH 접속이 잘 되는지 확인합니다:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;ssh -p 2222 username@your_server_ip
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-start="1360" data-end="1406" data-is-last-node="" data-is-only-node=""&gt;이 절차를 따르면 SSH 포트를 활성화하고 필요에 따라 포트를 변경할 수 있습니다.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>우분투, 하드 디스크 용량 표시</title><link href="/posts/ubuntu-hadeu-diseukeu-yongryang-pyosi.html" rel="alternate"></link><published>2025-03-01T10:53:00+09:00</published><updated>2025-03-01T10:53:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-01:/posts/ubuntu-hadeu-diseukeu-yongryang-pyosi.html</id><summary type="html">&lt;p data-start="0" data-end="75"&gt;하드 디스크의 용량을 확인하려면 &lt;code data-start="18" data-end="22"&gt;df&lt;/code&gt; 명령어 또는 &lt;code data-start="30" data-end="37"&gt;lsblk&lt;/code&gt; 명령어를 사용할 수 있 …&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="75"&gt;하드 디스크의 용량을 확인하려면 &lt;code data-start="18" data-end="22"&gt;df&lt;/code&gt; 명령어 또는 &lt;code data-start="30" data-end="37"&gt;lsblk&lt;/code&gt; 명령어를 사용할 수 있습니다. 아래에서 두 가지 방법을 소개합니다.&lt;/p&gt;

&lt;h3 data-start="77" data-end="95"&gt;1. &lt;code data-start="84" data-end="88"&gt;df&lt;/code&gt; 명령어 사용&lt;/h3&gt;
&lt;p data-start="96" data-end="142"&gt;&lt;code data-start="96" data-end="100"&gt;df&lt;/code&gt; 명령어는 디스크의 전체 용량, 사용된 용량, 남은 용량 등을 표시해줍니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;&lt;span class="hljs-built_in"&gt;df&lt;/span&gt; -h
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="163" data-end="214"&gt;&lt;code data-start="163" data-end="167"&gt;-h&lt;/code&gt; 옵션은 사람이 읽기 쉬운 형식으로 용량을 표시해줍니다 (예: MB, GB, TB).&lt;/p&gt;
&lt;p data-start="216" data-end="222"&gt;출력 예시:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;Filesystem      Size  Used Avail Use% Mounted on
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;/dev/sda1       100G  25G   75G  25% /
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;/dev/sdb1       200G  50G  150G  25% /mnt/mydisk
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="369" data-end="429"&gt;이 출력에서 &lt;code data-start="376" data-end="382"&gt;Size&lt;/code&gt;는 전체 용량, &lt;code data-start="391" data-end="397"&gt;Used&lt;/code&gt;는 사용된 용량, &lt;code data-start="407" data-end="414"&gt;Avail&lt;/code&gt;은 남은 용량을 나타냅니다.&lt;/p&gt;

&lt;h3 data-start="431" data-end="452"&gt;2. &lt;code data-start="438" data-end="445"&gt;lsblk&lt;/code&gt; 명령어 사용&lt;/h3&gt;
&lt;p data-start="453" data-end="540"&gt;&lt;code data-start="453" data-end="460"&gt;lsblk&lt;/code&gt; 명령어는 시스템에 연결된 모든 블록 장치의 정보를 트리 형식으로 보여줍니다. 이 명령어는 각 디스크와 파티션의 용량을 확인하는 데 유용합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;lsblk
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="561" data-end="567"&gt;출력 예시:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;pgsql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;&lt;span class="hljs-type"&gt;NAME&lt;/span&gt;   MAJ:MIN RM   SIZE RO &lt;span class="hljs-keyword"&gt;TYPE&lt;/span&gt; MOUNTPOINT&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;sda      &lt;span class="hljs-number"&gt;8&lt;/span&gt;:&lt;span class="hljs-number"&gt;0&lt;/span&gt;    &lt;span class="hljs-number"&gt;0&lt;/span&gt;   &lt;span class="hljs-number"&gt;500&lt;/span&gt;G  &lt;span class="hljs-number"&gt;0&lt;/span&gt; disk &lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;├─sda1   &lt;span class="hljs-number"&gt;8&lt;/span&gt;:&lt;span class="hljs-number"&gt;1&lt;/span&gt;    &lt;span class="hljs-number"&gt;0&lt;/span&gt;   &lt;span class="hljs-number"&gt;100&lt;/span&gt;G  &lt;span class="hljs-number"&gt;0&lt;/span&gt; part /
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;└─sda2   &lt;span class="hljs-number"&gt;8&lt;/span&gt;:&lt;span class="hljs-number"&gt;2&lt;/span&gt;    &lt;span class="hljs-number"&gt;0&lt;/span&gt;   &lt;span class="hljs-number"&gt;400&lt;/span&gt;G  &lt;span class="hljs-number"&gt;0&lt;/span&gt; part /mnt/&lt;span class="hljs-keyword"&gt;storage&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;sdb      &lt;span class="hljs-number"&gt;8&lt;/span&gt;:&lt;span class="hljs-number"&gt;16&lt;/span&gt;   &lt;span class="hljs-number"&gt;0&lt;/span&gt;   &lt;span class="hljs-number"&gt;200&lt;/span&gt;G  &lt;span class="hljs-number"&gt;0&lt;/span&gt; disk
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;└─sdb1   &lt;span class="hljs-number"&gt;8&lt;/span&gt;:&lt;span class="hljs-number"&gt;17&lt;/span&gt;   &lt;span class="hljs-number"&gt;0&lt;/span&gt;   &lt;span class="hljs-number"&gt;200&lt;/span&gt;G  &lt;span class="hljs-number"&gt;0&lt;/span&gt; part /mnt/mydisk
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="814" data-end="851"&gt;이 출력에서 &lt;code data-start="821" data-end="827"&gt;SIZE&lt;/code&gt;는 각 디스크와 파티션의 용량을 나타냅니다.&lt;/p&gt;

&lt;h3 data-start="853" data-end="874"&gt;3. &lt;code data-start="860" data-end="867"&gt;fdisk&lt;/code&gt; 명령어 사용&lt;/h3&gt;
&lt;p data-start="875" data-end="918"&gt;&lt;code data-start="875" data-end="882"&gt;fdisk&lt;/code&gt; 명령어를 사용하여 디스크의 파티션 정보를 확인할 수도 있습니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo fdisk -l
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="947" data-end="953"&gt;출력 예시:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;Disk /dev/sda: 500 GB
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;Disk /dev/sdb: 200 GB
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1007" data-end="1050" data-is-last-node="" data-is-only-node=""&gt;이 방법들 중 하나를 사용하여 하드 디스크의 용량을 쉽게 확인할 수 있습니다.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>우분투 설정, 하드디스크 추가 하기 , 항상 인식하도록 설정</title><link href="/posts/ubuntu-seoljeong-hadeudiseukeu-cuga-hagi-hangsang-insighadorog-seoljeong.html" rel="alternate"></link><published>2025-03-01T10:50:00+09:00</published><updated>2025-03-01T10:50:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-03-01:/posts/ubuntu-seoljeong-hadeudiseukeu-cuga-hagi-hangsang-insighadorog-seoljeong.html</id><summary type="html">&lt;p data-start="0" data-end="79"&gt;서버에 하드디스크를 추가하고 우분투에서 항상 인식되도록 설정하는 방 …&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="79"&gt;서버에 하드디스크를 추가하고 우분투에서 항상 인식되도록 설정하는 방법을 안내해 드리겠습니다. 아래 절차를 따라 진행하시면 됩니다:&lt;/p&gt;

&lt;h3 data-start="81" data-end="96"&gt;1. 하드디스크 추가&lt;/h3&gt;
&lt;ol data-start="97" data-end="310"&gt;
    &lt;li data-start="97" data-end="150"&gt;&lt;strong data-start="100" data-end="112"&gt;서버 전원 끄기&lt;/strong&gt;: 하드디스크를 추가하기 전에 서버를 끄고 전원 케이블을 분리하세요.&lt;/li&gt;
    &lt;li data-start="151" data-end="239"&gt;&lt;strong data-start="154" data-end="166"&gt;하드디스크 연결&lt;/strong&gt;: 델 R410의 서버 케이스를 열고, 여유 있는 드라이브 슬롯에 하드디스크를 장착합니다. 연결이 완료되면 서버 케이스를 닫습니다.&lt;/li&gt;
    &lt;li data-start="240" data-end="310"&gt;&lt;strong data-start="243" data-end="255"&gt;서버 전원 켜기&lt;/strong&gt;: 서버를 다시 켜고, BIOS나 RAID 설정 화면에 들어가서 하드디스크가 인식되는지 확인합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-start="312" data-end="336"&gt;2. 우분투에서 하드디스크 인식 확인&lt;/h3&gt;
&lt;ol data-start="337" data-end="512"&gt;
    &lt;li data-start="337" data-end="512"&gt;
&lt;p data-start="340" data-end="399"&gt;서버가 부팅되면, 우분투에서 하드디스크가 잘 인식되었는지 확인합니다. 터미널에서 아래 명령어를 입력하세요:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo fdisk -l
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="440" data-end="512"&gt;이 명령어를 통해 추가된 하드디스크가 &lt;code data-start="461" data-end="471"&gt;/dev/sdX&lt;/code&gt; 형태로 나타나야 합니다. (&lt;code data-start="487" data-end="497"&gt;/dev/sda&lt;/code&gt;, &lt;code data-start="499" data-end="509"&gt;/dev/sdb&lt;/code&gt; 등)&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-start="514" data-end="535"&gt;3. 하드디스크 파티션 및 포맷&lt;/h3&gt;
&lt;p data-start="536" data-end="616"&gt;하드디스크가 인식되면, 파티션을 만들고 포맷해야 합니다. 예를 들어, &lt;code data-start="575" data-end="585"&gt;/dev/sdb&lt;/code&gt;에 새 파티션을 만들고 포맷하는 방법은 다음과 같습니다.&lt;/p&gt;

&lt;ol data-start="618" data-end="979"&gt;
    &lt;li data-start="618" data-end="840"&gt;
&lt;p data-start="621" data-end="642"&gt;&lt;strong data-start="621" data-end="641"&gt;&lt;code data-start="623" data-end="630"&gt;fdisk&lt;/code&gt;로 파티션 만들기&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo fdisk /dev/sdb
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="689" data-end="730"&gt;이 명령어로 파티션을 만들 수 있는 &lt;code data-start="709" data-end="716"&gt;fdisk&lt;/code&gt; 인터페이스로 들어갑니다.&lt;/p&gt;

&lt;ul data-start="734" data-end="840"&gt;
    &lt;li data-start="734" data-end="759"&gt;&lt;code data-start="736" data-end="739"&gt;n&lt;/code&gt;을 입력하여 새 파티션을 생성합니다.&lt;/li&gt;
    &lt;li data-start="763" data-end="807"&gt;&lt;code data-start="765" data-end="768"&gt;p&lt;/code&gt;를 선택하여 기본 파티션을 선택하고, 원하는 파티션 크기를 입력합니다.&lt;/li&gt;
    &lt;li data-start="811" data-end="840"&gt;&lt;code data-start="813" data-end="816"&gt;w&lt;/code&gt;를 입력하여 변경사항을 저장하고 종료합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li data-start="842" data-end="979"&gt;
&lt;p data-start="845" data-end="859"&gt;&lt;strong data-start="845" data-end="858"&gt;파일 시스템 포맷&lt;/strong&gt;:&lt;/p&gt;
&lt;p data-start="864" data-end="932"&gt;새로 만든 파티션에 파일 시스템을 포맷하려면, 예를 들어 &lt;code data-start="896" data-end="902"&gt;ext4&lt;/code&gt; 파일 시스템으로 포맷하려면 아래 명령어를 사용합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo mkfs.ext4 /dev/sdb1
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-start="981" data-end="997"&gt;4. 자동 마운트 설정&lt;/h3&gt;
&lt;p data-start="998" data-end="1061"&gt;서버가 부팅될 때마다 하드디스크가 자동으로 마운트되도록 설정하려면 &lt;code data-start="1035" data-end="1047"&gt;/etc/fstab&lt;/code&gt; 파일을 수정해야 합니다.&lt;/p&gt;

&lt;ol data-start="1063" data-end="1726"&gt;
    &lt;li data-start="1063" data-end="1243"&gt;
&lt;p data-start="1066" data-end="1078"&gt;&lt;strong data-start="1066" data-end="1077"&gt;UUID 확인&lt;/strong&gt;:&lt;/p&gt;
&lt;p data-start="1083" data-end="1132"&gt;우선, 하드디스크의 UUID를 확인합니다. 아래 명령어를 입력하여 UUID를 확인하세요.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo blkid /dev/sdb1
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1180" data-end="1186"&gt;출력 예시:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;/dev/sdb1: &lt;span class="hljs-type"&gt;UUID&lt;/span&gt;="1234-abcd" &lt;span class="hljs-keyword"&gt;TYPE&lt;/span&gt;="ext4"
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="1245" data-end="1622"&gt;
&lt;p data-start="1248" data-end="1268"&gt;&lt;strong data-start="1248" data-end="1267"&gt;&lt;code data-start="1250" data-end="1262"&gt;/etc/fstab&lt;/code&gt; 수정&lt;/strong&gt;:&lt;/p&gt;
&lt;p data-start="1273" data-end="1320"&gt;&lt;code data-start="1273" data-end="1280"&gt;fstab&lt;/code&gt; 파일을 편집하여 부팅 시 하드디스크가 자동으로 마운트되도록 설정합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo nano /etc/fstab
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1368" data-end="1390"&gt;파일 맨 아래에 다음과 같이 추가합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;ini&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;&lt;span class="hljs-attr"&gt;UUID&lt;/span&gt;=&lt;span class="hljs-number"&gt;1234&lt;/span&gt;-abcd  /mnt/mydisk  ext4  defaults  &lt;span class="hljs-number"&gt;0&lt;/span&gt;  &lt;span class="hljs-number"&gt;2&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1463" data-end="1577"&gt;여기서 &lt;code data-start="1467" data-end="1483"&gt;UUID=1234-abcd&lt;/code&gt;는 &lt;code data-start="1485" data-end="1492"&gt;blkid&lt;/code&gt; 명령어로 확인한 UUID 값으로, &lt;code data-start="1512" data-end="1525"&gt;/mnt/mydisk&lt;/code&gt;는 원하는 마운트 포인트입니다. (마운트 포인트는 &lt;code data-start="1553" data-end="1560"&gt;mkdir&lt;/code&gt; 명령어로 만들 수 있습니다.)&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo &lt;span class="hljs-built_in"&gt;mkdir&lt;/span&gt; /mnt/mydisk
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="1624" data-end="1726"&gt;
&lt;p data-start="1627" data-end="1640"&gt;&lt;strong data-start="1627" data-end="1639"&gt;변경 사항 적용&lt;/strong&gt;:&lt;/p&gt;
&lt;p data-start="1645" data-end="1690"&gt;&lt;code data-start="1645" data-end="1652"&gt;fstab&lt;/code&gt; 설정을 적용하려면, 다음 명령어로 파일 시스템을 다시 마운트합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo mount -a
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-start="1728" data-end="1746"&gt;5. 하드디스크 인식 확인&lt;/h3&gt;
&lt;p data-start="1747" data-end="1798"&gt;서버를 재부팅한 후, 하드디스크가 자동으로 마운트되는지 확인하려면 다음 명령어를 사용합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;&lt;span class="hljs-built_in"&gt;df&lt;/span&gt; -h
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1819" data-end="1848"&gt;이 명령어로 마운트된 디스크들을 확인할 수 있습니다.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>우분투 바쿨라 백업 프로그램</title><link href="/posts/ubuntu-bakulra-baegeob-peurogeuraem.html" rel="alternate"></link><published>2025-02-17T14:04:00+09:00</published><updated>2025-02-17T14:04:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-02-17:/posts/ubuntu-bakulra-baegeob-peurogeuraem.html</id><summary type="html">&lt;p data-start="0" data-end="124"&gt;Bacula(바쿨라)는 오픈소스 백업 솔루션으로, 네트워크를 통해 클라이언트 시스 …&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="124"&gt;Bacula(바쿨라)는 오픈소스 백업 솔루션으로, 네트워크를 통해 클라이언트 시스템의 데이터를 중앙 백업 서버에 백업하고 복구할 수 있는 강력한 도구입니다. 우분투에서 Bacula를 설정하는 방법을 설명해 드리겠습니다.&lt;/p&gt;

&lt;hr data-start="126" data-end="129" /&gt;

&lt;h2 data-start="131" data-end="152"&gt;&lt;strong data-start="134" data-end="150"&gt;1. Bacula 개요&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-start="153" data-end="187"&gt;Bacula는 다음과 같은 구성 요소로 이루어져 있습니다:&lt;/p&gt;

&lt;ul data-start="188" data-end="450"&gt;
    &lt;li data-start="188" data-end="232"&gt;&lt;strong data-start="190" data-end="202"&gt;Director&lt;/strong&gt;: 백업 및 복구 작업을 관리하는 중앙 제어 시스템&lt;/li&gt;
    &lt;li data-start="233" data-end="280"&gt;&lt;strong data-start="235" data-end="258"&gt;Storage Daemon (SD)&lt;/strong&gt;: 실제 데이터를 저장하는 백업 서버&lt;/li&gt;
    &lt;li data-start="281" data-end="338"&gt;&lt;strong data-start="283" data-end="303"&gt;File Daemon (FD)&lt;/strong&gt;: 클라이언트에서 실행되며 백업할 데이터를 제공하는 에이전트&lt;/li&gt;
    &lt;li data-start="339" data-end="413"&gt;&lt;strong data-start="341" data-end="352"&gt;Catalog&lt;/strong&gt;: 백업된 파일의 메타데이터를 저장하는 데이터베이스 (MySQL, PostgreSQL, SQLite 지원)&lt;/li&gt;
    &lt;li data-start="414" data-end="450"&gt;&lt;strong data-start="416" data-end="427"&gt;Console&lt;/strong&gt;: Bacula를 관리하는 CLI 도구&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="452" data-end="455" /&gt;

&lt;h2 data-start="457" data-end="504"&gt;&lt;strong data-start="460" data-end="502"&gt;2. Bacula 설치 (Ubuntu 20.04 / 22.04 기준)&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 data-start="505" data-end="522"&gt;&lt;strong data-start="509" data-end="522"&gt;1) 패키지 설치&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt update
sudo apt install bacula-server bacula-client
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr data-start="597" data-end="600" /&gt;

&lt;h2 data-start="602" data-end="629"&gt;&lt;strong data-start="605" data-end="627"&gt;3. Bacula 구성 파일 설정&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-start="630" data-end="677"&gt;Bacula의 주요 설정 파일은 &lt;code data-start="648" data-end="662"&gt;/etc/bacula/&lt;/code&gt; 디렉터리에 위치합니다.&lt;/p&gt;

&lt;h3 data-start="679" data-end="735"&gt;&lt;strong data-start="683" data-end="733"&gt;1) Director 설정 (&lt;code data-start="701" data-end="730"&gt;/etc/bacula/bacula-dir.conf&lt;/code&gt;)&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-start="736" data-end="803"&gt;Bacula Director는 전체 백업을 제어하는 역할을 합니다. 기본 설정을 편집하려면 다음 명령어를 사용하세요.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo nano /etc/bacula/bacula-dir.conf
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="854" data-end="860"&gt;설정 예제:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;&lt;code class="!whitespace-pre language-bash"&gt;Director {
Name = bacula-dir
Password = &lt;span class="hljs-string"&gt;"MyStrongPassword"&lt;/span&gt;
}&lt;/code&gt;&lt;/code&gt;JobDefs {
Name = &lt;span class="hljs-string"&gt;"DefaultJob"&lt;/span&gt;
Type = Backup
Level = Incremental
FileSet=&lt;span class="hljs-string"&gt;"Full Set"&lt;/span&gt;
Schedule = &lt;span class="hljs-string"&gt;"WeeklyCycle"&lt;/span&gt;
Storage = File
Messages = Standard
Pool = Default
Priority = 10
}

&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1170" data-end="1186"&gt;&lt;strong data-start="1170" data-end="1184"&gt;변경할 주요 사항:&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="1187" data-end="1253"&gt;
    &lt;li data-start="1187" data-end="1219"&gt;&lt;code data-start="1189" data-end="1195"&gt;Name&lt;/code&gt; : Bacula Director의 이름&lt;/li&gt;
    &lt;li data-start="1220" data-end="1253"&gt;&lt;code data-start="1222" data-end="1232"&gt;Password&lt;/code&gt; : 클라이언트와 통신하는 비밀번호&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="1255" data-end="1258" /&gt;

&lt;h3 data-start="1260" data-end="1321"&gt;&lt;strong data-start="1264" data-end="1319"&gt;2) Storage Daemon 설정 (&lt;code data-start="1288" data-end="1316"&gt;/etc/bacula/bacula-sd.conf&lt;/code&gt;)&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-start="1322" data-end="1354"&gt;스토리지 데몬은 백업 데이터를 저장하는 역할을 합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo nano /etc/bacula/bacula-sd.conf
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1404" data-end="1410"&gt;설정 예제:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;Storage {
Name = FileStorage
Address = 192.168.1.100  &lt;span class="hljs-comment"&gt;# 서버의 IP 주소  &lt;/span&gt;
SDPort = 9103
WorkingDirectory = &lt;span class="hljs-string"&gt;"/var/lib/bacula"&lt;/span&gt;
PidDirectory = &lt;span class="hljs-string"&gt;"/run/bacula"&lt;/span&gt;
MaximumConcurrentJobs = 20
}
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1632" data-end="1648"&gt;&lt;strong data-start="1632" data-end="1646"&gt;변경할 주요 사항:&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="1649" data-end="1719"&gt;
    &lt;li data-start="1649" data-end="1681"&gt;&lt;code data-start="1651" data-end="1660"&gt;Address&lt;/code&gt; : Bacula 서버의 IP 주소&lt;/li&gt;
    &lt;li data-start="1682" data-end="1719"&gt;&lt;code data-start="1684" data-end="1702"&gt;WorkingDirectory&lt;/code&gt; : 백업 데이터 저장 경로&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="1721" data-end="1724" /&gt;

&lt;h3 data-start="1726" data-end="1784"&gt;&lt;strong data-start="1730" data-end="1782"&gt;3) File Daemon 설정 (&lt;code data-start="1751" data-end="1779"&gt;/etc/bacula/bacula-fd.conf&lt;/code&gt;)&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-start="1785" data-end="1822"&gt;클라이언트에서 실행되는 File Daemon 설정을 변경합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo nano /etc/bacula/bacula-fd.conf
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="1872" data-end="1878"&gt;설정 예제:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;FileDaemon {
Name = client-fd
FDPort = 9102
WorkingDirectory = &lt;span class="hljs-string"&gt;"/var/lib/bacula"&lt;/span&gt;
PidDirectory = &lt;span class="hljs-string"&gt;"/run/bacula"&lt;/span&gt;
}
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="2027" data-end="2043"&gt;&lt;strong data-start="2027" data-end="2041"&gt;변경할 주요 사항:&lt;/strong&gt;&lt;/p&gt;

&lt;ul data-start="2044" data-end="2093"&gt;
    &lt;li data-start="2044" data-end="2065"&gt;&lt;code data-start="2046" data-end="2052"&gt;Name&lt;/code&gt; : 클라이언트 이름&lt;/li&gt;
    &lt;li data-start="2066" data-end="2093"&gt;&lt;code data-start="2068" data-end="2076"&gt;FDPort&lt;/code&gt; : 기본 포트 (9102)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="2095" data-end="2098" /&gt;

&lt;h2 data-start="2100" data-end="2130"&gt;&lt;strong data-start="2103" data-end="2128"&gt;4. Bacula 서비스 시작 및 확인&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-start="2131" data-end="2162"&gt;설정을 마친 후, Bacula 서비스를 재시작합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl restart bacula-director
sudo systemctl restart bacula-sd
sudo systemctl restart bacula-fd
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="2280" data-end="2292"&gt;서비스 상태 확인:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl status bacula-director
sudo systemctl status bacula-sd
sudo systemctl status bacula-fd
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="2407" data-end="2443"&gt;모두 &lt;code data-start="2410" data-end="2428"&gt;active (running)&lt;/code&gt; 상태여야 정상 동작합니다.&lt;/p&gt;

&lt;hr data-start="2445" data-end="2448" /&gt;

&lt;h2 data-start="2450" data-end="2470"&gt;&lt;strong data-start="2453" data-end="2468"&gt;5. 백업 작업 실행&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-start="2471" data-end="2513"&gt;CLI에서 Bacula 콘솔을 실행하여 백업 작업을 수행할 수 있습니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;bconsole
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="2535" data-end="2541"&gt;백업 실행:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;run
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="2558" data-end="2564"&gt;복구 실행:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;span class="" data-state="closed"&gt;&lt;button class="flex gap-1 items-center select-none px-4 py-1" aria-label="복사"&gt;복사&lt;/button&gt;&lt;/span&gt;&lt;span class="" data-state="closed"&gt;&lt;button class="flex select-none items-center gap-1"&gt;편집&lt;/button&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;restore
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr data-start="2586" data-end="2589" /&gt;

&lt;h2 data-start="2591" data-end="2609"&gt;&lt;strong data-start="2594" data-end="2607"&gt;6. 방화벽 설정&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-start="2610" data-end="2639"&gt;Bacula는 기본적으로 다음 포트를 사용합니다.&lt;/p&gt;

&lt;ul data-start="2640" data-end="2726"&gt;
    &lt;li data-start="2640" data-end="2662"&gt;&lt;strong data-start="2642" data-end="2650"&gt;9101&lt;/strong&gt;: Director&lt;/li&gt;
    &lt;li data-start="2663" data-end="2697"&gt;&lt;strong data-start="2665" data-end="2673"&gt;9102&lt;/strong&gt;: File Daemon (Client)&lt;/li&gt;
    &lt;li data-start="2698" data-end="2726"&gt;&lt;strong data-start="2700" data-end="2708"&gt;9103&lt;/strong&gt;: Storage Daemon&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-start="2728" data-end="2759"&gt;만약 UFW를 사용하고 있다면 포트를 열어야 합니다.&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo ufw allow 9101/tcp
sudo ufw allow 9102/tcp
sudo ufw allow 9103/tcp
sudo ufw reload
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr data-start="2861" data-end="2864" /&gt;

&lt;h2 data-start="2866" data-end="2897"&gt;&lt;strong data-start="2869" data-end="2895"&gt;7. Bacula 웹 인터페이스 (옵션)&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-start="2898" data-end="2940"&gt;웹 UI로 &lt;strong data-start="2904" data-end="2918"&gt;Bacula-Web&lt;/strong&gt;을 사용할 수 있습니다.&lt;br data-start="2931" data-end="2934" /&gt;설치 방법:&lt;/p&gt;

&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt install apache2 php php-cli php-mysql
&lt;span class="hljs-built_in"&gt;cd&lt;/span&gt; /var/www/html
sudo git &lt;span class="hljs-built_in"&gt;clone&lt;/span&gt; https://github.com/bacula-web/bacula-web.git
sudo &lt;span class="hljs-built_in"&gt;chown&lt;/span&gt; -R www-data:www-data /var/www/html/bacula-web
sudo systemctl restart apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-start="3165" data-end="3223"&gt;웹 브라우저에서 &lt;code data-start="3174" data-end="3199"&gt;http://서버IP/bacula-web/&lt;/code&gt;로 접속하면 웹 UI를 사용할 수 있습니다.&lt;/p&gt;

&lt;hr data-start="3225" data-end="3228" /&gt;

&lt;h2 data-start="3230" data-end="3241"&gt;&lt;strong data-start="3233" data-end="3239"&gt;결론&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-start="3242" data-end="3391" data-is-last-node=""&gt;Bacula는 강력한 백업 솔루션으로 네트워크를 통한 자동 백업이 가능합니다. 위 단계를 따라 설정하면 기본적인 백업 및 복구 기능을 활용할 수 있습니다. 추가적으로 스케줄링, 다양한 스토리지 지원 등을 설정하여 더욱 강력한 백업 시스템을 구축할 수도 있습니다.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>퍼펫 프로그램에 대하여</title><link href="/posts/peopes-peurogeuraeme-daehayeo.html" rel="alternate"></link><published>2025-02-17T12:32:00+09:00</published><updated>2025-02-17T12:32:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-02-17:/posts/peopes-peurogeuraeme-daehayeo.html</id><summary type="html">&lt;p data-start="0" data-end="186"&gt;Puppet(퍼펫)은 서버 및 애플리케이션을 자동화하고 관리하는 오픈소스 구성 관 …&lt;/p&gt;</summary><content type="html">&lt;p data-start="0" data-end="186"&gt;Puppet(퍼펫)은 서버 및 애플리케이션을 자동화하고 관리하는 오픈소스 구성 관리   (Configuration Management) 도구입니다. 인프라의 설정을 코드로 정의하는 &lt;strong data-start="98" data-end="129"&gt;Infrastructure as Code(IaC)&lt;/strong&gt; 개념을 기반으로 하며, 대규모 서버 환경에서 일관된 설정을 유지하고 효율적인 배포를 가능하게 합니다.&lt;/p&gt;

&lt;hr data-start="188" data-end="191" /&gt;

&lt;h2 data-start="193" data-end="212"&gt;1. &lt;strong data-start="199" data-end="212"&gt;Puppet 개요&lt;/strong&gt;&lt;/h2&gt;
&lt;ul data-start="213" data-end="451"&gt;
    &lt;li data-start="213" data-end="235"&gt;&lt;strong data-start="215" data-end="222"&gt;개발사&lt;/strong&gt;: Puppet Labs&lt;/li&gt;
    &lt;li data-start="236" data-end="296"&gt;&lt;strong data-start="238" data-end="246"&gt;라이선스&lt;/strong&gt;: 오픈소스(Community Edition) 및 상용(Enterprise Edition)&lt;/li&gt;
    &lt;li data-start="297" data-end="314"&gt;&lt;strong data-start="299" data-end="305"&gt;언어&lt;/strong&gt;: Ruby 기반&lt;/li&gt;
    &lt;li data-start="315" data-end="373"&gt;&lt;strong data-start="317" data-end="327"&gt;지원 플랫폼&lt;/strong&gt;: Linux(Ubuntu, CentOS 등), Windows 등 다양한 OS 지원&lt;/li&gt;
    &lt;li data-start="374" data-end="451"&gt;&lt;strong data-start="376" data-end="385"&gt;주요 기능&lt;/strong&gt;:
&lt;ul data-start="389" data-end="451"&gt;
    &lt;li data-start="389" data-end="406"&gt;서버 및 애플리케이션 자동화&lt;/li&gt;
    &lt;li data-start="409" data-end="428"&gt;시스템 구성 변경 관리 및 적용&lt;/li&gt;
    &lt;li data-start="431" data-end="451"&gt;대규모 인프라의 중앙 집중식 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="453" data-end="456" /&gt;

&lt;h2 data-start="458" data-end="484"&gt;2. &lt;strong data-start="464" data-end="484"&gt;Puppet의 주요 구성 요소&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-start="485" data-end="539"&gt;Puppet은 &lt;strong data-start="493" data-end="512"&gt;Master-Agent 모델&lt;/strong&gt;과 &lt;strong data-start="514" data-end="531"&gt;Standalone 모델&lt;/strong&gt;을 지원합니다.&lt;/p&gt;

&lt;h3 data-start="541" data-end="563"&gt;🔹 Master-Agent 구조&lt;/h3&gt;
&lt;ol data-start="564" data-end="839"&gt;
    &lt;li data-start="564" data-end="609"&gt;&lt;strong data-start="567" data-end="584"&gt;Puppet Master&lt;/strong&gt;: 중앙에서 모든 노드(서버)의 설정을 관리.&lt;/li&gt;
    &lt;li data-start="610" data-end="665"&gt;&lt;strong data-start="613" data-end="629"&gt;Puppet Agent&lt;/strong&gt;: 각 노드에서 Puppet Master로부터 명령을 받아 실행.&lt;/li&gt;
    &lt;li data-start="666" data-end="708"&gt;&lt;strong data-start="669" data-end="682"&gt;Manifests&lt;/strong&gt;: 설정을 정의하는 코드 파일(.pp 확장자).&lt;/li&gt;
    &lt;li data-start="709" data-end="754"&gt;&lt;strong data-start="712" data-end="723"&gt;Modules&lt;/strong&gt;: 여러 개의 Manifests를 포함하는 구성 패키지.&lt;/li&gt;
    &lt;li data-start="755" data-end="793"&gt;&lt;strong data-start="758" data-end="767"&gt;Hiera&lt;/strong&gt;: 계층형 데이터 저장소를 활용한 설정값 관리.&lt;/li&gt;
    &lt;li data-start="794" data-end="839"&gt;&lt;strong data-start="797" data-end="807"&gt;Facter&lt;/strong&gt;: 시스템의 하드웨어 및 소프트웨어 정보를 수집하는 도구.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-start="841" data-end="872"&gt;🔹 Standalone(Agentless) 구조&lt;/h3&gt;
&lt;ul data-start="873" data-end="947"&gt;
    &lt;li data-start="873" data-end="913"&gt;Puppet Master 없이 개별 서버에서 Puppet 실행 가능.&lt;/li&gt;
    &lt;li data-start="914" data-end="947"&gt;&lt;code data-start="916" data-end="930"&gt;puppet apply&lt;/code&gt; 명령어를 사용하여 설정 적용.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="949" data-end="952" /&gt;

&lt;h2 data-start="954" data-end="987"&gt;3. &lt;strong data-start="960" data-end="987"&gt;Ubuntu에서 Puppet 설치 및 설정&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 data-start="988" data-end="1025"&gt;3.1 &lt;strong data-start="996" data-end="1025"&gt;Puppet Server 설치 (Master)&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;&lt;span class="hljs-comment"&gt;# Puppet 저장소 추가&lt;/span&gt;
wget https://apt.puppet.com/puppet7-release-focal.deb
sudo dpkg -i puppet7-release-focal.deb
sudo apt update

&lt;span class="hljs-comment"&gt;# Puppet Server 설치&lt;/span&gt;
sudo apt install -y puppetserver
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-start="1217" data-end="1245"&gt;3.2 &lt;strong data-start="1225" data-end="1245"&gt;Puppet Server 설정&lt;/strong&gt;&lt;/h3&gt;
&lt;ul data-start="1246" data-end="1473"&gt;
    &lt;li data-start="1246" data-end="1354"&gt;Puppet Server의 기본 메모리 설정 변경 (&lt;code data-start="1277" data-end="1304"&gt;/etc/default/puppetserver&lt;/code&gt;):
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;JAVA_ARGS=&lt;span class="hljs-string"&gt;"-Xms512m -Xmx512m"&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="1355" data-end="1473"&gt;Puppet Master 서비스 시작 및 활성화:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;span class="" data-state="closed"&gt;&lt;button class="flex gap-1 items-center select-none px-4 py-1" aria-label="복사"&gt;복사&lt;/button&gt;&lt;/span&gt;&lt;span class="" data-state="closed"&gt;&lt;button class="flex select-none items-center gap-1"&gt;편집&lt;/button&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl start puppetserver
sudo systemctl &lt;span class="hljs-built_in"&gt;enable&lt;/span&gt; puppetserver
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-start="1475" data-end="1502"&gt;3.3 &lt;strong data-start="1483" data-end="1502"&gt;Puppet Agent 설치&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt install -y puppet-agent
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul data-start="1548" data-end="1792"&gt;
    &lt;li data-start="1548" data-end="1665"&gt;&lt;code data-start="1550" data-end="1563"&gt;puppet.conf&lt;/code&gt; 수정 (&lt;code data-start="1568" data-end="1604"&gt;/etc/puppetlabs/puppet/puppet.conf&lt;/code&gt;):
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;ini&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre"&gt;&lt;span class="hljs-section"&gt;[agent]&lt;/span&gt;
&lt;span class="hljs-attr"&gt;server&lt;/span&gt; = puppet-master.example.com
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li data-start="1666" data-end="1792"&gt;Agent 실행 및 Master와 통신 확인:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo systemctl start puppet
sudo systemctl &lt;span class="hljs-built_in"&gt;enable&lt;/span&gt; puppet
puppet agent --&lt;span class="hljs-built_in"&gt;test&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="1794" data-end="1797" /&gt;

&lt;h2 data-start="1799" data-end="1824"&gt;4. &lt;strong data-start="1805" data-end="1824"&gt;Puppet 코드 작성 예제&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 data-start="1825" data-end="1861"&gt;4.1 &lt;strong data-start="1833" data-end="1861"&gt;Manifests 예제 (&lt;code data-start="1849" data-end="1858"&gt;site.pp&lt;/code&gt;)&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;puppet&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;span class="" data-state="closed"&gt;&lt;button class="flex gap-1 items-center select-none px-4 py-1" aria-label="복사"&gt;복사&lt;/button&gt;&lt;/span&gt;&lt;span class="" data-state="closed"&gt;&lt;button class="flex select-none items-center gap-1"&gt;편집&lt;/button&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-puppet"&gt;node 'client-node' {
  package { 'apache2':
    ensure =&amp;gt; installed,
  }

  service { 'apache2':
    ensure =&amp;gt; running,
    enable =&amp;gt; true,
  }

  file { '/var/www/html/index.html':
    content =&amp;gt; "&amp;lt;h1&amp;gt;Welcome to Puppet Managed Server&amp;lt;/h1&amp;gt;",
    mode    =&amp;gt; '0644',
    owner   =&amp;gt; 'www-data',
    group   =&amp;gt; 'www-data',
  }
}
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul data-start="2201" data-end="2250"&gt;
    &lt;li data-start="2201" data-end="2217"&gt;Apache 설치 및 실행&lt;/li&gt;
    &lt;li data-start="2218" data-end="2250"&gt;기본 홈페이지(index.html) 생성 및 권한 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-start="2252" data-end="2273"&gt;4.2 &lt;strong data-start="2260" data-end="2273"&gt;Puppet 적용&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-[5px] h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr data-start="2363" data-end="2366" /&gt;

&lt;h2 data-start="2368" data-end="2393"&gt;5. &lt;strong data-start="2374" data-end="2393"&gt;추천 자료 (책 &amp;amp; 가이드)&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 data-start="2394" data-end="2410"&gt;📚 &lt;strong data-start="2401" data-end="2410"&gt;한글 자료&lt;/strong&gt;&lt;/h3&gt;
&lt;ul data-start="2411" data-end="2545"&gt;
    &lt;li data-start="2411" data-end="2460"&gt;"Puppet을 활용한 서버 자동화" (번역본 없음, 하지만 블로그 자료 활용 가능)&lt;/li&gt;
    &lt;li data-start="2461" data-end="2545"&gt;&lt;a target="_new" rel="noopener" data-start="2463" data-end="2545"&gt;Puppet 공식 문서 (한글 일부 지원)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-start="2547" data-end="2563"&gt;📖 &lt;strong data-start="2554" data-end="2563"&gt;영문 자료&lt;/strong&gt;&lt;/h3&gt;
&lt;ul data-start="2564" data-end="2788"&gt;
    &lt;li data-start="2564" data-end="2673"&gt;&lt;strong data-start="2566" data-end="2571"&gt;책&lt;/strong&gt;:
&lt;ul data-start="2575" data-end="2673"&gt;
    &lt;li data-start="2575" data-end="2626"&gt;&lt;em data-start="2577" data-end="2600"&gt;Puppet Best Practices&lt;/em&gt; (Chris Barbour, Jo Rhett)&lt;/li&gt;
    &lt;li data-start="2629" data-end="2673"&gt;&lt;em data-start="2631" data-end="2658"&gt;Puppet 5 Beginner’s Guide&lt;/em&gt; (John Arundel)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li data-start="2674" data-end="2788"&gt;&lt;strong data-start="2676" data-end="2686"&gt;공식 가이드&lt;/strong&gt;:
&lt;ul data-start="2690" data-end="2788"&gt;
    &lt;li data-start="2690" data-end="2732"&gt;&lt;a target="_new" rel="noopener" data-start="2692" data-end="2732"&gt;Puppet 공식 문서&lt;/a&gt;&lt;/li&gt;
    &lt;li data-start="2735" data-end="2788"&gt;&lt;a target="_new" rel="noopener" data-start="2737" data-end="2788"&gt;Puppet Learning Portal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr data-start="2790" data-end="2793" /&gt;

&lt;h2 data-start="2795" data-end="2808"&gt;6. &lt;strong data-start="2801" data-end="2808"&gt;마무리&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-start="2809" data-end="2965"&gt;Puppet은 대규모 서버 환경에서 자동화를 위한 강력한 도구입니다. Ubuntu에서 설정하는 방법을 익힌 후, Hiera, Facter, 모듈 작성 등을 추가 학습하면 더욱 효과적으로 사용할 수 있습니다. Django 기반 웹 서비스와 함께 자동화 환경을 구축할 수도 있습니다.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>데이터베이스에서 워드프레스 관리자 아이디 찾기</title><link href="/posts/deiteobeiseueseo-weodeupeureseu-gwanrija-aidi-cajgi.html" rel="alternate"></link><published>2025-02-01T09:10:00+09:00</published><updated>2025-02-01T09:10:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-02-01:/posts/deiteobeiseueseo-weodeupeureseu-gwanrija-aidi-cajgi.html</id><summary type="html">&lt;p&gt;워드프레스 관리자 아이디는 MySQL 데이터베이스에서 확인할 수 있습니다. 다 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;워드프레스 관리자 아이디는 MySQL 데이터베이스에서 확인할 수 있습니다. 다음 단계를 따라 확인하세요.&lt;/p&gt;
&lt;h3&gt;1. &lt;strong&gt;MySQL 접속&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;터미널에서 아래 명령어를 실행하여 MySQL에 접속합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sh&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sh"&gt;mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;또는 데이터베이스 사용자가 따로 있다면,&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sh&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sh"&gt;mysql -u [사용자명] -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;비밀번호 입력 후 접속됩니다.&lt;/p&gt;
&lt;h3&gt;2. &lt;strong&gt;워드프레스 데이터베이스 선택&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;&lt;span class="hljs-keyword"&gt;SHOW&lt;/span&gt; DATABASES;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;워드프레스가 사용하는 데이터베이스를 찾고, 선택합니다.
예를 들어 데이터베이스 이름이 &lt;code&gt;wordpress_db&lt;/code&gt;라면:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;USE wordpress_db;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;3. &lt;strong&gt;관리자 아이디 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;워드프레스의 사용자 정보는 &lt;code&gt;wp_users&lt;/code&gt; 테이블에 저장됩니다. 다음 명령어로 모든 사용자 목록을 확인하세요.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;&lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt; ID, user_login, user_email &lt;span class="hljs-keyword"&gt;FROM&lt;/span&gt; wp_users;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;여기서 &lt;code&gt;user_login&lt;/code&gt;이 아이디입니다.&lt;/p&gt;
&lt;h3&gt;4. &lt;strong&gt;특정 관리자 계정 찾기&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;관리자 계정만 조회하려면 &lt;code&gt;wp_usermeta&lt;/code&gt; 테이블과 조인해야 합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;&lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt; u.ID, u.user_login, u.user_email 
&lt;span class="hljs-keyword"&gt;FROM&lt;/span&gt; wp_users u
&lt;span class="hljs-keyword"&gt;JOIN&lt;/span&gt; wp_usermeta m &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; u.ID &lt;span class="hljs-operator"&gt;=&lt;/span&gt; m.user_id
&lt;span class="hljs-keyword"&gt;WHERE&lt;/span&gt; m.meta_key &lt;span class="hljs-operator"&gt;=&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_capabilities'&lt;/span&gt; &lt;span class="hljs-keyword"&gt;AND&lt;/span&gt; m.meta_value &lt;span class="hljs-keyword"&gt;LIKE&lt;/span&gt; &lt;span class="hljs-string"&gt;'%administrator%'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;이렇게 하면 관리자 권한을 가진 계정만 출력됩니다.&lt;/p&gt;
&lt;h3&gt;5. &lt;strong&gt;비밀번호 재설정 (필요 시)&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;비밀번호를 모르면, 새로운 것으로 변경할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-sql"&gt;&lt;span class="hljs-keyword"&gt;UPDATE&lt;/span&gt; wp_users 
&lt;span class="hljs-keyword"&gt;SET&lt;/span&gt; user_pass &lt;span class="hljs-operator"&gt;=&lt;/span&gt; MD5(&lt;span class="hljs-string"&gt;'새로운비밀번호'&lt;/span&gt;) 
&lt;span class="hljs-keyword"&gt;WHERE&lt;/span&gt; user_login &lt;span class="hljs-operator"&gt;=&lt;/span&gt; &lt;span class="hljs-string"&gt;'admin'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;⚠️ &lt;code&gt;MD5&lt;/code&gt; 암호화는 보안상 취약하므로, 워드프레스 관리자 페이지에서 비밀번호를 변경하는 것이 더 안전합니다.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>3T 하드 디스크 중에 거의 1T라 정도 활성화 되지 않고 사용할 수 없는 영역이 있다. 파티션도 만들 수 없는 할당 되지 않은 영역을 어떻게 하여 3T라 전체를 사용할 수 있는가?</title><link href="/posts/3t-hadeu-diseukeu-junge-geoyi-1tra-jeongdo-hwalseonghwa-doeji-anhgo-sayonghal-su-eobsneun-yeongyeogi-issda-patisyeondo-mandeul-su-eobsneun-haldang-doeji-anheun-yeongyeogeul-eoddeohge-hayeo-3tra-jeoncereul-sayonghal-su-issneunga.html" rel="alternate"></link><published>2025-02-01T08:47:00+09:00</published><updated>2025-02-01T08:47:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-02-01:/posts/3t-hadeu-diseukeu-junge-geoyi-1tra-jeongdo-hwalseonghwa-doeji-anhgo-sayonghal-su-eobsneun-yeongyeogi-issda-patisyeondo-mandeul-su-eobsneun-haldang-doeji-anheun-yeongyeogeul-eoddeohge-hayeo-3tra-jeoncereul-sayonghal-su-issneunga.html</id><summary type="html">&lt;p&gt;&lt;strong&gt;3TB 하드디스크에서 일부 용량(약 1TB)을 사용할 수 없는 이유는 주로 MBR (Master Boot Record …&lt;/strong&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;strong&gt;3TB 하드디스크에서 일부 용량(약 1TB)을 사용할 수 없는 이유는 주로 MBR (Master Boot Record) 파티션 테이블의 한계 때문입니다. MBR 방식은 최대 2TB까지만 인식할 수 있어, 그 이상 용량을 가진 디스크에서는 나머지 공간이 할당되지 않은 상태로 남게 됩니다.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;🔹 해결 방법: GPT (GUID Partition Table)로 변경&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;GPT (GUID Partition Table)&lt;/strong&gt; 방식으로 변환하면 2TB 이상의 디스크 전체를 사용할 수 있습니다. 다만, &lt;strong&gt;디스크 변환 시 기존 데이터가 삭제&lt;/strong&gt;되므로, &lt;strong&gt;중요한 데이터는 백업 후 진행&lt;/strong&gt;하세요.&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;🔧 방법 1: Windows에서 변환 (디스크 관리 도구)&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;Win + X&lt;/strong&gt; 키를 눌러 &lt;strong&gt;디스크 관리&lt;/strong&gt; 열기&lt;/li&gt;
    &lt;li&gt;문제가 있는 &lt;strong&gt;3TB 디스크 선택&lt;/strong&gt; → 기존 파티션 삭제 (⚠ 데이터 삭제됨)&lt;/li&gt;
    &lt;li&gt;디스크를 &lt;strong&gt;마우스 우클릭&lt;/strong&gt; → &lt;strong&gt;GPT 디스크로 변환&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;새 파티션을 생성하고 포맷하면 전체 용량을 사용할 수 있음&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;🔧 방법 2: 명령어로 변환 (diskpart 사용)&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;Win + R&lt;/strong&gt; → &lt;code&gt;cmd&lt;/code&gt; 입력 후 &lt;strong&gt;관리자 권한으로 실행&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;diskpart&lt;/code&gt; 입력 후 Enter&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;list disk&lt;/code&gt; 입력하여 디스크 확인 (예: Disk 1)&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;select disk 1&lt;/code&gt; (자신의 디스크 번호 확인 후 입력)&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;clean&lt;/code&gt; (⚠ 디스크의 모든 데이터 삭제됨)&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;convert gpt&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;exit&lt;/code&gt; 입력 후 &lt;strong&gt;디스크 관리에서 새 볼륨 생성 및 포맷&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;🔧 방법 3: Linux에서 변환 (gdisk 사용)&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;터미널 실행 후 &lt;code&gt;gdisk&lt;/code&gt; 설치
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo apt install gdisk  &lt;span class="hljs-comment"&gt;# Ubuntu&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;gdisk&lt;/code&gt; 실행
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre language-bash"&gt;sudo gdisk /dev/sdX  &lt;span class="hljs-comment"&gt;# X는 해당 디스크의 번호&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;기존 MBR 삭제 (필요 시 &lt;code&gt;o&lt;/code&gt; 명령어 사용)&lt;/li&gt;
    &lt;li&gt;GPT 변환 (&lt;code&gt;w&lt;/code&gt; 입력 후 Enter)&lt;/li&gt;
    &lt;li&gt;새 파티션 생성 (&lt;code&gt;parted&lt;/code&gt; 또는 &lt;code&gt;fdisk&lt;/code&gt; 사용)&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;✅ 추가 참고 사항&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;MBR을 유지해야 하는 경우&lt;/strong&gt;: &lt;code&gt;2TB + 나머지&lt;/code&gt; 방식으로 두 개의 파티션을 생성할 수도 있지만, 권장되지 않습니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;GPT는 Windows 10/11 및 최신 OS에서 지원&lt;/strong&gt;되며, Windows 7 이하에서는 부팅 디스크로 사용할 수 없습니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;BIOS에서 UEFI 모드 지원 확인 필요&lt;/strong&gt; (GPT로 변환한 디스크에서 OS를 부팅하려면 UEFI 지원이 필요)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;이제 3TB 전체를 정상적으로 사용할 수 있을 것입니다&lt;/p&gt;</content><category term="컴퓨터"></category></entry><entry><title>아이피가 변경되었을때 워드프레스 설정 변경방법은?</title><link href="/posts/aipiga-byeongyeongdoeeosseulddae-weodeupeureseu-seoljeong-byeongyeongbangbeobeun.html" rel="alternate"></link><published>2025-01-27T13:08:00+09:00</published><updated>2025-01-27T13:08:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2025-01-27:/posts/aipiga-byeongyeongdoeeosseulddae-weodeupeureseu-seoljeong-byeongyeongbangbeobeun.html</id><summary type="html">&lt;p&gt;워드프레스 사이트의 IP 주소가 변경되었을 때, 사이트가 제대로 작동하도 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;워드프레스 사이트의 IP 주소가 변경되었을 때, 사이트가 제대로 작동하도록 설정을 업데이트해야 합니다. 아래는 필요한 단계입니다:&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;1. &lt;strong&gt;WordPress 설정 변경&lt;/strong&gt;&lt;/h3&gt;
&lt;h4&gt;(1) 사이트 주소(URL) 업데이트&lt;/h4&gt;
&lt;p&gt;IP 주소 변경 후, 새로운 IP를 WordPress에 반영해야 합니다.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;방법 1: 관리자 페이지에서 변경&lt;/strong&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;code&gt;http://[새로운_IP]/wp-admin&lt;/code&gt;으로 이동합니다.&lt;/li&gt;
    &lt;li&gt;WordPress에 로그인합니다.&lt;/li&gt;
    &lt;li&gt;**설정(Settings) &amp;gt; 일반(General)**으로 이동합니다.&lt;/li&gt;
    &lt;li&gt;아래 두 항목을 새 IP 주소로 변경합니다:
&lt;ul&gt;
    &lt;li&gt;WordPress 주소 (URL): &lt;code&gt;http://[새로운_IP]&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;사이트 주소 (URL): &lt;code&gt;http://[새로운_IP]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;변경 사항 저장.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;방법 2: 데이터베이스에서 직접 변경&lt;/strong&gt;
&lt;ol&gt;
    &lt;li&gt;MySQL 또는 phpMyAdmin을 통해 데이터베이스에 접속합니다.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;wp_options&lt;/code&gt; 테이블을 찾아서, 아래 두 옵션 값을 새 IP로 수정합니다:
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;siteurl&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;home&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;UPDATE&lt;/span&gt; wp_options &lt;span class="hljs-keyword"&gt;SET&lt;/span&gt; option_value &lt;span class="hljs-operator"&gt;=&lt;/span&gt; &lt;span class="hljs-string"&gt;'http://[새로운_IP]'&lt;/span&gt; &lt;span class="hljs-keyword"&gt;WHERE&lt;/span&gt; option_name &lt;span class="hljs-operator"&gt;=&lt;/span&gt; &lt;span class="hljs-string"&gt;'siteurl'&lt;/span&gt;;
&lt;span class="hljs-keyword"&gt;UPDATE&lt;/span&gt; wp_options &lt;span class="hljs-keyword"&gt;SET&lt;/span&gt; option_value &lt;span class="hljs-operator"&gt;=&lt;/span&gt; &lt;span class="hljs-string"&gt;'http://[새로운_IP]'&lt;/span&gt; &lt;span class="hljs-keyword"&gt;WHERE&lt;/span&gt; option_name &lt;span class="hljs-operator"&gt;=&lt;/span&gt; &lt;span class="hljs-string"&gt;'home'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;2. &lt;strong&gt;Apache/Nginx 설정 업데이트&lt;/strong&gt;&lt;/h3&gt;
&lt;h4&gt;(1) 가상 호스트 파일 수정&lt;/h4&gt;
&lt;p&gt;웹 서버가 새 IP를 반영하도록 설정을 변경합니다.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Apache 가상 호스트 파일 열기:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo nano /etc/apache2/sites-available/000-default.conf
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;ServerName&lt;/code&gt;과 &lt;code&gt;ServerAlias&lt;/code&gt;를 새 IP 주소로 변경:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;apache&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;&amp;lt;VirtualHost *:80&amp;gt;
    ServerName [새로운_IP]
    DocumentRoot /var/www/html
&amp;lt;/VirtualHost&amp;gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;설정 저장 후 Apache 재시작:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo systemctl restart apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;3. &lt;strong&gt;DNS 설정 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;만약 도메인을 사용 중이라면, 도메인 DNS 설정에서 새 IP로 업데이트해야 합니다.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;도메인 관리 사이트에 로그인합니다.&lt;/li&gt;
    &lt;li&gt;A 레코드 또는 CNAME 레코드의 IP를 새로 업데이트합니다.&lt;/li&gt;
    &lt;li&gt;변경 후 DNS 전파에 몇 분에서 몇 시간이 소요될 수 있습니다.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;4. &lt;strong&gt;Permalinks 재설정&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;IP 변경 후 페이지나 포스트 링크가 제대로 작동하지 않을 수 있습니다.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;관리자 페이지 접속: &lt;code&gt;http://[새로운_IP]/wp-admin&lt;/code&gt;.&lt;/li&gt;
    &lt;li&gt;**설정(Settings) &amp;gt; 고유주소(Permalinks)**로 이동합니다.&lt;/li&gt;
    &lt;li&gt;기존 설정 그대로 저장을 눌러 rewrite rules를 재생성합니다.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;5. &lt;strong&gt;캐시 제거&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;캐시 플러그인을 사용 중이라면 캐시를 삭제하거나 새로고침해야 변경 사항이 적용됩니다.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;캐시 플러그인(예: WP Super Cache, W3 Total Cache) 설정에서 캐시 삭제.&lt;/li&gt;
    &lt;li&gt;웹 브라우저 캐시도 삭제 후 테스트.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;6. &lt;strong&gt;SSL 인증서 업데이트 (HTTPS 사용 시)&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;새로운 IP에 맞는 SSL 인증서를 다시 발급받거나 업데이트해야 합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo certbot --apache -d [도메인 이름 또는 새 IP]
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;</content><category term="우분투"></category></entry><entry><title>ssd 로우포맷을 하면 문제가 되는가?</title><link href="/posts/ssd-roupomaeseul-hamyeon-munjega-doeneunga.html" rel="alternate"></link><published>2024-12-31T06:42:00+09:00</published><updated>2024-12-31T06:42:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-31:/posts/ssd-roupomaeseul-hamyeon-munjega-doeneunga.html</id><summary type="html">&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-3" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words text-start [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="cd4d4e11-becc-44b3-9e8e-32607678c69b" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

SSD를 로우 포맷(low-level format)하는 것은 일반적으로 &lt;strong&gt;추천되지 않습니다&lt;/strong&gt;. SSD는 전통적인 HDD와는 …&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/article&gt;</summary><content type="html">&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-3" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words text-start [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="cd4d4e11-becc-44b3-9e8e-32607678c69b" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

SSD를 로우 포맷(low-level format)하는 것은 일반적으로 &lt;strong&gt;추천되지 않습니다&lt;/strong&gt;. SSD는 전통적인 HDD와는 달리 데이터를 저장하고 관리하는 방식이 다르며, 로우 포맷은 SSD의 수명과 성능에 부정적인 영향을 미칠 수 있습니다. 아래는 주요 이유입니다:
&lt;h3&gt;1. &lt;strong&gt;로우 포맷과 SSD의 수명&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;SSD는 데이터를 쓰고 지우는 횟수에 제한이 있는 NAND 플래시 메모리를 사용합니다. 로우 포맷은 디스크의 모든 섹터를 강제로 초기화하기 때문에 불필요하게 많은 쓰기 작업을 발생시키며, 이는 SSD의 수명을 단축시킬 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. &lt;strong&gt;SSD의 관리 구조&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;SSD는 **웨어 레벨링(Wear Leveling)**과 같은 내부 관리 메커니즘을 통해 데이터를 효율적으로 관리합니다. 로우 포맷은 이러한 메커니즘을 무시하고 데이터를 직접적으로 덮어쓰기 때문에 SSD의 효율성이 떨어질 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;3. &lt;strong&gt;대안 방법&lt;/strong&gt;&lt;/h3&gt;
SSD의 데이터를 안전하게 지우거나 초기화하려면 로우 포맷 대신 아래 방법들을 고려하세요:
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Secure Erase&lt;/strong&gt;: SSD 제조사가 제공하는 유틸리티(예: 삼성 Magician, Crucial Storage Executive)를 사용해 데이터를 안전하게 삭제하세요. 이는 SSD의 내부 메커니즘을 활용하므로 더 안전합니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;디스크 초기화&lt;/strong&gt;: 디스크 관리 도구를 사용해 SSD를 초기화하거나 파티션을 삭제하는 것으로 충분한 경우가 많습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;4. &lt;strong&gt;로우 포맷이 필요한 경우&lt;/strong&gt;&lt;/h3&gt;
SSD에 심각한 펌웨어 문제가 있거나 데이터 복구를 완전히 불가능하게 만들어야 할 특별한 상황이 아니라면, 로우 포맷은 피하는 것이 좋습니다

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;
&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-5" data-scroll-anchor="true"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words text-start [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="02132ace-f738-46da-8f1c-f861f93a8f35" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

일반 포맷(Quick Format)을 했을 경우, &lt;strong&gt;데이터 복구가 가능한 경우가 많습니다.&lt;/strong&gt; 이는 일반 포맷이 데이터를 실제로 삭제하지 않고, 파일 시스템의 메타데이터(예: 파일 할당 테이블)를 초기화하는 데 그치기 때문입니다. 따라서 데이터 복구 소프트웨어를 사용하면 복구할 수 있는 가능성이 큽니다.
&lt;h3&gt;데이터를 완전하게 삭제하고 싶다면?&lt;/h3&gt;
SSD에서 데이터를 복구 불가능하게 만들려면 아래 방법을 사용하는 것이 가장 안전합니다.

&lt;hr /&gt;

&lt;h4&gt;1. &lt;strong&gt;Secure Erase&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Secure Erase&lt;/strong&gt;는 SSD 제조사가 제공하는 도구를 사용하여 데이터를 물리적으로 완전히 삭제하는 방법입니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;SSD 제조사 도구&lt;/strong&gt;:
&lt;ul&gt;
    &lt;li&gt;삼성 SSD: Samsung Magician&lt;/li&gt;
    &lt;li&gt;Crucial SSD: Storage Executive&lt;/li&gt;
    &lt;li&gt;WD SSD: Dashboard&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;Secure Erase는 SSD의 펌웨어 수준에서 데이터를 초기화하므로, 복구가 불가능합니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h4&gt;2. &lt;strong&gt;TRIM 명령 사용&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
    &lt;li&gt;대부분의 현대 SSD는 TRIM 명령을 지원합니다. TRIM 명령은 삭제된 데이터를 복구 불가능하게 만들며, 일반적으로 운영 체제가 SSD에 TRIM 명령을 자동으로 실행합니다.&lt;/li&gt;
    &lt;li&gt;방법:
&lt;ol&gt;
    &lt;li&gt;데이터 삭제 후 디스크를 TRIM 처리.&lt;/li&gt;
    &lt;li&gt;명령어 사용:
&lt;ul&gt;
    &lt;li&gt;리눅스: &lt;code&gt;sudo fstrim /&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;윈도우: 디스크 최적화에서 TRIM 명령이 활성화되어 있는지 확인.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h4&gt;3. &lt;strong&gt;Overwriting (덮어쓰기)&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
    &lt;li&gt;덮어쓰기를 통해 데이터를 삭제하면 복구가 어렵습니다.&lt;/li&gt;
    &lt;li&gt;예를 들어:
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;리눅스&lt;/strong&gt;: &lt;code&gt;dd if=/dev/zero of=/dev/sdX bs=1M&lt;/code&gt; (sdX는 디스크 이름)&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;윈도우&lt;/strong&gt;: 도구를 사용 (예: CCleaner의 Drive Wiper 기능)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;그러나 SSD에서는 비효율적이며, 수명을 단축시킬 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h4&gt;4. &lt;strong&gt;물리적 파괴&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
    &lt;li&gt;데이터를 완벽히 삭제해야 하는 상황(예: 보안 규정 준수)에서는 SSD를 물리적으로 파괴하는 것도 방법입니다.&lt;/li&gt;
    &lt;li&gt;이 방법은 극단적이지만 확실합니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;요약&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;데이터를 완전히 삭제하려면 &lt;strong&gt;Secure Erase&lt;/strong&gt;를 사용하는 것이 가장 안전하고 효과적입니다.&lt;/li&gt;
    &lt;li&gt;SSD는 HDD와 달리 TRIM 명령과 같은 기술을 활용하므로, 과도한 덮어쓰기는 피해야 합니다.&lt;/li&gt;
    &lt;li&gt;중요한 데이터를 삭제할 때는 제조사 제공 도구나 TRIM 명령을 사용하세요.&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;</content><category term="컴퓨터"></category></entry><entry><title>워드프레스 모든 글 굴림체로 폰트 스타일 변경하는 방법</title><link href="/posts/weodeupeureseu-modeun-geul-gulrimcero-ponteu-seutail-byeongyeonghaneun-bangbeob.html" rel="alternate"></link><published>2024-12-15T12:05:00+09:00</published><updated>2024-12-15T12:05:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-15:/posts/weodeupeureseu-modeun-geul-gulrimcero-ponteu-seutail-byeongyeonghaneun-bangbeob.html</id><summary type="html">&lt;p&gt;워드프레스에서 모든 글의 폰트를 &lt;code&gt;굴림체&lt;/code&gt;로 변경하려면 CSS를 수정해야 합니 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;워드프레스에서 모든 글의 폰트를 &lt;code&gt;굴림체&lt;/code&gt;로 변경하려면 CSS를 수정해야 합니다. 다음 단계를 따라 설정할 수 있습니다.&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;1. &lt;strong&gt;테마 사용자 정의(CSS 추가)&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;워드프레스 관리 패널로 이동합니다.&lt;/li&gt;
    &lt;li&gt;왼쪽 메뉴에서 &lt;strong&gt;외모 &amp;gt; 사용자 정의&lt;/strong&gt;를 클릭합니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;추가 CSS&lt;/strong&gt; 섹션으로 이동합니다.&lt;/li&gt;
    &lt;li&gt;아래 CSS 코드를 추가하고 저장합니다:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;css&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-css"&gt;&lt;span class="hljs-selector-tag"&gt;body&lt;/span&gt; {
    &lt;span class="hljs-attribute"&gt;font-family&lt;/span&gt;: &lt;span class="hljs-string"&gt;'Gulim'&lt;/span&gt;, sans-serif;
}
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;2. &lt;strong&gt;테마 스타일 파일 수정 (style.css)&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;직접 테마 파일을 수정할 수도 있습니다. 하지만, 이 방법은 테마 업데이트 시 수정 사항이 사라질 수 있으니 자식 테마를 사용하는 것이 좋습니다.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;외모 &amp;gt; 테마 파일 편집기&lt;/strong&gt;로 이동합니다.&lt;/li&gt;
    &lt;li&gt;활성화된 테마의 &lt;code&gt;style.css&lt;/code&gt; 파일을 열고 아래 코드를 추가합니다:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;css&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-css"&gt;&lt;span class="hljs-selector-tag"&gt;body&lt;/span&gt; {
    &lt;span class="hljs-attribute"&gt;font-family&lt;/span&gt;: &lt;span class="hljs-string"&gt;'Gulim'&lt;/span&gt;, sans-serif;
}
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;3. &lt;strong&gt;구글 웹폰트 사용 (대체 글꼴)&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;굴림체는 일부 브라우저에서 기본적으로 제공되지 않을 수 있습니다. 굴림체를 기본으로 설정하고, 대체 글꼴을 지정하려면 아래 코드를 사용할 수 있습니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;css&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-css"&gt;&lt;span class="hljs-selector-tag"&gt;body&lt;/span&gt; {
    &lt;span class="hljs-attribute"&gt;font-family&lt;/span&gt;: &lt;span class="hljs-string"&gt;'Gulim'&lt;/span&gt;, &lt;span class="hljs-string"&gt;'Arial'&lt;/span&gt;, sans-serif;
}
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;4. &lt;strong&gt;플러그인 사용&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;코드 수정이 어렵다면, CSS를 관리할 수 있는 플러그인을 사용하는 것도 방법입니다.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Simple Custom CSS&lt;/strong&gt; 또는 &lt;strong&gt;Advanced CSS Editor&lt;/strong&gt; 같은 플러그인을 설치하세요.&lt;/li&gt;
    &lt;li&gt;플러그인 설정 화면에서 위의 CSS 코드를 추가하면 됩니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;5. &lt;strong&gt;굴림체가 웹 브라우저에서 표시되지 않는 경우&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;굴림체는 기본적으로 Windows 환경에서 사용 가능하지만, Mac이나 일부 Linux 환경에서는 제대로 표시되지 않을 수 있습니다. 이럴 경우:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;굴림체를 직접 웹폰트로 업로드하거나,&lt;/li&gt;
    &lt;li&gt;비슷한 대체 글꼴을 사용하세요. 예: &lt;code&gt;Malgun Gothic&lt;/code&gt; 또는 &lt;code&gt;Arial&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;css&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-css"&gt;&lt;span class="hljs-selector-tag"&gt;body&lt;/span&gt; {
    &lt;span class="hljs-attribute"&gt;font-family&lt;/span&gt;: &lt;span class="hljs-string"&gt;'Gulim'&lt;/span&gt;, &lt;span class="hljs-string"&gt;'Malgun Gothic'&lt;/span&gt;, sans-serif;
}
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;</content><category term="우분투"></category></entry><entry><title>www.soon7shop.kr 접속을 www.soon7shop.kr/wordpress/로 자동으로 전환</title><link href="/posts/wwwsoon7shopkr-jeobsogeul-wwwsoon7shopkrwordpressro-jadongeuro-jeonhwan.html" rel="alternate"></link><published>2024-12-15T05:22:00+09:00</published><updated>2024-12-15T05:22:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-15:/posts/wwwsoon7shopkr-jeobsogeul-wwwsoon7shopkrwordpressro-jadongeuro-jeonhwan.html</id><summary type="html">&lt;p&gt;&lt;code&gt;index.html&lt;/code&gt; 코드&lt;/p&gt;
&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset="UTF-8"&amp;gt;
&amp;lt;meta http-equiv="refresh" content="0; url=/wordpress/"&amp;gt;
&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
&amp;lt;title …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;code&gt;index.html&lt;/code&gt; 코드&lt;/p&gt;
&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset="UTF-8"&amp;gt;
&amp;lt;meta http-equiv="refresh" content="0; url=/wordpress/"&amp;gt;
&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
&amp;lt;title&amp;gt;Redirecting...&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;p&amp;gt;If you are not redirected automatically, &amp;lt;a href="/wordpress/"&amp;gt;click here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;파일 저장 위치&lt;/h3&gt;
&lt;p&gt;이 파일을 웹 서버의 루트 디렉토리, 즉 &lt;code&gt;/var/www/html/&lt;/code&gt; 경로에 저장하면 됩니다.&lt;/p&gt;
&lt;h3&gt;동작 원리&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;meta&lt;/code&gt; 태그의 &lt;code&gt;http-equiv="refresh"&lt;/code&gt; 속성이 브라우저에 0초 후 &lt;code&gt;/wordpress/&lt;/code&gt;로 이동하라고 지시합니다.&lt;/li&gt;
    &lt;li&gt;사용자가 JavaScript를 비활성화했거나 자동 리디렉션이 실패한 경우를 대비해 클릭 가능한 링크&lt;/li&gt;
&lt;/ul&gt;</content><category term="우분투"></category></entry><entry><title>워드프레스 미디어 2M 이상 파일 업로드 할 수 있도록 설정하는 방법</title><link href="/posts/weodeupeureseu-midieo-2m-isang-pail-eobrodeu-hal-su-issdorog-seoljeonghaneun-bangbeob.html" rel="alternate"></link><published>2024-12-11T11:48:00+09:00</published><updated>2024-12-11T11:48:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-11:/posts/weodeupeureseu-midieo-2m-isang-pail-eobrodeu-hal-su-issdorog-seoljeonghaneun-bangbeob.html</id><summary type="html">&lt;div class="flex-shrink-0 flex flex-col relative items-end"&gt;
&lt;div&gt;
&lt;div class="pt-0"&gt;
&lt;div class="gizmo-bot-avatar flex h-8 w-8 items-center justify-center overflow-hidden rounded-full"&gt;
&lt;div class="relative p-1 rounded-sm flex items-center justify-center bg-token-main-surface-primary text-token-text-primary h-8 w-8"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words text-start [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="8f60a77c-6a23-43c0-bd0e-b26f60173c58" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

워드프레스에서 기본적으로 허용하는 최대 파일 업로드 크기는 서버의 PHP …&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</summary><content type="html">&lt;div class="flex-shrink-0 flex flex-col relative items-end"&gt;
&lt;div&gt;
&lt;div class="pt-0"&gt;
&lt;div class="gizmo-bot-avatar flex h-8 w-8 items-center justify-center overflow-hidden rounded-full"&gt;
&lt;div class="relative p-1 rounded-sm flex items-center justify-center bg-token-main-surface-primary text-token-text-primary h-8 w-8"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words text-start [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="8f60a77c-6a23-43c0-bd0e-b26f60173c58" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

워드프레스에서 기본적으로 허용하는 최대 파일 업로드 크기는 서버의 PHP 설정에 따라 제한됩니다. 2MB 이상의 파일을 업로드할 수 있도록 설정하려면, 다음 단계를 따라야 합니다.

&lt;hr /&gt;

&lt;h3&gt;1. &lt;strong&gt;PHP 설정 변경하기&lt;/strong&gt;&lt;/h3&gt;
PHP 설정 파일(&lt;code&gt;php.ini&lt;/code&gt;)을 수정하여 업로드 제한을 늘릴 수 있습니다.
&lt;h4&gt;수정 방법:&lt;/h4&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;PHP 설정 파일 열기&lt;/strong&gt;
서버에 접속하여 &lt;code&gt;php.ini&lt;/code&gt; 파일을 찾습니다. (일반적으로 &lt;code&gt;/etc/php/버전번호/apache2/php.ini&lt;/code&gt; 경로에 위치)&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;설정 값 변경&lt;/strong&gt;
아래와 같은 설정 값을 수정하거나 추가하세요:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;ini&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-ini"&gt;&lt;span class="hljs-attr"&gt;upload_max_filesize&lt;/span&gt; = &lt;span class="hljs-number"&gt;64&lt;/span&gt;M
&lt;span class="hljs-attr"&gt;post_max_size&lt;/span&gt; = &lt;span class="hljs-number"&gt;64&lt;/span&gt;M
&lt;span class="hljs-attr"&gt;max_execution_time&lt;/span&gt; = &lt;span class="hljs-number"&gt;300&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;upload_max_filesize&lt;/code&gt;: 업로드 가능한 파일의 최대 크기 (예: 64M)&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;post_max_size&lt;/code&gt;: POST 요청 시 최대 허용 크기 (예: 64M)&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;max_execution_time&lt;/code&gt;: 스크립트 실행 제한 시간 (초)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Apache 서버 재시작&lt;/strong&gt;
설정 변경 후, Apache를 재시작해야 적용됩니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo systemctl restart apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;2. &lt;strong&gt;&lt;code&gt;.htaccess&lt;/code&gt; 파일 수정&lt;/strong&gt;&lt;/h3&gt;
워드프레스가 설치된 디렉토리에 있는 &lt;code&gt;.htaccess&lt;/code&gt; 파일을 열어 설정을 추가할 수 있습니다.
&lt;h4&gt;추가할 내용:&lt;/h4&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;apache&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;php_value upload_max_filesize 64M
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;php_value post_max_size 64M
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;php_value max_execution_time 300&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;php_value max_input_time 300&lt;/code&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;----------------&lt;/div&gt;
&lt;div dir="ltr"&gt;

&lt;code&gt;php.ini&lt;/code&gt;  파일 내용중

; File Uploads ;

---------------------------------------

; Whether to allow HTTP file uploads.

; https://php.net/file-uploads

file_uploads = On

&amp;nbsp;

; Temporary directory for HTTP uploaded files (will use system default if not

; specified).

; https://php.net/upload-tmp-dir

;upload_tmp_dir =

&amp;nbsp;

; Maximum allowed size for uploaded files.

; https://php.net/upload-max-filesize

upload_max_filesize = 150M

&amp;nbsp;

; Maximum number of files that can be uploaded via a single request

max_file_uploads = 100

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><category term="우분투"></category></entry><entry><title>우분투 완전 초기화</title><link href="/posts/ubuntu-wanjeon-cogihwa.html" rel="alternate"></link><published>2024-12-05T11:46:00+09:00</published><updated>2024-12-05T11:46:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-05:/posts/ubuntu-wanjeon-cogihwa.html</id><summary type="html">&lt;p&gt;우분투를 완전 초기화하려면, 아래의 과정을 통해 시스템을 초기 상태로 되 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;우분투를 완전 초기화하려면, 아래의 과정을 통해 시스템을 초기 상태로 되돌릴 수 있습니다. 초기화 방식은 현재 상태에 따라 달라질 수 있습니다.&lt;/p&gt;
&lt;h2&gt;1. &lt;strong&gt;재설치로 초기화&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;가장 확실한 방법은 운영체제를 재설치하는 것입니다.&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;필요한 데이터 백업&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;재설치 시 모든 데이터가 삭제됩니다. 중요한 파일은 외장하드나 클라우드에 백업하세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;우분투 설치 USB 제작&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="https://ubuntu.com/download" target="_new" rel="noopener"&gt;우분투 공식 사이트&lt;/a&gt;에서 ISO 파일을 다운로드합니다.&lt;/li&gt;
    &lt;li&gt;Rufus(Windows)나 balenaEtcher(macOS/Linux)를 사용하여 부팅 가능한 USB를 만듭니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;설치 실행&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;USB를 사용하여 컴퓨터를 부팅하고, &lt;code&gt;Ubuntu 설치&lt;/code&gt; 옵션을 선택합니다.&lt;/li&gt;
    &lt;li&gt;"디스크를 지우고 우분투 설치"를 선택하면 시스템이 초기화됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2&gt;2. &lt;strong&gt;설정 초기화&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;현재 설치된 상태를 유지하며 소프트웨어와 설정만 초기화하려면:&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;사용자 데이터와 설정 삭제&lt;/strong&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo &lt;span class="hljs-built_in"&gt;rm&lt;/span&gt; -rf /home/사용자이름/*
sudo &lt;span class="hljs-built_in"&gt;rm&lt;/span&gt; -rf /home/사용자이름/.*
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
위 명령어로 사용자 데이터와 설정 파일을 삭제합니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;설치된 프로그램 제거&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;모든 추가 패키지를 제거하고 기본 패키지만 유지:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt-get purge $(dpkg --get-selections | grep -v deinstall | awk &lt;span class="hljs-string"&gt;'{print $1}'&lt;/span&gt;)
sudo apt-get autoremove --purge&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;APT 캐시 초기화&lt;/strong&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt-get clean
sudo apt-get autoclean
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;시스템 업데이트 재설정&lt;/strong&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2&gt;3. &lt;strong&gt;시스템 공장 초기화 도구 사용 (재설치 없이 초기화)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;우분투 20.04 이상 버전에서는 &lt;code&gt;Rescue mode&lt;/code&gt; 또는 &lt;code&gt;Ubuntu 재설치 옵션&lt;/code&gt;을 사용할 수 있습니다:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;컴퓨터 부팅 시 &lt;strong&gt;Shift 키&lt;/strong&gt;를 눌러 GRUB 메뉴로 진입.&lt;/li&gt;
    &lt;li&gt;"Advanced options" → "Recovery mode" 선택.&lt;/li&gt;
    &lt;li&gt;"Factory Reset" 또는 "Reset Ubuntu"와 비슷한 옵션을 실행.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2&gt;4. &lt;strong&gt;디스크 초기화&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;디스크를 완전히 밀고 싶다면:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo &lt;span class="hljs-built_in"&gt;dd&lt;/span&gt; &lt;span class="hljs-keyword"&gt;if&lt;/span&gt;=/dev/zero of=/dev/sdX bs=1M
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;여기서 &lt;code&gt;sdX&lt;/code&gt;는 초기화하려는 디스크 이름입니다. (주의: 부팅 디스크를 지정하지 마세요.)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;위 과정 중 &lt;strong&gt;1번 재설치&lt;/strong&gt;가 가장 간단하고 오류 가능성이 적습니다&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>Flask 사용법</title><link href="/posts/flask-sayongbeob.html" rel="alternate"></link><published>2024-12-04T04:28:00+09:00</published><updated>2024-12-04T04:28:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-04:/posts/flask-sayongbeob.html</id><summary type="html">&lt;p&gt;Flask는 Python으로 간단하고 빠르게 웹 애플리케이션을 만들 수 있는 마이크로 웹 프레임 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Flask는 Python으로 간단하고 빠르게 웹 애플리케이션을 만들 수 있는 마이크로 웹 프레임워크입니다. Flask의 기본적인 사용법을 단계별로 설명드리겠습니다.&lt;/p&gt;
&lt;h3&gt;1. Flask 기본 설정&lt;/h3&gt;
&lt;p&gt;Flask 애플리케이션을 생성하려면 먼저 Flask 라이브러리를 설치해야 합니다. 설치가 끝나면 다음과 같이 간단한 웹 서버를 구성할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;# app.py
from flask import Flask

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;app = Flask(__name__)

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;@app.route("/")
def home():
return "Hello, Flask!"

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;if __name__ == "__main__":
app.run(debug=True)

&lt;code class="!whitespace-pre hljs language-python"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;app = Flask(__name__)&lt;/code&gt;: Flask 애플리케이션 객체를 만듭니다.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;@app.route("/")&lt;/code&gt;: 경로 설정으로, &lt;code&gt;"/"&lt;/code&gt; URL로 접속 시 &lt;code&gt;home()&lt;/code&gt; 함수가 실행됩니다.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;app.run(debug=True)&lt;/code&gt;: Flask 서버를 시작합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. 라우팅&lt;/h3&gt;
&lt;p&gt;Flask에서 URL을 관리하려면 라우팅을 설정합니다. 다양한 경로를 &lt;code&gt;@app.route()&lt;/code&gt; 데코레이터로 설정할 수 있으며, 동적 URL도 설정할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;@app.route("/hello")
def hello():
return "Hello, World!"

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;@app.route("/user/&amp;lt;username&amp;gt;")
def user_profile(username):
return f"User: {username}"

&lt;code class="!whitespace-pre hljs language-python"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;/hello&lt;/code&gt; 경로에 접속 시 "Hello, World!"를 반환합니다.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;/user/&amp;lt;username&amp;gt;&lt;/code&gt; 경로는 &lt;code&gt;username&lt;/code&gt;을 매개변수로 받아 동적으로 사용자 페이지를 표시합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;3. 템플릿 사용&lt;/h3&gt;
&lt;p&gt;HTML을 직접 반환하는 대신 &lt;strong&gt;Jinja2&lt;/strong&gt; 템플릿을 사용하여 HTML 파일을 렌더링할 수 있습니다. 템플릿 파일은 프로젝트의 &lt;code&gt;templates&lt;/code&gt; 폴더에 위치시킵니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;프로젝트 구조&lt;/strong&gt;&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;my_flask_app/
├── app.py
└── templates/
└── index.html&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;템플릿 파일 (templates/index.html)&lt;/strong&gt;&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-html"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset="UTF-8"&amp;gt;
&amp;lt;title&amp;gt;Flask App&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h1&amp;gt;Welcome, {{ name }}!&amp;lt;/h1&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/div&gt;
&lt;div dir="ltr"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Flask에서 템플릿 렌더링&lt;/strong&gt;&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;

from flask import render_template

@app.route("/welcome/&amp;lt;name&amp;gt;")
def welcome(name):
return render_template("index.html", name=name)

&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;render_template()&lt;/code&gt; 함수는 &lt;code&gt;templates/&lt;/code&gt; 폴더에서 지정한 템플릿 파일을 렌더링합니다.&lt;/li&gt;
    &lt;li&gt;템플릿 파일에서 &lt;code&gt;{{ name }}&lt;/code&gt;을 사용해 Python 데이터를 HTML로 전달할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;4. HTTP 메서드 처리&lt;/h3&gt;
&lt;p&gt;Flask에서는 GET, POST와 같은 HTTP 메서드에 따라 다른 처리를 할 수 있습니다. POST 메서드를 사용하여 데이터를 제출하거나 요청을 처리하는 기능을 만들어보겠습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;

from flask import request

@app.route("/submit", methods=["GET", "POST"])
def submit():
if request.method == "POST":
username = request.form["username"]
return f"Hello, {username}!"
return '''
&amp;lt;form method="post"&amp;gt;
Username: &amp;lt;input type="text" name="username"&amp;gt;
&amp;lt;input type="submit" value="Submit"&amp;gt;
&amp;lt;/form&amp;gt;
'''

&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;request&lt;/code&gt; 객체를 사용하여 GET 또는 POST 요청에서 데이터를 가져옵니다.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;request.form&lt;/code&gt;은 HTML 폼 데이터에 접근합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;5. 리다이렉트와 URL 생성&lt;/h3&gt;
&lt;p&gt;사용자를 다른 페이지로 리다이렉트하거나, URL을 생성할 때 &lt;code&gt;redirect()&lt;/code&gt;와 &lt;code&gt;url_for()&lt;/code&gt; 함수를 사용할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;

from flask import redirect, url_for

@app.route("/")
def index():
return redirect(url_for("hello"))

@app.route("/hello")
def hello():
return "Hello, redirected!"

&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;url_for("함수명")&lt;/code&gt;을 사용하여 해당 함수로 연결된 URL을 생성하고 &lt;code&gt;redirect()&lt;/code&gt;로 해당 경로로 리다이렉트할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;6. 플라스크에서 데이터베이스 연동&lt;/h3&gt;
&lt;p&gt;Flask는 데이터베이스 연동 시 &lt;strong&gt;Flask-SQLAlchemy&lt;/strong&gt;를 주로 사용합니다. SQLAlchemy는 Python의 ORM 라이브러리로, 데이터베이스와 쉽게 연동할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;span class="" data-state="closed"&gt;&lt;button class="flex gap-1 items-center select-none py-1"&gt;코드 복사&lt;/button&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;pip install Flask-SQLAlchemy&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;app.py&lt;/strong&gt;&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;from flask import Flask
from flask_sqlalchemy import SQLAlchemy

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///test.db" # 데이터베이스 경로 설정
db = SQLAlchemy(app)

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;# 데이터베이스 모델 정의
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;@app.route("/add_user/&amp;lt;name&amp;gt;")
def add_user(name):
new_user = User(name=name)
db.session.add(new_user)
db.session.commit()
return f"User {name} added."

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;if __name__ == "__main__":
db.create_all() # 테이블 생성
app.run(debug=True)

&lt;code class="!whitespace-pre hljs language-python"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;db.create_all()&lt;/code&gt;을 통해 모델에 기반한 데이터베이스 테이블을 생성합니다.&lt;/li&gt;
    &lt;li&gt;SQLAlchemy를 사용하여 데이터를 삽입, 조회, 업데이트, 삭제할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;7. Flask 실행&lt;/h3&gt;
&lt;p&gt;Flask 애플리케이션을 실행하려면 다음과 같이 실행할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;export&lt;/span&gt; FLASK_APP=app.py
flask run
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;또는 Python으로 직접 실행할 수도 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;python app.py
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;요약&lt;/h3&gt;
&lt;p&gt;Flask를 사용하여 기본적인 웹 애플리케이션을 구축할 수 있습니다. 핵심 개념으로는 &lt;strong&gt;라우팅&lt;/strong&gt;, &lt;strong&gt;템플릿 렌더링&lt;/strong&gt;, &lt;strong&gt;HTTP 요청 처리&lt;/strong&gt;, &lt;strong&gt;리다이렉트와 URL 생성&lt;/strong&gt; 등이 있으며, SQLAlchemy와 같은 ORM을 활용하여 데이터베이스 연동도 할 수 있습니다. Flask는 필요에 따라 확장성을 높일 수 있어, 소규모 프로젝트에서 대규모 프로젝트로 확장할 때도 매우 유용한 프레임워크입니다.&lt;/p&gt;</content><category term="파이썬"></category></entry><entry><title>우분투에서 Flask 설치</title><link href="/posts/ubuntueseo-flask-seolci.html" rel="alternate"></link><published>2024-12-04T04:23:00+09:00</published><updated>2024-12-04T04:23:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-04:/posts/ubuntueseo-flask-seolci.html</id><summary type="html">&lt;p&gt;Ubuntu에서 Flask를 설치하는 방법을 안내드리겠습니다. Flask는 Python 패키지 관리자인 &lt;code&gt;pip&lt;/code&gt;을 통해 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Ubuntu에서 Flask를 설치하는 방법을 안내드리겠습니다. Flask는 Python 패키지 관리자인 &lt;code&gt;pip&lt;/code&gt;을 통해 간편하게 설치할 수 있으며, 가상 환경을 사용하는 것이 권장됩니다.&lt;/p&gt;
&lt;h3&gt;1. Python과 pip 설치 확인&lt;/h3&gt;
&lt;p&gt;먼저 Python과 pip이 설치되어 있는지 확인합니다. Ubuntu 20.04 이상 버전에서는 Python3가 기본 설치되어 있지만, 그렇지 않은 경우 아래와 같이 설치할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt update
sudo apt install python3 python3-pip
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;설치 확인:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;python3 --version
pip3 --version
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;2. Python 가상 환경 만들기&lt;/h3&gt;
&lt;p&gt;가상 환경을 만들어 Python 패키지들이 시스템에 영향을 주지 않도록 하는 것이 좋습니다. 가상 환경을 사용하면 프로젝트마다 독립적으로 패키지를 관리할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt install python3-venv  &lt;span class="hljs-comment"&gt;# 가상 환경 패키지 설치 (필요한 경우)&lt;/span&gt;
python3 -m venv my_flask_env  &lt;span class="hljs-comment"&gt;# my_flask_env라는 가상 환경 생성&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;가상 환경을 활성화합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;source&lt;/span&gt; my_flask_env/bin/activate
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;활성화가 완료되면 &lt;code&gt;(my_flask_env)&lt;/code&gt;라는 프롬프트가 표시됩니다.&lt;/p&gt;
&lt;h3&gt;3. Flask 설치&lt;/h3&gt;
&lt;p&gt;가상 환경이 활성화된 상태에서 Flask를 설치합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;pip install Flask
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;설치가 완료되면 Flask 버전을 확인하여 정상 설치되었는지 확인할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;flask --version
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;4. 간단한 Flask 애플리케이션 실행&lt;/h3&gt;
&lt;p&gt;Flask 설치를 확인하기 위해 간단한 애플리케이션을 만들어 봅니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;app.py&lt;/strong&gt;라는 파일을 생성하고 다음과 같이 작성합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;&lt;/div&gt;
&lt;p&gt;from flask import Flask&lt;/p&gt;
&lt;p&gt;app = Flask(&lt;strong&gt;name&lt;/strong&gt;)&lt;/p&gt;
&lt;p&gt;@app.route("/")
def hello():
return "Hello, Flask on Ubuntu!"&lt;/p&gt;
&lt;p&gt;if &lt;strong&gt;name&lt;/strong&gt; == "&lt;strong&gt;main&lt;/strong&gt;":
app.run()&lt;/p&gt;
&lt;h3&gt;5.Flask 애플리케이션 실행&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;FLASK_APP&lt;/code&gt; 환경 변수를 설정하고 Flask 애플리케이션을 실행합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;span class="" data-state="closed"&gt;&lt;button class="flex gap-1 items-center select-none py-1"&gt;코드 복사&lt;/button&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;export&lt;/span&gt; FLASK_APP=app.py
flask run
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;이 명령어로 애플리케이션이 실행되며, 기본적으로 &lt;code&gt;http://127.0.0.1:5000&lt;/code&gt;에서 Flask 애플리케이션을 확인할 수 있습니다.&lt;/p&gt;
&lt;p&gt;이제 Ubuntu에서 Flask가 정상적으로 설치되고 실행된 것을 확인할 수 있습니다.&lt;/p&gt;</content><category term="파이썬"></category></entry><entry><title>파이썬 Flask 설명서</title><link href="/posts/paisseon-flask-seolmyeongseo.html" rel="alternate"></link><published>2024-12-04T04:20:00+09:00</published><updated>2024-12-04T04:20:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-04:/posts/paisseon-flask-seolmyeongseo.html</id><summary type="html">&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-9" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="362198e6-376f-43c6-996b-f50c0541b8be" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

Flask는 Python으로 작성된 가볍고 유연한 웹 프레임워크로, 단순한 웹 사이트에서부터 복 …&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/article&gt;</summary><content type="html">&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-9" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="362198e6-376f-43c6-996b-f50c0541b8be" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

Flask는 Python으로 작성된 가볍고 유연한 웹 프레임워크로, 단순한 웹 사이트에서부터 복잡한 웹 애플리케이션까지 손쉽게 구축할 수 있도록 해줍니다. Flask는 최소한의 코드로 웹 애플리케이션을 만들 수 있는 &lt;strong&gt;마이크로 프레임워크&lt;/strong&gt;로, 다음과 같은 특징을 가집니다.
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;간결성&lt;/strong&gt;: 복잡한 설정이나 대규모 구조 없이 간단한 코드로 서버를 시작할 수 있습니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;확장성&lt;/strong&gt;: 필요한 기능만 확장해서 사용할 수 있습니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Jinja2 템플릿 엔진&lt;/strong&gt;: HTML 템플릿을 쉽게 관리하고 데이터와의 연동을 편리하게 해주는 템플릿 엔진을 제공합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Flask 설치&lt;/h3&gt;
Flask는 Python 패키지 관리자인 pip를 통해 설치할 수 있습니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;pip install Flask
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;기본 Flask 애플리케이션 작성&lt;/h3&gt;
다음은 가장 간단한 Flask 애플리케이션 예제입니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;from flask import Flask

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;app = Flask(__name__)

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;@app.route("/")
def hello():
return "Hello, World!"

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;if __name__ == "__main__":
app.run(debug=True)

&lt;code class="!whitespace-pre hljs language-python"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;주요 설명&lt;/h4&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Flask 객체 생성&lt;/strong&gt;: &lt;code&gt;app = Flask(__name__)&lt;/code&gt;는 Flask 애플리케이션 객체를 만듭니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;라우트 설정&lt;/strong&gt;: &lt;code&gt;@app.route("/")&lt;/code&gt;는 URL 경로를 지정하여 특정 경로로 들어온 요청에 대해 함수를 실행합니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;서버 실행&lt;/strong&gt;: &lt;code&gt;app.run()&lt;/code&gt;을 통해 Flask 서버를 실행합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Flask 주요 기능&lt;/h3&gt;
&lt;h4&gt;1. 라우팅&lt;/h4&gt;
라우팅은 URL과 함수를 연결하는 것으로, 다양한 URL 경로에 따라 서로 다른 페이지나 데이터를 보여줄 수 있습니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;&lt;/div&gt;
@app.route("/hello")
def hello():
return "Hello, Flask!"

@app.route("/user/&amp;lt;username&amp;gt;")
def show_user_profile(username):
return f"User: {username}"
&lt;h4&gt;2. 템플릿 렌더링&lt;/h4&gt;
Flask는 Jinja2 템플릿 엔진을 사용하여 HTML 템플릿에 동적으로 데이터를 전달할 수 있습니다.

&lt;strong&gt;템플릿 파일&lt;/strong&gt;을 &lt;code&gt;templates/&lt;/code&gt; 폴더에 작성합니다.
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;templates/index.html&lt;/code&gt; 예제:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-html"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset="UTF-8"&amp;gt;
&amp;lt;title&amp;gt;Flask App&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h1&amp;gt;Hello, {{ name }}!&amp;lt;/h1&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;strong&gt;Flask에서 템플릿 렌더링&lt;/strong&gt;:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;&lt;/div&gt;
from flask import render_template

@app.route("/greet/&amp;lt;name&amp;gt;")
def greet(name):
return render_template("index.html", name=name)

&lt;code&gt;render_template()&lt;/code&gt; 함수는 &lt;code&gt;templates/&lt;/code&gt; 폴더 내의 &lt;code&gt;index.html&lt;/code&gt;을 찾아 렌더링하며, &lt;code&gt;name&lt;/code&gt; 변수를 템플릿으로 전달합니다.
&lt;h4&gt;3.요청 처리&lt;/h4&gt;
Flask는 GET 및 POST 요청을 처리할 수 있습니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;from flask import request

@app.route("/submit", methods=["GET", "POST"])
def submit():
if request.method == "POST":
name = request.form["name"]
return f"Hello, {name}!"
return '''
&amp;lt;form method="post"&amp;gt;
Name: &amp;lt;input type="text" name="name"&amp;gt;
&amp;lt;input type="submit" value="Submit"&amp;gt;
&amp;lt;/form&amp;gt;&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;request&lt;/code&gt; 객체를 통해 POST 데이터에 접근할 수 있으며, 사용자가 제출한 데이터를 서버에서 처리할 수 있습니다.
'''&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;4. 리다이렉트 및 URL 생성&lt;/h4&gt;
&lt;code&gt;redirect()&lt;/code&gt;와 &lt;code&gt;url_for()&lt;/code&gt; 함수를 사용하면 URL을 생성하고 리다이렉트할 수 있습니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;from flask import redirect, url_for

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;@app.route("/")
def index():
return redirect(url_for("hello"))

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;@app.route("/hello")
def hello():
return "Hello, Flask!"

&lt;code class="!whitespace-pre hljs language-python"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;url_for("hello")&lt;/code&gt;는 &lt;code&gt;hello&lt;/code&gt; 함수가 매핑된 URL로 이동하게 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;5. Flask와 데이터베이스 연동&lt;/h4&gt;
Flask는 SQLAlchemy와 같은 ORM(Object Relational Mapping) 라이브러리를 지원하여 데이터베이스와 연동할 수 있습니다. 예를 들어, SQLite와 연동하는 간단한 코드 예시는 다음과 같습니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;from flask_sqlalchemy import SQLAlchemy

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///test.db"
db = SQLAlchemy(app)

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;@app.route("/add_user/&amp;lt;name&amp;gt;")
def add_user(name):
user = User(name=name)
db.session.add(user)
db.session.commit()
return f"Added user {name}."

&lt;code class="!whitespace-pre hljs language-python"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;SQLAlchemy&lt;/code&gt;를 사용하면 Python 객체와 데이터베이스 테이블을 매핑하여 데이터 관리를 쉽게 할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;6. Flask 실행&lt;/h4&gt;
일반적으로 다음 명령어로 Flask 애플리케이션을 실행합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;python app.py
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
또는 &lt;code&gt;FLASK_APP&lt;/code&gt; 환경 변수를 설정하여 실행할 수도 있습니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;export&lt;/span&gt; FLASK_APP=app.py
flask run
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
이 명령어로 애플리케이션을 실행한 뒤, &lt;code&gt;http://127.0.0.1:5000&lt;/code&gt;에서 접속하여 웹 애플리케이션을 테스트할 수 있습니다.

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="mb-2 flex gap-3 empty:hidden -ml-2"&gt;
&lt;div class="items-center justify-start rounded-xl p-1 z-10 -mt-1 bg-token-main-surface-primary md:absolute flex"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;
&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-10" data-scroll-anchor="false"&gt;
&lt;h5 class="sr-only"&gt;&lt;/h5&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="user" data-message-id="aaa22a52-7fd8-4b3d-8c91-a1c3b8c144b7"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden items-end rtl:items-start"&gt;
&lt;div class="relative max-w-[70%] rounded-3xl bg-token-message-surface px-5 py-2.5"&gt;
&lt;div class="whitespace-pre-wrap"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;</content><category term="파이썬"></category></entry><entry><title>파이썬과 아파치 연동하는 방법은?</title><link href="/posts/paisseongwa-apaci-yeondonghaneun-bangbeobeun.html" rel="alternate"></link><published>2024-12-04T04:13:00+09:00</published><updated>2024-12-04T04:13:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-04:/posts/paisseongwa-apaci-yeondonghaneun-bangbeobeun.html</id><summary type="html">&lt;p&gt;Python과 Apache HTTP 서버를 연동하여 웹 애플리케이션을 배포하는 방법으로는 &lt;strong&gt;WSGI(Web Server …&lt;/strong&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;Python과 Apache HTTP 서버를 연동하여 웹 애플리케이션을 배포하는 방법으로는 &lt;strong&gt;WSGI(Web Server Gateway Interface)&lt;/strong&gt; 모듈을 사용하는 방법이 일반적입니다. Apache에서는 &lt;strong&gt;mod_wsgi&lt;/strong&gt; 모듈을 사용하여 Python 애플리케이션을 실행할 수 있습니다. 여기서는 Python Flask 애플리케이션을 Apache 서버와 연동하는 과정을 설명하 겠습니다.&lt;/p&gt;
&lt;h3&gt;1. 환경 준비&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt;이 설치되어 있어야 하고, Flask 같은 &lt;strong&gt;Python 웹 프레임워크&lt;/strong&gt;가 필요합니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Apache&lt;/strong&gt; 서버가 설치되어 있어야 하며, Apache에 &lt;code&gt;mod_wsgi&lt;/code&gt; 모듈을 추가로 설치해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. mod_wsgi 설치&lt;/h3&gt;
&lt;p&gt;먼저 mod_wsgi를 설치합니다. Ubuntu를 사용하고 있다면, 다음 명령어로 설치할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt-get update
sudo apt-get install libapache2-mod-wsgi-py3
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;설치가 완료되면 Apache 서버에 &lt;code&gt;mod_wsgi&lt;/code&gt;가 추가됩니다.&lt;/p&gt;
&lt;h3&gt;3. Flask 애플리케이션 준비&lt;/h3&gt;
&lt;p&gt;Flask 애플리케이션을 준비합니다. 예를 들어, &lt;code&gt;my_flask_app&lt;/code&gt;이라는 Flask 프로젝트 디렉토리 안에 &lt;code&gt;app.py&lt;/code&gt; 파일을 생성하여 기본적인 Flask 애플리케이션을 작성합니다.&lt;/p&gt;
&lt;h4&gt;디렉토리 구조&lt;/h4&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;&lt;/div&gt;
&lt;h4&gt;&lt;code&gt;my_flask_app/
├── app.py # Flask 애플리케이션 메인 파일
├── myapp.wsgi # WSGI 파일 (Apache가 Flask 앱을 인식하도록 함)
└── templates/ # HTML 파일들이 저장되는 폴더
└── index.html

&lt;/code&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;code&gt;p.py&lt;/code&gt; 예제&lt;/h4&gt;
&lt;p&gt;from flask import Flask&lt;/p&gt;
&lt;p&gt;app = Flask(&lt;strong&gt;name&lt;/strong&gt;)&lt;/p&gt;
&lt;p&gt;@app.route('/')
def hello():
return "Hello, World! This is served by Apache and Flask."&lt;/p&gt;
&lt;p&gt;if &lt;strong&gt;name&lt;/strong&gt; == "&lt;strong&gt;main&lt;/strong&gt;":
app.run()&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;4. WSGI 파일 생성 (&lt;code&gt;myapp.wsgi&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;Apache 서버가 Flask 애플리케이션을 인식할 수 있도록 WSGI 파일을 생성합니다. &lt;code&gt;my_flask_app&lt;/code&gt; 디렉토리 내에 &lt;code&gt;myapp.wsgi&lt;/code&gt; 파일을 작성합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;&lt;/div&gt;
&lt;p&gt;import sys
import os
from app import app as application&lt;/p&gt;
&lt;h1&gt;애플리케이션 경로 설정&lt;/h1&gt;
&lt;p&gt;sys.path.insert(0, os.path.dirname(&lt;strong&gt;file&lt;/strong&gt;))&lt;/p&gt;
&lt;h3&gt;5. Apache 설정 파일 수정&lt;/h3&gt;
&lt;p&gt;Apache 설정 파일을 수정하여 Flask 애플리케이션을 서비스하도록 설정합니다. 이 설정 파일은 보통 &lt;code&gt;/etc/apache2/sites-available/000-default.conf&lt;/code&gt; 또는 새로 구성한 VirtualHost 파일입니다.&lt;/p&gt;
&lt;h4&gt;Apache 설정 예시&lt;/h4&gt;
&lt;p&gt;Apache 설정 파일에 다음과 같은 구성을 추가합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;&lt;/div&gt;
&lt;p&gt;&amp;lt;VirtualHost *:80&amp;gt;
ServerName myflaskapp.com # 도메인 이름 (또는 IP 주소)&lt;/p&gt;
&lt;p&gt;WSGIDaemonProcess myapp python-path=/path/to/my_flask_app python-home=/path/to/venv
WSGIScriptAlias / /path/to/my_flask_app/myapp.wsgi&lt;/p&gt;
&lt;p&gt;&amp;lt;Directory /path/to/my_flask_app&amp;gt;
Require all granted
&amp;lt;/Directory&amp;gt;&lt;/p&gt;
&lt;p&gt;ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
&amp;lt;/VirtualHost&amp;gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;WSGIDaemonProcess&lt;/strong&gt;: &lt;code&gt;python-path&lt;/code&gt;는 Flask 애플리케이션이 있는 경로를 지정하고, &lt;code&gt;python-home&lt;/code&gt;은 Python 가상 환경 경로를 지정합니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;WSGIScriptAlias&lt;/strong&gt;: Apache가 요청을 &lt;code&gt;myapp.wsgi&lt;/code&gt; 파일로 전달하도록 설정합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;6. Apache 서버 재시작&lt;/h3&gt;
&lt;p&gt;설정 파일을 저장한 후, Apache 서버를 재시작하여 변경사항을 적용합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo service apache2 restart
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;7. 접속 확인&lt;/h3&gt;
&lt;p&gt;웹 브라우저에서 &lt;code&gt;http://your-domain.com&lt;/code&gt; 또는 &lt;code&gt;http://your-server-ip&lt;/code&gt;로 접속하여 Flask 애플리케이션이 정상적으로 Apache를 통해 서비스되는지 확인합니다.&lt;/p&gt;
&lt;p&gt;이 과정이 완료되면 Apache 서버와 Python Flask 애플리케이션이 연동되어, Apache를 통해 Python 웹 애플리케이션을 서비스할 수 있습니다.&lt;/p&gt;</content><category term="메인"></category></entry><entry><title>파이션과 html5 연동방법</title><link href="/posts/paisyeongwa-html5-yeondongbangbeob.html" rel="alternate"></link><published>2024-12-04T04:07:00+09:00</published><updated>2024-12-04T04:07:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-04:/posts/paisyeongwa-html5-yeondongbangbeob.html</id><summary type="html">&lt;p&gt;Python과 HTML5를 연동하여 웹 애플리케이션을 만드는 방법에는 주로 &lt;strong&gt;Flask&lt;/strong&gt;나 &lt;strong&gt;Django&lt;/strong&gt;와 같은 Python …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Python과 HTML5를 연동하여 웹 애플리케이션을 만드는 방법에는 주로 &lt;strong&gt;Flask&lt;/strong&gt;나 &lt;strong&gt;Django&lt;/strong&gt;와 같은 Python 웹 프레임워크를 사용합니다. 여기서는 Flask를 예로 들어 설명드리겠습니다. Flask는 비교적 간단하면서도 유연하게 HTML과 연동할 수 있어 학습이나 프로젝트에 많이 사용됩니다.&lt;/p&gt;
&lt;h3&gt;1. Flask 설치&lt;/h3&gt;
&lt;p&gt;먼저, Flask를 설치해야 합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;pip install Flask
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;2. Flask 앱 기본 구조 만들기&lt;/h3&gt;
&lt;p&gt;Flask 프로젝트 디렉토리를 생성하고, 필요한 파일을 설정합니다.&lt;/p&gt;
&lt;h4&gt;프로젝트 구조 예시:&lt;/h4&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-csharp"&gt;my_flask_app/
│
├── app.py # Flask 애플리케이션 메인 파일
├── templates/ # HTML 파일들이 저장되는 폴더
│ └── index.html # 기본 HTML 파일
└── static/ # CSS, JavaScript, 이미지 등 정적 파일들이 저장되는 폴더
└── style.css # CSS 파일
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;3. Flask 애플리케이션 파일 (&lt;code&gt;app.py&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;app.py&lt;/code&gt; 파일을 생성하고, HTML 파일을 렌더링하는 기본 코드를 작성합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;from flask import Flask, render_template

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;app = Flask(__name__)

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;# HTML 페이지를 렌더링하는 라우트
@app.route('/')
def home():
return render_template('index.html') # templates 폴더의 index.html 파일 렌더링

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;if __name__ == '__main__':
app.run(debug=True)

&lt;code class="!whitespace-pre hljs language-python"&gt;
&lt;/code&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;4. HTML 파일 작성 (&lt;code&gt;templates/index.html&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;templates&lt;/code&gt; 폴더에 &lt;code&gt;index.html&lt;/code&gt; 파일을 생성하고 HTML5 문서를 작성합니다. Flask에서는 &lt;code&gt;{{ }}&lt;/code&gt;와 &lt;code&gt;{% %}&lt;/code&gt; 구문을 사용해 Python 변수를 HTML에 전달하거나, 조건문, 반복문 등을 사용할 수 있습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-html"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset="UTF-8"&amp;gt;
&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
&amp;lt;title&amp;gt;Flask and HTML5 Example&amp;lt;/title&amp;gt;
&amp;lt;link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h1&amp;gt;Welcome to Flask with HTML5!&amp;lt;/h1&amp;gt;
&amp;lt;p&amp;gt;{{ message }}&amp;lt;/p&amp;gt; &amp;lt;!-- Python에서 전달된 변수 표시 --&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;5. Flask에서 변수 전달하기&lt;/h3&gt;
&lt;p&gt;Flask의 &lt;code&gt;render_template&lt;/code&gt; 함수에서 &lt;code&gt;index.html&lt;/code&gt;로 변수를 전달해 보겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;app.py&lt;/code&gt;에 코드를 추가합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;@app.route('/')
def home():
return render_template('index.html', message="Hello from Flask!")
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;6. CSS 및 JavaScript 파일 추가 (&lt;code&gt;static/style.css&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;static&lt;/code&gt; 폴더에 &lt;code&gt;style.css&lt;/code&gt; 파일을 생성하여 HTML에 스타일을 적용합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-css"&gt;/* style.css */
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
text-align: center;
padding: 50px;
}
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;7. 서버 실행&lt;/h3&gt;
&lt;p&gt;마지막으로 Flask 서버를 실행합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;python app.py
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;웹 브라우저에서 &lt;code&gt;http://127.0.0.1:5000&lt;/code&gt;에 접속하면 HTML5 페이지가 보입니다.&lt;/p&gt;
&lt;p&gt;이와 같이 Python(Flask)과 HTML5를 연동하여 웹 애플리케이션을 만들 수 있습니다. CSS와 JavaScript는 &lt;code&gt;static&lt;/code&gt; 폴더에 추가하여 HTML에서 불러올 수 있습니다.&lt;/p&gt;</content><category term="파이썬"></category></entry><entry><title>파이션으로 웹프로그램을 만들때 mysql 서버와 연결하는 방법</title><link href="/posts/paisyeoneuro-webpeurogeuraemeul-mandeulddae-mysql-seobeowa-yeongyeolhaneun-bangbeob.html" rel="alternate"></link><published>2024-12-04T04:05:00+09:00</published><updated>2024-12-04T04:05:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-04:/posts/paisyeoneuro-webpeurogeuraemeul-mandeulddae-mysql-seobeowa-yeongyeolhaneun-bangbeob.html</id><summary type="html">&lt;p&gt;Python으로 웹 프로그램을 만들 때 MySQL 서버와 연결하는 일반적인 방법은 &lt;code&gt;mysql-connector-python&lt;/code&gt;과 같은 MySQL …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Python으로 웹 프로그램을 만들 때 MySQL 서버와 연결하는 일반적인 방법은 &lt;code&gt;mysql-connector-python&lt;/code&gt;과 같은 MySQL 커넥터 라이브러리를 사용하는 것입니다. 여기서는 Python Flask 웹 프레임워크와 MySQL 데이터베이스를 연결하여 사용하는 방법을 안내드릴게요.&lt;/p&gt;
&lt;h3&gt;1. 라이브러리 설치&lt;/h3&gt;
&lt;p&gt;먼저, &lt;code&gt;mysql-connector-python&lt;/code&gt; 패키지를 설치해야 합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;pip install mysql-connector-python Flask
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;2. MySQL 데이터베이스 설정&lt;/h3&gt;
&lt;p&gt;MySQL에서 사용할 데이터베이스와 테이블을 설정합니다. 예를 들어, &lt;code&gt;mydatabase&lt;/code&gt;라는 데이터베이스와 &lt;code&gt;users&lt;/code&gt;라는 테이블을 만들고 싶다면 다음과 같이 설정합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;CREATE&lt;/span&gt; DATABASE mydatabase;
USE mydatabase;

&lt;span class="hljs-keyword"&gt;CREATE&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TABLE&lt;/span&gt; users (
    id &lt;span class="hljs-type"&gt;INT&lt;/span&gt; AUTO_INCREMENT &lt;span class="hljs-keyword"&gt;PRIMARY&lt;/span&gt; KEY,
    name &lt;span class="hljs-type"&gt;VARCHAR&lt;/span&gt;(&lt;span class="hljs-number"&gt;100&lt;/span&gt;),
    email &lt;span class="hljs-type"&gt;VARCHAR&lt;/span&gt;(&lt;span class="hljs-number"&gt;100&lt;/span&gt;)
);
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;3. Python에서 MySQL 연결 설정&lt;/h3&gt;
&lt;p&gt;Flask 애플리케이션 파일을 생성하고 MySQL 데이터베이스에 연결해보겠습니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;python&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;from flask import Flask, request, jsonify
import mysql.connector

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;app = Flask(__name__)

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;# MySQL 연결 설정
db = mysql.connector.connect(
host="localhost", # MySQL 서버 호스트
user="root", # MySQL 사용자
password="password", # MySQL 비밀번호
database="mydatabase" # 연결할 데이터베이스
)

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;# 데이터 추가 API 예제
@app.route('/add_user', methods=['POST'])
def add_user():
data = request.json
name = data.get('name')
email = data.get('email')

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;cursor = db.cursor()
query = "INSERT INTO users (name, email) VALUES (%s, %s)"
values = (name, email)
cursor.execute(query, values)
db.commit()

return jsonify({"message": "User added successfully!"})

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;# 모든 데이터 조회 API 예제
@app.route('/users', methods=['GET'])
def get_users():
cursor = db.cursor(dictionary=True)
cursor.execute("SELECT * FROM users")
users = cursor.fetchall()

return jsonify(users)

&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;code class="!whitespace-pre hljs language-python"&gt;&lt;/code&gt;&lt;/code&gt;if __name__ == '__main__':
app.run(debug=True)

&lt;code class="!whitespace-pre hljs language-python"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;4. 실행 및 테스트&lt;/h3&gt;
&lt;p&gt;이제 서버를 실행하고 테스트해보세요:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;python app.py
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;http://localhost:5000/add_user&lt;/code&gt;에 POST 요청을 보내서 사용자 정보를 추가하거나, &lt;code&gt;http://localhost:5000/users&lt;/code&gt;로 GET 요청을 보내서 저장된 사용자 정보를 조회할 수 있습니다.&lt;/p&gt;
&lt;p&gt;이 과정이 MySQL과 연결하여 데이터를 처리하는 기본적인 웹 프로그램 구축 과정입니다.&lt;/p&gt;</content><category term="파이썬"></category></entry><entry><title>우분투 실행되는 프로세스 확인하기</title><link href="/posts/ubuntu-silhaengdoeneun-peuroseseu-hwaginhagi.html" rel="alternate"></link><published>2024-12-03T06:59:00+09:00</published><updated>2024-12-03T06:59:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-03:/posts/ubuntu-silhaengdoeneun-peuroseseu-hwaginhagi.html</id><summary type="html">&lt;p&gt;우분투에서 실행 중인 프로세스를 확인하려면 여러 명령어를 사용할 수 있 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;우분투에서 실행 중인 프로세스를 확인하려면 여러 명령어를 사용할 수 있습니다. 대표적으로 다음과 같은 명령어를 이용할 수 있습니다.&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;1. &lt;strong&gt;&lt;code&gt;ps&lt;/code&gt; 명령어&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;현재 실행 중인 프로세스를 확인할 수 있습니다.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;ps aux&lt;/code&gt; 명령을 사용하면 모든 사용자와 관련된 프로세스를 확인할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;ps aux
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;특정 프로세스를 검색하려면 &lt;code&gt;grep&lt;/code&gt;과 함께 사용합니다:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;ps aux | grep &amp;lt;프로세스_이름&amp;gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;2. &lt;strong&gt;&lt;code&gt;top&lt;/code&gt; 명령어&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;실시간으로 프로세스 정보를 확인할 수 있습니다.&lt;/li&gt;
    &lt;li&gt;CPU 및 메모리 사용량을 기준으로 프로세스가 정렬됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;top
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;3. &lt;strong&gt;&lt;code&gt;htop&lt;/code&gt; 명령어&lt;/strong&gt; (설치 필요)&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;top&lt;/code&gt;보다 더 직관적인 인터페이스를 제공합니다.&lt;/li&gt;
    &lt;li&gt;설치 후 실행:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt install htop
htop
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;4. &lt;strong&gt;&lt;code&gt;pgrep&lt;/code&gt; 명령어&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;특정 이름의 프로세스 ID만 확인하려면 &lt;code&gt;pgrep&lt;/code&gt;을 사용합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;pgrep &amp;lt;프로세스_이름&amp;gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;5. &lt;strong&gt;&lt;code&gt;systemctl&lt;/code&gt; 명령어&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;서비스로 관리되는 프로세스 확인:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;systemctl status &amp;lt;서비스_이름&amp;gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;6. &lt;strong&gt;&lt;code&gt;netstat&lt;/code&gt; 또는 &lt;code&gt;ss&lt;/code&gt; 명령어&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;네트워크 연결 관련 프로세스 확인:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo netstat -tulnp
&lt;span class="hljs-comment"&gt;# 또는&lt;/span&gt;
sudo ss -tulnp&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;</content><category term="우분투"></category></entry><entry><title>우분투 텍스트 브라우저 설치</title><link href="/posts/ubuntu-tegseuteu-beuraujeo-seolci.html" rel="alternate"></link><published>2024-12-01T08:03:00+09:00</published><updated>2024-12-01T08:03:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/ubuntu-tegseuteu-beuraujeo-seolci.html</id><summary type="html">&lt;p&gt;우분투에서 텍스트 기반 브라우저를 설치하려면, 아래의 명령을 사용하여 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;우분투에서 텍스트 기반 브라우저를 설치하려면, 아래의 명령을 사용하여 &lt;code&gt;lynx&lt;/code&gt;, &lt;code&gt;links&lt;/code&gt;, 또는 &lt;code&gt;w3m&lt;/code&gt;과 같은 텍스트 브라우저를 설치할 수 있습니다.&lt;/p&gt;
&lt;h3&gt;1. Lynx 설치&lt;/h3&gt;
&lt;p&gt;Lynx는 매우 인기 있는 텍스트 기반 웹 브라우저입니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt update
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt install lynx
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;설치 후, 다음 명령으로 실행할 수 있습니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;lynx [URL]
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;2. Links 설치&lt;/h3&gt;
&lt;p&gt;Links는 그래픽 기반의 기능도 지원하는 텍스트 브라우저입니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt update
sudo apt install links
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;설치 후, 다음 명령으로 실행합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;links [URL]
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;3. w3m 설치&lt;/h3&gt;
&lt;p&gt;w3m은 HTML 페이지를 텍스트로 표시하고 이미지를 포함하여 지원할 수도 있는 텍스트 브라우저입니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt update
sudo apt install w3m
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;설치 후, 다음 명령으로 실행합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;w3m [URL]
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;확인 방법&lt;/h3&gt;
&lt;p&gt;설치된 브라우저가 제대로 작동하는지 확인하려면, 예를 들어 &lt;code&gt;google.com&lt;/code&gt;에 접속하여 페이지가 출력되는지 확인하면 됩니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;lynx google.com&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;</content><category term="우분투"></category></entry><entry><title>우분투 나의 시스템 스팩 보기</title><link href="/posts/ubuntu-nayi-siseutem-seupaeg-bogi.html" rel="alternate"></link><published>2024-12-01T08:02:00+09:00</published><updated>2024-12-01T08:02:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/ubuntu-nayi-siseutem-seupaeg-bogi.html</id><summary type="html">&lt;p&gt;우분투에서 시스템 사양을 확인하려면 다음 명령어들을 사용할 수 있습니 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;우분투에서 시스템 사양을 확인하려면 다음 명령어들을 사용할 수 있습니다. 각 명령어는 다양한 정보를 제공합니다.&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;&lt;strong&gt;1. CPU 정보 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;lscpu
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;CPU 모델, 코어 수, 스레드 수, 아키텍처 등 CPU 관련 정보를 출력합니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;&lt;strong&gt;2. 메모리 (RAM) 정보 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;free -h
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;현재 사용 중인 메모리와 남은 메모리를 사람이 읽기 쉬운 형식으로 표시합니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;&lt;strong&gt;3. 디스크 용량 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;df&lt;/span&gt; -h
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;마운트된 디스크와 각 디스크의 전체 용량, 사용된 용량, 남은 용량을 확인할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;&lt;strong&gt;4. 전체 시스템 요약 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;neofetch
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;우분투 버전, CPU, 메모리, 그래픽 등 시스템 정보를 한눈에 확인할 수 있습니다.
&lt;ul&gt;
    &lt;li&gt;설치되지 않았다면 다음 명령어로 설치할 수 있습니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt install neofetch
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;&lt;strong&gt;5. 그래픽 카드 정보 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;lspci | grep -i vga
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;설치된 GPU 정보가 출력됩니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;&lt;strong&gt;6. 운영 체제 및 커널 버전 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;uname&lt;/span&gt; -a
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;운영 체제, 커널 버전, 하드웨어 플랫폼 등 기본 시스템 정보를 보여줍니다.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;&lt;strong&gt;7. 네트워크 정보 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;ip addr
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;네트워크 인터페이스와 IP 주소를 확인할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;</content><category term="우분투"></category></entry><entry><title>주기적으로 현재 IP 주소를 확인하고 이전 IP와 비교하여 변경이 감지....</title><link href="/posts/jugijeogeuro-hyeonjae-ip-jusoreul-hwaginhago-ijeon-ipwa-bigyohayeo-byeongyeongi-gamji.html" rel="alternate"></link><published>2024-12-01T08:00:00+09:00</published><updated>2024-12-01T08:00:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/jugijeogeuro-hyeonjae-ip-jusoreul-hwaginhago-ijeon-ipwa-bigyohayeo-byeongyeongi-gamji.html</id><summary type="html">&lt;p&gt;Bash 스크립트를 작성한 예제입니다. 이 스크립트는 주기적으로 현재 IP 주소 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Bash 스크립트를 작성한 예제입니다. 이 스크립트는 주기적으로 현재 IP 주소를 확인하고 이전 IP와 비교하여 변경이 감지되면 이메일로 알림을 보냅니다.&lt;/p&gt;
&lt;h3&gt;1. &lt;strong&gt;스크립트 내용 (&lt;code&gt;notify_ip_change.sh&lt;/code&gt;)&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;/code&gt;&lt;/code&gt;#!/bin/bash

&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;/code&gt;&lt;/code&gt;# 설정
LOG_FILE="/var/log/ip_change.log"
IP_FILE="/tmp/current_ip.txt"
CHECK_INTERVAL=300 # 체크 간격 (초 단위)
SMTP_SERVER="smtp.example.com" # SMTP 서버 주소
SMTP_PORT=587 # SMTP 포트
EMAIL_FROM="your_email@example.com" # 발신 이메일
EMAIL_TO="target_email@example.com" # 수신 이메일
EMAIL_USER="your_email@example.com" # 이메일 사용자명
EMAIL_PASS="your_email_password" # 이메일 비밀번호

&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;/code&gt;&lt;/code&gt;# IP 변경 시 이메일 보내기 함수
send_email() {
local new_ip="$1"
echo -e "Subject: IP 변경 알림\n\n새로운 IP 주소: $new_ip" | \
curl --url "smtp://${SMTP_SERVER}:${SMTP_PORT}" \
--ssl \
--mail-from "$EMAIL_FROM" \
--mail-rcpt "$EMAIL_TO" \
--upload-file - \
--user "$EMAIL_USER:$EMAIL_PASS"
}

&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;/code&gt;&lt;/code&gt;# 초기 IP 설정
if [[ ! -f "$IP_FILE" ]]; then
current_ip=$(curl -s ifconfig.me)
echo "$current_ip" &amp;gt; "$IP_FILE"
echo "$(date): 초기 IP 주소 설정 - $current_ip" &amp;gt;&amp;gt; "$LOG_FILE"
fi

&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;/code&gt;&lt;/code&gt;# 백그라운드 실행 루프
while true; do
new_ip=$(curl -s ifconfig.me)
saved_ip=$(cat "$IP_FILE")

if [[ "$new_ip" != "$saved_ip" ]]; then
echo "$new_ip" &amp;gt; "$IP_FILE"
echo "$(date): IP 주소 변경 감지 - $new_ip" &amp;gt;&amp;gt; "$LOG_FILE"
send_email "$new_ip"
fi

sleep "$CHECK_INTERVAL"
done

&lt;code class="!whitespace-pre hljs language-bash"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;2. &lt;strong&gt;사용 방법&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;스크립트 생성 및 권한 부여&lt;/strong&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;nano notify_ip_change.sh
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
위 코드를 붙여넣고 저장합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;chmod&lt;/span&gt; +x notify_ip_change.sh
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;필수 패키지 설치&lt;/strong&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt update
sudo apt install curl
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;백그라운드 실행&lt;/strong&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;nohup&lt;/span&gt; ./notify_ip_change.sh &amp;amp;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;로그 확인&lt;/strong&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;tail&lt;/span&gt; -f /var/log/ip_change.log
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;스크립트 종료&lt;/strong&gt; 프로세스를 종료하려면 다음을 실행합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;pkill -f notify_ip_change.sh
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;3. &lt;strong&gt;추가 참고&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;curl&lt;/code&gt;을 사용하여 SMTP 서버를 통해 이메일을 보냅니다. 외부 POP3/SMTP 정보를 올바르게 설정하세요.&lt;/li&gt;
    &lt;li&gt;이메일 비밀번호는 보안 문제로 인해 암호화된 파일이나 환경 변수로 관리하는 것이 좋습니다. 필요 시 알려주세요.&lt;/li&gt;
    &lt;li&gt;IP 확인 API (&lt;code&gt;ifconfig.me&lt;/code&gt;)를 변경할 수도 있습니다. 예: &lt;code&gt;ipinfo.io/ip&lt;/code&gt; 또는 &lt;code&gt;api64.ipify.org&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;</content><category term="우분투"></category></entry><entry><title>Ubuntu에서 IP 주소가 DHCP로 변경될 때 변경된 IP를 감지하고 이메일로 알림</title><link href="/posts/ubuntueseo-ip-jusoga-dhcpro-byeongyeongdoel-ddae-byeongyeongdoen-ipreul-gamjihago-imeilro-alrim.html" rel="alternate"></link><published>2024-12-01T07:59:00+09:00</published><updated>2024-12-01T07:59:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/ubuntueseo-ip-jusoga-dhcpro-byeongyeongdoel-ddae-byeongyeongdoen-ipreul-gamjihago-imeilro-alrim.html</id><summary type="html">&lt;p&gt;Ubuntu에서 IP 주소가 DHCP로 변경될 때 변경된 IP를 감지하고 이메일로 알림을 보내는 Bash 스 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Ubuntu에서 IP 주소가 DHCP로 변경될 때 변경된 IP를 감지하고 이메일로 알림을 보내는 Bash 스크립트를 만들기 위해 다음을 수행할 수 있습니다. 다음은 필요한 스크립트와 설정 단계입니다.&lt;/p&gt;
&lt;h3&gt;스크립트 작성&lt;/h3&gt;
&lt;p&gt;다음은 백그라운드에서 실행되며, IP가 변경될 때 알림을 보내는 Bash 스크립트입니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div dir="ltr"&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;

#!/bin/bash

# 이전 IP를 저장할 파일 경로
PREVIOUS_IP_FILE="/tmp/previous_ip.txt"
# 메일 설정
TO_EMAIL="your_email@example.com"
SMTP_SERVER="smtp.example.com"
SMTP_PORT=587
SMTP_USER="your_email@example.com"
SMTP_PASS="your_password"

# IP를 확인하는 함수
get_current_ip() {
hostname -I | awk '{print $1}'
}

# 이메일 보내기
send_email() {
local new_ip=$1
echo -e "Subject: IP Address Changed\n\nYour new IP address is: $new_ip" | \
curl --url "smtp://${SMTP_SERVER}:${SMTP_PORT}" \
--ssl \
--mail-from "$SMTP_USER" \
--mail-rcpt "$TO_EMAIL" \
--user "$SMTP_USER:$SMTP_PASS"
}

# 초기화: 이전 IP 불러오기
if [[ -f "$PREVIOUS_IP_FILE" ]]; then
previous_ip=$(cat "$PREVIOUS_IP_FILE")
else
previous_ip=""
fi

# 무한 루프
while true; do
# 현재 IP 확인
current_ip=$(get_current_ip)

# IP 변경 여부 확인
if [[ "$current_ip" != "$previous_ip" ]]; then
echo "IP 변경됨: $current_ip"
echo "$current_ip" &amp;gt; "$PREVIOUS_IP_FILE"
send_email "$current_ip"
previous_ip="$current_ip"
fi

# 5분 대기
sleep 300
done

&lt;code class="!whitespace-pre hljs language-bash"&gt;
&lt;/code&gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;스크립트 실행 설정&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;스크립트 저장 및 실행 권한 부여&lt;/strong&gt;
위 스크립트를 예를 들어 &lt;code&gt;/home/youruser/ip_monitor.sh&lt;/code&gt;로 저장합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;chmod&lt;/span&gt; +x /home/youruser/ip_monitor.sh
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;스크립트를 백그라운드에서 실행&lt;/strong&gt;
&lt;code&gt;nohup&lt;/code&gt; 명령어를 사용하여 스크립트를 백그라운드에서 실행합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&lt;span class="hljs-built_in"&gt;nohup&lt;/span&gt; /home/youruser/ip_monitor.sh &amp;amp;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;시스템 재부팅 시 자동 실행 설정&lt;/strong&gt;
crontab에 추가합니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;crontab -e
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
아래 줄 추가:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;@reboot /home/youruser/ip_monitor.sh &amp;amp;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;필요한 패키지 설치&lt;/h3&gt;
&lt;p&gt;이메일을 보내기 위해 &lt;code&gt;curl&lt;/code&gt; 명령어를 사용하므로 해당 패키지가 설치되어 있는지 확인하세요:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt update
sudo apt install curl
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;SMTP 정보는 외부 POP3 메일 서버 (예: Gmail, Naver 등)에 맞게 설정해야 합니다. 예를 들어 Gmail을 사용하는 경우 SMTP 서버를 &lt;code&gt;smtp.gmail.com&lt;/code&gt;으로 설정하세요. (추가 설정이 필요할 수 있습니다: &lt;a target="_new" rel="noopener"&gt;구글 앱 비밀번호&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;이 스크립트는 네트워크 상태를 주기적으로 확인하며, 변경 사항이 발생할 경우 즉시 알림을 보냅니다.&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>우분투 워드프레스 서버 아이피가 변경되었을때 ip 설정하는 방법</title><link href="/posts/ubuntu-weodeupeureseu-seobeo-aipiga-byeongyeongdoeeosseulddae-ip-seoljeonghaneun-bangbeob.html" rel="alternate"></link><published>2024-12-01T07:57:00+09:00</published><updated>2024-12-01T07:57:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/ubuntu-weodeupeureseu-seobeo-aipiga-byeongyeongdoeeosseulddae-ip-seoljeonghaneun-bangbeob.html</id><summary type="html">&lt;p&gt;우분투 워드프레스 서버 아이피가 변경되었을때 ip 설정하는 방법 =&amp;gt; 이거 따 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;우분투 워드프레스 서버 아이피가 변경되었을때 ip 설정하는 방법 =&amp;gt; 이거 따라 하다가 ㅠㅠ 새로 설치 했음 ㅎㅎ&lt;/p&gt;
&lt;p&gt;우분투에서 워드프레스 서버의 IP 주소가 변경되었을 때, 새로운 IP 주소를 설정하고 워드프레스와 관련된 설정을 업데이트하려면 다음 단계를 따라야 합니다:&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;1. &lt;strong&gt;새로운 IP 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;먼저 새로 할당된 IP 주소를 확인하세요:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;ip addr
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;또는&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;ifconfig
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;2. &lt;strong&gt;고정 IP 설정 (선택 사항)&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;IP 주소가 동적으로 변경되지 않도록 고정 IP를 설정하려면 다음 단계를 수행하세요:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;네트워크 설정 파일 열기&lt;/strong&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo nano /etc/netplan/01-netcfg.yaml
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
또는 &lt;code&gt;/etc/netplan/&lt;/code&gt; 폴더 내의 YAML 파일을 확인하세요.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;설정 파일 수정&lt;/strong&gt; 예를 들어, 다음과 같이 고정 IP를 설정합니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;yaml&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-yaml"&gt;&lt;span class="hljs-attr"&gt;network:&lt;/span&gt;
  &lt;span class="hljs-attr"&gt;version:&lt;/span&gt; &lt;span class="hljs-number"&gt;2&lt;/span&gt;
  &lt;span class="hljs-attr"&gt;renderer:&lt;/span&gt; &lt;span class="hljs-string"&gt;networkd&lt;/span&gt;
  &lt;span class="hljs-attr"&gt;ethernets:&lt;/span&gt;
    &lt;span class="hljs-attr"&gt;eth0:&lt;/span&gt;
      &lt;span class="hljs-attr"&gt;dhcp4:&lt;/span&gt; &lt;span class="hljs-literal"&gt;no&lt;/span&gt;
      &lt;span class="hljs-attr"&gt;addresses:&lt;/span&gt;
        &lt;span class="hljs-bullet"&gt;-&lt;/span&gt; &lt;span class="hljs-number"&gt;192.168&lt;/span&gt;&lt;span class="hljs-number"&gt;.1&lt;/span&gt;&lt;span class="hljs-number"&gt;.100&lt;/span&gt;&lt;span class="hljs-string"&gt;/24&lt;/span&gt;
      &lt;span class="hljs-attr"&gt;gateway4:&lt;/span&gt; &lt;span class="hljs-number"&gt;192.168&lt;/span&gt;&lt;span class="hljs-number"&gt;.1&lt;/span&gt;&lt;span class="hljs-number"&gt;.1&lt;/span&gt;
      &lt;span class="hljs-attr"&gt;nameservers:&lt;/span&gt;
        &lt;span class="hljs-attr"&gt;addresses:&lt;/span&gt;
          &lt;span class="hljs-bullet"&gt;-&lt;/span&gt; &lt;span class="hljs-number"&gt;8.8&lt;/span&gt;&lt;span class="hljs-number"&gt;.8&lt;/span&gt;&lt;span class="hljs-number"&gt;.8&lt;/span&gt;
          &lt;span class="hljs-bullet"&gt;-&lt;/span&gt; &lt;span class="hljs-number"&gt;8.8&lt;/span&gt;&lt;span class="hljs-number"&gt;.4&lt;/span&gt;&lt;span class="hljs-number"&gt;.4&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;설정 적용&lt;/strong&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo netplan apply
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;3. &lt;strong&gt;DNS 서버에서 A 레코드 업데이트&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;사용 중인 DNS 관리 콘솔(예: 'soon7shop.kr'의 DNS 관리자)에서 새 IP 주소로 A 레코드를 업데이트하세요.&lt;/li&gt;
    &lt;li&gt;예:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;css&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-css"&gt;www  &lt;span class="hljs-selector-tag"&gt;A&lt;/span&gt;  &lt;span class="hljs-number"&gt;203.0&lt;/span&gt;.&lt;span class="hljs-number"&gt;113.50&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;DNS 변경이 적용되기까지는 최대 24시간이 소요될 수 있습니다.&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;4. &lt;strong&gt;워드프레스 설정 변경&lt;/strong&gt;&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;워드프레스 주소(URL) 업데이트&lt;/strong&gt; 새로운 IP 주소로 워드프레스 URL을 변경해야 합니다.
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;방법 1: 워드프레스 관리자 페이지&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;관리자 페이지에 접속: &lt;code&gt;http://새로운IP/wp-admin&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;"설정 &amp;gt; 일반"에서 아래 두 항목 업데이트:
&lt;ul&gt;
    &lt;li&gt;WordPress 주소 (URL): &lt;code&gt;http://새로운IP&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;사이트 주소 (URL): &lt;code&gt;http://새로운IP&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;방법 2: 데이터베이스에서 직접 변경&lt;/strong&gt; MySQL에 접속하여 URL을 업데이트합니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
데이터베이스 선택:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;USE wordpress_db;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
URL 업데이트:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;UPDATE&lt;/span&gt; wp_options &lt;span class="hljs-keyword"&gt;SET&lt;/span&gt; option_value &lt;span class="hljs-operator"&gt;=&lt;/span&gt; &lt;span class="hljs-string"&gt;'http://새로운IP'&lt;/span&gt; &lt;span class="hljs-keyword"&gt;WHERE&lt;/span&gt; option_name &lt;span class="hljs-keyword"&gt;IN&lt;/span&gt; (&lt;span class="hljs-string"&gt;'siteurl'&lt;/span&gt;, &lt;span class="hljs-string"&gt;'home'&lt;/span&gt;);
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Apache 설정 파일 업데이트&lt;/strong&gt; Apache가 새 IP 주소를 사용하도록 VirtualHost 파일을 수정합니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo nano /etc/apache2/sites-available/000-default.conf
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
또는 워드프레스와 관련된 VirtualHost 파일을 열어 &lt;code&gt;ServerName&lt;/code&gt;과 &lt;code&gt;ServerAlias&lt;/code&gt;를 업데이트:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;apache&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;&amp;lt;VirtualHost *:80&amp;gt;
    ServerName 새IP
    DocumentRoot /var/www/html
&amp;lt;/VirtualHost&amp;gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
변경 후 Apache 재시작:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo systemctl restart apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;5. &lt;strong&gt;캐시 및 브라우저 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;브라우저 캐시를 지우고 새 IP로 접속을 확인합니다.&lt;/li&gt;
    &lt;li&gt;DNS 전파 완료 여부를 확인하려면 아래 명령을 사용:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;nslookup soon7shop.kr
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;</content><category term="우분투"></category></entry><entry><title>sudo nano /var/www/html/wordpress/wp-config.php</title><link href="/posts/sudo-nano-varwwwhtmlwordpresswp-configphp.html" rel="alternate"></link><published>2024-12-01T07:55:00+09:00</published><updated>2024-12-01T07:55:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/sudo-nano-varwwwhtmlwordpresswp-configphp.html</id><summary type="html">&lt;p&gt;&lt;code&gt;/var/www/html/wordpress/wp-config.php&lt;/code&gt; 파일은 워드프레스의 핵심 설정 파일로, 데이터베이스 연결 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;code&gt;/var/www/html/wordpress/wp-config.php&lt;/code&gt; 파일은 워드프레스의 핵심 설정 파일로, 데이터베이스 연결 정보와 기타 중요한 설정을 포함합니다. 파일을 열고 필요한 설정을 수정하려면 다음 단계를 따라 진행하세요.&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;1. &lt;strong&gt;파일 열기&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo nano /var/www/html/wordpress/wp-config.php
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;2. &lt;strong&gt;중요 설정 항목&lt;/strong&gt;&lt;/h3&gt;
&lt;h4&gt;(1) &lt;strong&gt;데이터베이스 연결 정보&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;다음 항목을 확인하거나 수정합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;php&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;define('AUTH_KEY', 'your_generated_key');
define('SECURE_AUTH_KEY', 'your_generated_key');
define('LOGGED_IN_KEY', 'your_generated_key');
define('NONCE_KEY', 'your_generated_key');
define('AUTH_SALT', 'your_generated_key');
define('SECURE_AUTH_SALT', 'your_generated_key');
define('LOGGED_IN_SALT', 'your_generated_key');
define('NONCE_SALT', 'your_generated_key');&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;DB_NAME&lt;/code&gt;: 워드프레스가 사용할 데이터베이스 이름.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;DB_USER&lt;/code&gt;: 데이터베이스 사용자 이름.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;DB_PASSWORD&lt;/code&gt;: 해당 사용자의 비밀번호.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;DB_HOST&lt;/code&gt;: 일반적으로 &lt;code&gt;localhost&lt;/code&gt;. 외부 DB 서버를 사용한다면 서버 IP 또는 도메인.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h4&gt;(2) &lt;strong&gt;보안 키(SALT 키)&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;워드프레스의 인증 키 및 보안 키는 사용자 세션 보안을 강화합니다. 아래 사이트에서 새 키를 생성하여 추가합니다:
&lt;a target="_new" rel="noopener"&gt;WordPress Salt Keys Generator&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;예:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;php&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-php"&gt;define('AUTH_KEY', 'your_generated_key');
define('SECURE_AUTH_KEY', 'your_generated_key');
define('LOGGED_IN_KEY', 'your_generated_key');
define('NONCE_KEY', 'your_generated_key');
define('AUTH_SALT', 'your_generated_key');
define('SECURE_AUTH_SALT', 'your_generated_key');
define('LOGGED_IN_SALT', 'your_generated_key');
define('NONCE_SALT', 'your_generated_key');
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h4&gt;(3) &lt;strong&gt;디버그 모드&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;개발 또는 문제 해결 시 디버그 모드를 활성화할 수 있습니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;php&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-php"&gt;&lt;span class="hljs-title function_ invoke__"&gt;define&lt;/span&gt;(&lt;span class="hljs-string"&gt;'WP_DEBUG'&lt;/span&gt;, &lt;span class="hljs-literal"&gt;true&lt;/span&gt;);
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;운영 환경에서는 반드시 &lt;code&gt;false&lt;/code&gt;로 설정:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;php&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-php"&gt;&lt;span class="hljs-title function_ invoke__"&gt;define&lt;/span&gt;(&lt;span class="hljs-string"&gt;'WP_DEBUG'&lt;/span&gt;, &lt;span class="hljs-literal"&gt;false&lt;/span&gt;);
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h4&gt;(4) &lt;strong&gt;파일 권한 수정 문제 해결&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;서버에서 파일 및 디렉터리 권한 문제를 해결하려면 다음을 추가:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;php&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-php"&gt;&lt;span class="hljs-title function_ invoke__"&gt;define&lt;/span&gt;(&lt;span class="hljs-string"&gt;'FS_METHOD'&lt;/span&gt;, &lt;span class="hljs-string"&gt;'direct'&lt;/span&gt;);
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h4&gt;(5) &lt;strong&gt;사이트 URL 설정&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;특정 상황에서 워드프레스 URL을 강제로 설정할 수 있습니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;php&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div dir="ltr"&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;define('WP_HOME', 'http://yourdomain.com');
define('WP_SITEURL', 'http://yourdomain.com');
&lt;code class="!whitespace-pre hljs language-php"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;3. &lt;strong&gt;파일 저장 및 종료&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;파일을 수정한 후 저장합니다:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;Ctrl + O&lt;/strong&gt;: 저장.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Enter&lt;/strong&gt;: 파일 이름 확인.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Ctrl + X&lt;/strong&gt;: 종료.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;4. &lt;strong&gt;파일 권한 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;워드프레스가 파일에 올바르게 접근할 수 있도록 권한을 확인합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;sudo chown www-data:www-data /var/www/html/wordpress/wp-config.php
sudo chmod 640 /var/www/html/wordpress/wp-config.php&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;5. &lt;strong&gt;웹 브라우저에서 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;설정 완료 후 웹 브라우저에서 사이트를 열어 데이터베이스 연결 및 사이트 작동 여부를 확인합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;arduino&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-arduino"&gt;http:&lt;span class="hljs-comment"&gt;//yourdomain.com&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;</content><category term="우분투"></category></entry><entry><title>sudo nano /etc/apache2/sites-available/wordpress.conf</title><link href="/posts/sudo-nano-etcapache2sites-availablewordpressconf.html" rel="alternate"></link><published>2024-12-01T07:52:00+09:00</published><updated>2024-12-01T07:52:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/sudo-nano-etcapache2sites-availablewordpressconf.html</id><summary type="html">&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-17" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="mb-2 flex gap-3 empty:hidden -ml-2"&gt;
&lt;div class="items-center justify-start rounded-xl p-1 z-10 -mt-1 bg-token-main-surface-primary md:absolute md:sr-only"&gt;
&lt;div class="flex items-center"&gt;
&lt;div class="flex"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;
&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-19" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="8ce75296-8dad-4336-8582-b673d068cf7c" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

&lt;code&gt;/etc/apache2/sites-available/wordpress.conf&lt;/code&gt;는 워드프레스용 Apache 가상 호스트 파일입니다. 이 파일은 워드프 …&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/article&gt;</summary><content type="html">&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-17" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="mb-2 flex gap-3 empty:hidden -ml-2"&gt;
&lt;div class="items-center justify-start rounded-xl p-1 z-10 -mt-1 bg-token-main-surface-primary md:absolute md:sr-only"&gt;
&lt;div class="flex items-center"&gt;
&lt;div class="flex"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;
&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-19" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="8ce75296-8dad-4336-8582-b673d068cf7c" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

&lt;code&gt;/etc/apache2/sites-available/wordpress.conf&lt;/code&gt;는 워드프레스용 Apache 가상 호스트 파일입니다. 이 파일은 워드프레스 사이트의 도메인, 루트 디렉토리, 로그 경로 등과 같은 설정을 정의합니다. 아래는 워드프레스를 위한 기본 구성 예제입니다.

&lt;hr /&gt;

&lt;h3&gt;1. &lt;strong&gt;파일 열기&lt;/strong&gt;&lt;/h3&gt;
다음 명령어로 파일을 엽니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo nano /etc/apache2/sites-available/wordpress.conf
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;2. &lt;strong&gt;가상 호스트 구성 추가&lt;/strong&gt;&lt;/h3&gt;
아래 내용을 &lt;code&gt;wordpress.conf&lt;/code&gt;에 추가합니다. 도메인 이름과 디렉토리를 환경에 맞게 수정하세요.
&lt;h4&gt;기본 설정 예제:&lt;/h4&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;apache&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;

&amp;lt;VirtualHost *:80&amp;gt;
ServerAdmin admin@yourdomain.com
ServerName yourdomain.com
ServerAlias www.yourdomain.com

DocumentRoot /var/www/html/wordpress

&amp;lt;Directory /var/www/html/wordpress&amp;gt;
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
&amp;lt;/Directory&amp;gt;

ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
&amp;lt;/VirtualHost&amp;gt;

&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;3. &lt;strong&gt;설정 내용 설명&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;&lt;code&gt;ServerAdmin&lt;/code&gt;&lt;/strong&gt;: 관리자의 이메일 주소. (에러 메시지에서 표시됨)&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;&lt;code&gt;ServerName&lt;/code&gt;&lt;/strong&gt;: 사이트의 주 도메인 (예: &lt;code&gt;yourdomain.com&lt;/code&gt;).&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;&lt;code&gt;ServerAlias&lt;/code&gt;&lt;/strong&gt;: 추가 도메인 또는 서브도메인 (예: &lt;code&gt;www.yourdomain.com&lt;/code&gt;).&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;&lt;code&gt;DocumentRoot&lt;/code&gt;&lt;/strong&gt;: 워드프레스 파일이 위치한 경로.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;Directory&amp;gt;&lt;/code&gt;&lt;/strong&gt;: 디렉토리 옵션.
&lt;ul&gt;
    &lt;li&gt;&lt;code&gt;AllowOverride All&lt;/code&gt;: &lt;code&gt;.htaccess&lt;/code&gt; 파일에서 Apache 설정을 허용.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;Require all granted&lt;/code&gt;: 디렉토리에 대한 접근 허용.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;&lt;code&gt;ErrorLog&lt;/code&gt;&lt;/strong&gt;: 에러 로그 파일 경로.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;&lt;code&gt;CustomLog&lt;/code&gt;&lt;/strong&gt;: 접근 로그 파일 경로.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;4. &lt;strong&gt;HTTPS(SSL) 추가 설정&lt;/strong&gt; (선택)&lt;/h3&gt;
HTTPS를 사용하려면 아래와 같은 추가 구성을 작성해야 합니다.
&lt;h4&gt;HTTPS 예제:&lt;/h4&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;&lt;/code&gt;&lt;/code&gt;&amp;lt;VirtualHost *:443&amp;gt;
ServerAdmin admin@yourdomain.com
ServerName yourdomain.com
ServerAlias www.yourdomain.com

&lt;code class="!whitespace-pre hljs language-apache"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;&lt;/code&gt;&lt;/code&gt;DocumentRoot /var/www/html/wordpress

&lt;code class="!whitespace-pre hljs language-apache"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;&lt;/code&gt;&lt;/code&gt;&amp;lt;Directory /var/www/html/wordpress&amp;gt;
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
&amp;lt;/Directory&amp;gt;

&lt;code class="!whitespace-pre hljs language-apache"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;&lt;/code&gt;&lt;/code&gt;SSLEngine on
SSLCertificateFile /etc/ssl/certs/yourdomain.crt
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key

&lt;code class="!whitespace-pre hljs language-apache"&gt;&lt;code class="!whitespace-pre hljs language-apache"&gt;&lt;/code&gt;&lt;/code&gt;ErrorLog ${APACHE_LOG_DIR}/wordpress_ssl_error.log
CustomLog ${APACHE_LOG_DIR}/wordpress_ssl_access.log combined
&amp;lt;/VirtualHost&amp;gt;

&lt;code class="!whitespace-pre hljs language-apache"&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;5. &lt;strong&gt;가상 호스트 활성화&lt;/strong&gt;&lt;/h3&gt;
새로운 설정을 활성화합니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo a2ensite wordpress.conf
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;6. &lt;strong&gt;Apache 모듈 활성화 및 재시작&lt;/strong&gt;&lt;/h3&gt;
아래 명령어로 Apache의 필요 모듈을 활성화하고 서버를 재시작합니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo a2enmod rewrite
sudo systemctl reload apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;7. &lt;strong&gt;파일 테스트&lt;/strong&gt;&lt;/h3&gt;
구성이 올바른지 확인:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apache2ctl configtest
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
문제가 없다면 출력은 다음과 같습니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;mathematica&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-mathematica"&gt;&lt;span class="hljs-built_in"&gt;Syntax&lt;/span&gt; &lt;span class="hljs-variable"&gt;OK&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;</content><category term="우분투"></category></entry><entry><title>워드프레스를 위한 방화벽 설정</title><link href="/posts/weodeupeureseureul-wihan-banghwabyeog-seoljeong.html" rel="alternate"></link><published>2024-12-01T07:51:00+09:00</published><updated>2024-12-01T07:51:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/weodeupeureseureul-wihan-banghwabyeog-seoljeong.html</id><summary type="html">&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-17" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="fa3d7a41-fd36-45e4-a103-a1abfefa235b" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

워드프레스 사이트를 안전하게 보호하려면 방화벽 설정이 매우 중요합니 …&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/article&gt;</summary><content type="html">&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-17" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="fa3d7a41-fd36-45e4-a103-a1abfefa235b" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;

워드프레스 사이트를 안전하게 보호하려면 방화벽 설정이 매우 중요합니다. 방화벽을 설정하여 악의적인 트래픽을 차단하고, 허용된 트래픽만 통과시키도록 구성할 수 있습니다. 아래는 우분투 환경에서 워드프레스를 위한 방화벽 설정 가이드입니다.

&lt;hr /&gt;

&lt;h2&gt;1. &lt;strong&gt;UFW(Uncomplicated Firewall) 활성화 및 기본 설정&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;(1) &lt;strong&gt;UFW 활성화&lt;/strong&gt;&lt;/h3&gt;
UFW가 비활성화된 경우 활성화합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;button class="flex gap-1 items-center select-none py-1"&gt;&lt;/button&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo ufw &lt;span class="hljs-built_in"&gt;enable&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;(2) &lt;strong&gt;기본 정책 설정&lt;/strong&gt;&lt;/h3&gt;
기본적으로 모든 트래픽을 차단하고 필요한 트래픽만 허용하도록 설정합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo ufw default deny incoming
sudo ufw default allow outgoing
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;2. &lt;strong&gt;필수 포트 허용&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;(1) &lt;strong&gt;HTTP 및 HTTPS 트래픽 허용&lt;/strong&gt;&lt;/h3&gt;
워드프레스가 웹사이트로 작동하려면 HTTP(80) 및 HTTPS(443) 트래픽을 허용해야 합니다.
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo ufw allow 80/tcp
sudo ufw allow 443
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="mb-2 flex gap-3 empty:hidden -ml-2"&gt;
&lt;div class="items-center justify-start rounded-xl p-1 z-10 -mt-1 bg-token-main-surface-primary md:absolute md:sr-only"&gt;
&lt;div class="flex items-center"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;
&lt;article class="w-full scroll-mb-[var(--thread-trailing-height,150px)] text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]" dir="auto" data-testid="conversation-turn-19" data-scroll-anchor="false"&gt;
&lt;div class="m-auto text-base py-[18px] px-3 md:px-4 w-full md:px-5 lg:px-4 xl:px-5"&gt;
&lt;div class="mx-auto flex flex-1 gap-4 text-base md:gap-5 lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]"&gt;
&lt;div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn"&gt;
&lt;div class="flex-col gap-1 md:gap-3"&gt;
&lt;div class="flex max-w-full flex-col flex-grow"&gt;
&lt;div class="min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words [.text-message+&amp;amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="8ce75296-8dad-4336-8582-b673d068cf7c" data-message-model-slug="gpt-4o"&gt;
&lt;div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"&gt;
&lt;div class="markdown prose w-full break-words dark:prose-invert light"&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-mathematica"&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/article&gt;</content><category term="우분투"></category></entry><entry><title>데이터베이스 리스트 보기</title><link href="/posts/deiteobeiseu-riseuteu-bogi.html" rel="alternate"></link><published>2024-12-01T07:49:00+09:00</published><updated>2024-12-01T07:49:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/deiteobeiseu-riseuteu-bogi.html</id><summary type="html">&lt;p&gt;MySQL에서 현재 서버에 존재하는 데이터베이스 목록을 보려면 다음 명령어를 사용 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;MySQL에서 현재 서버에 존재하는 데이터베이스 목록을 보려면 다음 명령어를 사용하세요:&lt;/p&gt;
&lt;hr /&gt;

&lt;h2&gt;데이터베이스 리스트 보기&lt;/h2&gt;
&lt;p&gt;MySQL에 접속한 후 아래 명령어를 입력합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;SHOW&lt;/span&gt; DATABASES;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;예시&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;MySQL에 접속:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
또는:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;mysql -u 사용자명 -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;데이터베이스 목록 확인:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;SHOW&lt;/span&gt; DATABASES;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;출력 예시&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;diff&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-diff"&gt;&lt;span class="hljs-addition"&gt;+--------------------+&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-diff"&gt;| Database           |
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-diff"&gt;&lt;span class="hljs-addition"&gt;+--------------------+&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-diff"&gt;| information_schema |&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-diff"&gt;| mysql              |&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-diff"&gt;| performance_schema |
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-diff"&gt;| sys                |
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-diff"&gt;| wordpress          |&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-diff"&gt;&lt;span class="hljs-addition"&gt;+--------------------+&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;주요 데이터베이스 설명&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;information_schema&lt;/strong&gt;: 데이터베이스 스키마 관련 메타데이터 저장소.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;mysql&lt;/strong&gt;: 사용자, 권한, 플러그인 등 MySQL 자체 구성 정보 저장소.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;performance_schema&lt;/strong&gt;: MySQL 서버의 성능 관련 데이터 저장.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;sys&lt;/strong&gt;: MySQL 관리 작업에 도움을 주는 뷰와 기능 제공.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;추가적으로 특정 데이터베이스를 탐색하거나 테이블 목록을 보고 싶다면, 아래 명령어를 사용할 수 있습니다:&lt;/p&gt;
&lt;h3&gt;특정 데이터베이스의 테이블 보기&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;USE 데이터베이스명;
&lt;span class="hljs-keyword"&gt;SHOW&lt;/span&gt; TABLES;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;</content><category term="우분투"></category></entry><entry><title>사용자 데이터베이스 권한 설정하기</title><link href="/posts/sayongja-deiteobeiseu-gweonhan-seoljeonghagi.html" rel="alternate"></link><published>2024-12-01T07:48:00+09:00</published><updated>2024-12-01T07:48:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/sayongja-deiteobeiseu-gweonhan-seoljeonghagi.html</id><summary type="html">&lt;h2&gt;1. &lt;strong&gt;권한 부여 기본 명령어&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;사용자에게 데이터베이스에 대한 권한을 부여하 …&lt;/p&gt;</summary><content type="html">&lt;h2&gt;1. &lt;strong&gt;권한 부여 기본 명령어&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;사용자에게 데이터베이스에 대한 권한을 부여하려면 다음 명령어를 사용합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;button class="flex gap-1 items-center select-none py-1"&gt;&lt;/button&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; 권한_유형 &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; 데이터베이스명.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'사용자명'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'호스트'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;주요 항목:&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;권한_유형&lt;/strong&gt;: 사용자에게 부여할 권한 (예: &lt;code&gt;SELECT&lt;/code&gt;, &lt;code&gt;INSERT&lt;/code&gt;, &lt;code&gt;UPDATE&lt;/code&gt;, &lt;code&gt;DELETE&lt;/code&gt;, &lt;code&gt;ALL PRIVILEGES&lt;/code&gt; 등).&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;데이터베이스명&lt;/strong&gt;: 권한을 부여할 데이터베이스 이름.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;*&lt;/code&gt;는 해당 데이터베이스의 모든 테이블을 의미합니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;'사용자명'@'호스트'&lt;/strong&gt;: 권한을 설정할 사용자 계정과 접속 호스트. &lt;code&gt;localhost&lt;/code&gt;는 해당 서버에서만 접속 가능하며, &lt;code&gt;%&lt;/code&gt;는 모든 IP를 허용.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3&gt;예시&lt;/h3&gt;
&lt;h4&gt;(1) &lt;strong&gt;특정 데이터베이스에 모든 권한 부여&lt;/strong&gt;&lt;/h4&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ALL&lt;/span&gt; PRIVILEGES &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;데이터베이스 &lt;code&gt;wordpress&lt;/code&gt;의 모든 테이블에 대해 사용자 &lt;code&gt;wp_user&lt;/code&gt;에게 &lt;code&gt;localhost&lt;/code&gt;에서 접속 가능한 모든 권한을 부여.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;(2) &lt;strong&gt;특정 권한만 부여&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
    &lt;li&gt;읽기 권한만 부여:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;읽기 및 쓰기 권한 부여:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt;, &lt;span class="hljs-keyword"&gt;INSERT&lt;/span&gt;, &lt;span class="hljs-keyword"&gt;UPDATE&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;(3) &lt;strong&gt;특정 테이블에 권한 부여&lt;/strong&gt;&lt;/h4&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt;, &lt;span class="hljs-keyword"&gt;INSERT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.posts &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;데이터베이스 &lt;code&gt;wordpress&lt;/code&gt;의 &lt;code&gt;posts&lt;/code&gt; 테이블에 대해 특정 권한만 부여.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2&gt;2. &lt;strong&gt;권한 적용&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;권한 부여 후에는 변경 사항을 적용해야 합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;FLUSH PRIVILEGES;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;3. &lt;strong&gt;사용자의 권한 확인&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;특정 사용자의 권한을 확인하려면 다음 명령어를 실행합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;SHOW&lt;/span&gt; GRANTS &lt;span class="hljs-keyword"&gt;FOR&lt;/span&gt; &lt;span class="hljs-string"&gt;'사용자명'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'호스트'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;예:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;SHOW&lt;/span&gt; GRANTS &lt;span class="hljs-keyword"&gt;FOR&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;4. &lt;strong&gt;권한 회수&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;사용자로부터 특정 권한을 회수하려면 다음 명령어를 사용합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;REVOKE&lt;/span&gt; 권한_유형 &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; 데이터베이스명.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;FROM&lt;/span&gt; &lt;span class="hljs-string"&gt;'사용자명'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'호스트'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;예:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;모든 권한 회수:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;REVOKE&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ALL&lt;/span&gt; PRIVILEGES &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;FROM&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;특정 권한 회수:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;REVOKE&lt;/span&gt; &lt;span class="hljs-keyword"&gt;INSERT&lt;/span&gt;, &lt;span class="hljs-keyword"&gt;UPDATE&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;FROM&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;5. &lt;strong&gt;특정 데이터베이스 접근 금지&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;데이터베이스에 대한 모든 접근을 금지하려면 사용자 권한을 삭제합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;DROP&lt;/span&gt; &lt;span class="hljs-keyword"&gt;USER&lt;/span&gt; &lt;span class="hljs-string"&gt;'사용자명'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'호스트'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;참고&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;권한 설정은 보안과 관련이 있으므로 필요한 권한만 부여하세요.&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;GRANT&lt;/code&gt;와 &lt;code&gt;REVOKE&lt;/code&gt; 명령을 통해 세부적인 데이터베이스 접근 정책을 구현할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content><category term="우분투"></category></entry><entry><title>mysql에서 사용자, 비번 설정하기 또는 사용자 리스트 보기, 그리고 사용자 비번 변경하기</title><link href="/posts/mysqleseo-sayongja-bibeon-seoljeonghagi-ddoneun-sayongja-riseuteu-bogi-geurigo-sayongja-bibeon-byeongyeonghagi.html" rel="alternate"></link><published>2024-12-01T07:46:00+09:00</published><updated>2024-12-01T07:46:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/mysqleseo-sayongja-bibeon-seoljeonghagi-ddoneun-sayongja-riseuteu-bogi-geurigo-sayongja-bibeon-byeongyeonghagi.html</id><summary type="html">&lt;h3&gt;1. &lt;strong&gt;MySQL 사용자 계정 생성 및 비밀번호 설정&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;MySQL에 접속합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;button class="flex gap-1 items-center select-none py-1"&gt;&lt;/button&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;새로 …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;1. &lt;strong&gt;MySQL 사용자 계정 생성 및 비밀번호 설정&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;MySQL에 접속합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;button class="flex gap-1 items-center select-none py-1"&gt;&lt;/button&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;새로운 사용자 계정 생성 및 비밀번호 설정:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;CREATE&lt;/span&gt; &lt;span class="hljs-keyword"&gt;USER&lt;/span&gt; &lt;span class="hljs-string"&gt;'사용자명'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'호스트'&lt;/span&gt; IDENTIFIED &lt;span class="hljs-keyword"&gt;BY&lt;/span&gt; &lt;span class="hljs-string"&gt;'비밀번호'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;&lt;code&gt;사용자명&lt;/code&gt;&lt;/strong&gt;: 생성할 사용자 이름.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;&lt;code&gt;호스트&lt;/code&gt;&lt;/strong&gt;: 사용자가 접근할 호스트. 일반적으로 &lt;code&gt;localhost&lt;/code&gt;를 사용. 외부 접속을 허용하려면 &lt;code&gt;%&lt;/code&gt;로 설정.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;&lt;code&gt;비밀번호&lt;/code&gt;&lt;/strong&gt;: 사용자 비밀번호.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;예:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;CREATE&lt;/span&gt; &lt;span class="hljs-keyword"&gt;USER&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt; IDENTIFIED &lt;span class="hljs-keyword"&gt;BY&lt;/span&gt; &lt;span class="hljs-string"&gt;'secure_password'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;사용자에게 권한 부여:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ALL&lt;/span&gt; PRIVILEGES &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; 데이터베이스명.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'사용자명'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'호스트'&lt;/span&gt;;
FLUSH PRIVILEGES;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;예:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ALL&lt;/span&gt; PRIVILEGES &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
FLUSH PRIVILEGES;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;2. &lt;strong&gt;MySQL 사용자 목록 확인&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;MySQL 사용자 목록을 확인하려면 다음 명령어를 실행:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;User&lt;/span&gt;, Host &lt;span class="hljs-keyword"&gt;FROM&lt;/span&gt; mysql.user;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;이 명령어는 모든 사용자 계정과 해당 호스트를 표시합니다.&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;3. &lt;strong&gt;MySQL 사용자 비밀번호 변경&lt;/strong&gt;&lt;/h3&gt;
&lt;h4&gt;(1) &lt;strong&gt;비밀번호 변경하기&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;MySQL 5.7 이상 버전에서는 다음 명령어를 사용하여 비밀번호를 변경합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;ALTER&lt;/span&gt; &lt;span class="hljs-keyword"&gt;USER&lt;/span&gt; &lt;span class="hljs-string"&gt;'사용자명'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'호스트'&lt;/span&gt; IDENTIFIED &lt;span class="hljs-keyword"&gt;BY&lt;/span&gt; &lt;span class="hljs-string"&gt;'새로운_비밀번호'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;예:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;ALTER&lt;/span&gt; &lt;span class="hljs-keyword"&gt;USER&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt; IDENTIFIED &lt;span class="hljs-keyword"&gt;BY&lt;/span&gt; &lt;span class="hljs-string"&gt;'new_secure_password'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;변경 후 권한 적용:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;FLUSH PRIVILEGES;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;4. &lt;strong&gt;MySQL 사용자 삭제&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;사용자를 삭제하려면 다음 명령어를 사용합니다:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;DROP&lt;/span&gt; &lt;span class="hljs-keyword"&gt;USER&lt;/span&gt; &lt;span class="hljs-string"&gt;'사용자명'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'호스트'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;예:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;DROP&lt;/span&gt; &lt;span class="hljs-keyword"&gt;USER&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;5. &lt;strong&gt;MySQL 모든 사용자 비밀번호 재설정 (루트 계정 예외)&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;비밀번호를 전역적으로 재설정해야 한다면, 사용자별로 수동으로 &lt;code&gt;ALTER USER&lt;/code&gt; 명령을 실행해야 합니다. MySQL은 보안 이유로 자동화된 대규모 비밀번호 변경을 지원하지 않습니다.&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;참고 사항&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;사용자 생성 및 권한 부여 후에는 항상 &lt;code&gt;FLUSH PRIVILEGES&lt;/code&gt;를 실행하여 변경 사항을 적용하세요.&lt;/li&gt;
    &lt;li&gt;특정 사용자에 대해 읽기 전용 권한 등 제한된 권한을 부여하고 싶다면 다음처럼 설정할 수 있습니다:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; 데이터베이스명.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'사용자명'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'호스트'&lt;/span&gt;;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;</content><category term="우분투"></category></entry><entry><title>워드프레스 초기화 하는법. 다시 설치하는 방법</title><link href="/posts/weodeupeureseu-cogihwa-haneunbeob-dasi-seolcihaneun-bangbeob.html" rel="alternate"></link><published>2024-12-01T07:45:00+09:00</published><updated>2024-12-01T07:45:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/weodeupeureseu-cogihwa-haneunbeob-dasi-seolcihaneun-bangbeob.html</id><summary type="html">&lt;p&gt;워드프레스를 초기화하거나 다시 설치하려면, 기존 설치를 삭제하고 새롭 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;워드프레스를 초기화하거나 다시 설치하려면, 기존 설치를 삭제하고 새롭게 설정해야 합니다. 아래 방법에 따라 진행하세요.&lt;/p&gt;
&lt;hr /&gt;

&lt;h2&gt;1. &lt;strong&gt;기존 워드프레스 삭제&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;(1) &lt;strong&gt;워드프레스 파일 삭제&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;워드프레스 파일이 저장된 디렉터리를 삭제합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo &lt;span class="hljs-built_in"&gt;rm&lt;/span&gt; -rf /var/www/html/wordpress
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;(2) &lt;strong&gt;MySQL 데이터베이스 삭제&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;MySQL에 접속하여 기존 데이터베이스를 삭제합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;다음 명령어를 실행:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;DROP&lt;/span&gt; DATABASE wordpress;
&lt;span class="hljs-keyword"&gt;DROP&lt;/span&gt; &lt;span class="hljs-keyword"&gt;USER&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
FLUSH PRIVILEGES;
EXIT;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;2. &lt;strong&gt;새 워드프레스 설치 준비&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;(1) &lt;strong&gt;새 데이터베이스 및 사용자 생성&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;MySQL에서 새롭게 워드프레스용 데이터베이스와 사용자를 생성합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;다음 명령어 실행:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;CREATE&lt;/span&gt; DATABASE wordpress;
&lt;span class="hljs-keyword"&gt;CREATE&lt;/span&gt; &lt;span class="hljs-keyword"&gt;USER&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt; IDENTIFIED &lt;span class="hljs-keyword"&gt;BY&lt;/span&gt; &lt;span class="hljs-string"&gt;'새_비밀번호'&lt;/span&gt;;
&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ALL&lt;/span&gt; PRIVILEGES &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
FLUSH PRIVILEGES;
EXIT;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;3. &lt;strong&gt;워드프레스 파일 재설치&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;(1) &lt;strong&gt;워드프레스 다운로드&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;새로운 워드프레스 파일을 다운로드합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;wget https://wordpress.org/latest.tar.gz
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;(2) &lt;strong&gt;압축 해제 및 이동&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;tar -xvzf latest.tar.gz
sudo &lt;span class="hljs-built_in"&gt;mv&lt;/span&gt; wordpress /var/www/html/
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;(3) &lt;strong&gt;파일 권한 설정&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo &lt;span class="hljs-built_in"&gt;chown&lt;/span&gt; -R www-data:www-data /var/www/html/wordpress
sudo &lt;span class="hljs-built_in"&gt;chmod&lt;/span&gt; -R 755 /var/www/html/wordpress
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;4. &lt;strong&gt;Apache 설정 확인&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;이미 Apache 설정이 완료되어 있다면 이 단계는 생략 가능합니다.
워드프레스 가상 호스트 설정이 제대로 되어 있는지 확인하세요:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo nano /etc/apache2/sites-available/wordpress.conf
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;필요한 경우 설정을 활성화:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo a2ensite wordpress.conf
sudo systemctl reload apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;5. &lt;strong&gt;새 워드프레스 설치 진행&lt;/strong&gt;&lt;/h2&gt;
&lt;ol&gt;
    &lt;li&gt;웹 브라우저에서 서버 IP 주소 또는 도메인으로 접속:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;arduino&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-arduino"&gt;http:&lt;span class="hljs-comment"&gt;//서버_IP&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;새 데이터베이스 정보 입력&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;데이터베이스 이름: &lt;code&gt;wordpress&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;사용자 이름: &lt;code&gt;wp_user&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;비밀번호: 새로 설정한 비밀번호&lt;/li&gt;
    &lt;li&gt;호스트 이름: &lt;code&gt;localhost&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;관리자 계정 및 사이트 설정&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;사이트 이름, 관리자 계정, 비밀번호 등을 새로 설정합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2&gt;6. &lt;strong&gt;(선택) 기존 데이터 초기화&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;기존 데이터베이스를 삭제하지 않고 초기화하려면, 워드프레스 초기화 플러그인을 사용할 수 있습니다.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a target="_new" rel="noopener"&gt;Advanced WordPress Reset&lt;/a&gt;와 같은 플러그인을 설치하고 초기화 기능을 사용하세요.&lt;/li&gt;
&lt;/ul&gt;</content><category term="우분투"></category></entry><entry><title>데이터베이스 연결 중 오류</title><link href="/posts/deiteobeiseu-yeongyeol-jung-oryu.html" rel="alternate"></link><published>2024-12-01T07:43:00+09:00</published><updated>2024-12-01T07:43:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/deiteobeiseu-yeongyeol-jung-oryu.html</id><summary type="html">&lt;p&gt;wp-config.php의 사용자명과 비밀번호 정보가 올바르지 않거나 192.168.1.3의 데이터베이 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;wp-config.php의 사용자명과 비밀번호 정보가 올바르지 않거나 192.168.1.3의 데이터베이스 서버에 접근할 수 없다는 것을 의미합니다. 이는 호스트의 데이터베이스 서버가 동작하지 않고 있다는 것을 의미할 수도 있습니다.&lt;/p&gt;
&lt;hr /&gt;

&lt;h2&gt;1. &lt;strong&gt;&lt;code&gt;wp-config.php&lt;/code&gt; 파일의 설정 확인&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;워드프레스의 &lt;code&gt;wp-config.php&lt;/code&gt; 파일에 입력한 데이터베이스 정보가 정확한지 확인하세요.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo nano /var/www/html/wordpress/wp-config.php
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;확인해야 할 항목:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;php&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-php"&gt;&lt;span class="hljs-title function_ invoke__"&gt;define&lt;/span&gt;(&lt;span class="hljs-string"&gt;'DB_NAME'&lt;/span&gt;, &lt;span class="hljs-string"&gt;'wordpress'&lt;/span&gt;);        &lt;span class="hljs-comment"&gt;// 데이터베이스 이름&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-php"&gt;&lt;span class="hljs-title function_ invoke__"&gt;define&lt;/span&gt;(&lt;span class="hljs-string"&gt;'DB_USER'&lt;/span&gt;, &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;);          &lt;span class="hljs-comment"&gt;// 데이터베이스 사용자명&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-php"&gt;&lt;span class="hljs-title function_ invoke__"&gt;define&lt;/span&gt;(&lt;span class="hljs-string"&gt;'DB_PASSWORD'&lt;/span&gt;, &lt;span class="hljs-string"&gt;'비밀번호'&lt;/span&gt;);    &lt;span class="hljs-comment"&gt;// 데이터베이스 비밀번호&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-php"&gt;
&lt;span class="hljs-title function_ invoke__"&gt;define&lt;/span&gt;(&lt;span class="hljs-string"&gt;'DB_HOST'&lt;/span&gt;, &lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;);        &lt;span class="hljs-comment"&gt;// 호스트 이름&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;점검:&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;DB_NAME&lt;/strong&gt;: MySQL에서 생성한 데이터베이스 이름과 일치하는지 확인.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;DB_USER&lt;/strong&gt;: 데이터베이스 사용자 이름이 올바른지 확인.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;DB_PASSWORD&lt;/strong&gt;: MySQL 사용자 계정의 비밀번호와 동일한지 확인.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;DB_HOST&lt;/strong&gt;: 동일 서버에 설치된 MySQL이라면 &lt;code&gt;localhost&lt;/code&gt;로 유지.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2&gt;2. &lt;strong&gt;MySQL 사용자 권한 확인&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;MySQL에 접속해 사용자 권한이 제대로 설정되었는지 확인합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;다음 명령어를 실행:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;USE mysql;
&lt;span class="hljs-keyword"&gt;SELECT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;User&lt;/span&gt;, Host &lt;span class="hljs-keyword"&gt;FROM&lt;/span&gt; mysql.user &lt;span class="hljs-keyword"&gt;WHERE&lt;/span&gt; &lt;span class="hljs-keyword"&gt;User&lt;/span&gt; &lt;span class="hljs-operator"&gt;=&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;결과에 &lt;code&gt;wp_user&lt;/code&gt;와 &lt;code&gt;localhost&lt;/code&gt;가 포함되어 있는지 확인합니다.&lt;/li&gt;
    &lt;li&gt;권한이 제대로 설정되지 않았다면 다시 권한 부여:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ALL&lt;/span&gt; PRIVILEGES &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt; IDENTIFIED &lt;span class="hljs-keyword"&gt;BY&lt;/span&gt; &lt;span class="hljs-string"&gt;'비밀번호'&lt;/span&gt;;
FLUSH PRIVILEGES;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2&gt;3. &lt;strong&gt;MySQL 서버 상태 확인&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;MySQL 서버가 실행 중인지 확인합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo systemctl status mysql
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;MySQL 서버가 멈춰 있다면:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo systemctl start mysql
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;부팅 시 MySQL이 자동으로 시작되도록 설정:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo systemctl &lt;span class="hljs-built_in"&gt;enable&lt;/span&gt; mysql
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2&gt;4. &lt;strong&gt;MySQL에서 직접 접속 테스트&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;wp-config.php&lt;/code&gt;에 설정된 사용자 계정으로 데이터베이스에 접속할 수 있는지 테스트합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;mysql -u wp_user -p -h localhost
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;제대로 접속되면 MySQL CLI가 열립니다.&lt;/li&gt;
    &lt;li&gt;접속에 실패한다면 사용자 이름, 비밀번호, 또는 호스트 설정을 다시 확인하세요.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2&gt;5. &lt;strong&gt;방화벽 설정 확인&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;우분투 방화벽(UFW)을 사용 중인 경우 MySQL 포트(기본: 3306)가 열려 있는지 확인하세요.&lt;/p&gt;
&lt;p&gt;방화벽 상태 확인:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo ufw status
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;MySQL 포트를 열려면:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo ufw allow 3306
sudo ufw reload
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;6. &lt;strong&gt;&lt;code&gt;DB_HOST&lt;/code&gt; 설정 변경 (외부 서버 사용 시)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DB_HOST&lt;/code&gt;를 &lt;code&gt;localhost&lt;/code&gt; 대신 실제 MySQL 서버 IP 주소(&lt;code&gt;175.202.41.78&lt;/code&gt;)로 설정해 보세요.
&lt;code&gt;wp-config.php&lt;/code&gt; 파일에서:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;php&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-php"&gt;&lt;span class="hljs-title function_ invoke__"&gt;define&lt;/span&gt;(&lt;span class="hljs-string"&gt;'DB_HOST'&lt;/span&gt;, &lt;span class="hljs-string"&gt;'175.202.41.78'&lt;/span&gt;);
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;외부 서버일 경우 확인할 사항:&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;MySQL 서버에서 외부 접속이 허용되었는지 확인:
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ALL&lt;/span&gt; PRIVILEGES &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'%'&lt;/span&gt; IDENTIFIED &lt;span class="hljs-keyword"&gt;BY&lt;/span&gt; &lt;span class="hljs-string"&gt;'비밀번호'&lt;/span&gt;;
FLUSH PRIVILEGES;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
    &lt;li&gt;MySQL 설정 파일(&lt;code&gt;/etc/mysql/mysql.conf.d/mysqld.cnf&lt;/code&gt;)에서 &lt;code&gt;bind-address&lt;/code&gt; 항목이 &lt;code&gt;0.0.0.0&lt;/code&gt; 또는 특정 IP로 설정되어 있는지 확인하세요.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2&gt;7. &lt;strong&gt;Apache 및 PHP 로그 확인&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Apache와 PHP 로그를 확인하여 추가 오류 정보를 파악하세요.&lt;/p&gt;
&lt;p&gt;Apache 로그:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo &lt;span class="hljs-built_in"&gt;tail&lt;/span&gt; -f /var/log/apache2/error.log
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;PHP 오류 로그:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo &lt;span class="hljs-built_in"&gt;tail&lt;/span&gt; -f /var/log/php*.&lt;span class="hljs-built_in"&gt;log&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;</content><category term="우분투"></category></entry><entry><title>우분투에 워드프레스 설치하기</title><link href="/posts/ubuntue-weodeupeureseu-seolcihagi.html" rel="alternate"></link><published>2024-12-01T07:40:00+09:00</published><updated>2024-12-01T07:40:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/ubuntue-weodeupeureseu-seolcihagi.html</id><summary type="html">&lt;p&gt;우분투에 워드프레스를 설치하는 방법을 단계별로 안내드립니다. 이 과정 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;우분투에 워드프레스를 설치하는 방법을 단계별로 안내드립니다. 이 과정은 기본적으로 LAMP 스택(Linux, Apache, MySQL/MariaDB, PHP)을 설치하고, 워드프레스를 다운로드하여 설정하는 방식입니다.&lt;/p&gt;
&lt;hr /&gt;

&lt;h2&gt;1. &lt;strong&gt;우분투 업데이트&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;먼저 시스템을 최신 상태로 업데이트합니다.&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;2. &lt;strong&gt;LAMP 스택 설치&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;(1) &lt;strong&gt;Apache 설치&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt install apache2 -y
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Apache가 설치되었는지 확인:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo systemctl status apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;웹 브라우저에서 서버 IP 주소를 입력해 Apache 기본 페이지가 표시되면 정상적으로 설치된 것입니다.&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;(2) &lt;strong&gt;MySQL 또는 MariaDB 설치&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;MySQL 설치:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt install mysql-server -y
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;MySQL 초기 설정:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo mysql_secure_installation
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;설정 과정에서 관리자 비밀번호를 설정하고 기본 보안 옵션을 적용합니다.&lt;/p&gt;
&lt;hr /&gt;

&lt;h3&gt;(3) &lt;strong&gt;PHP 설치&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;PHP 및 필요한 확장 모듈 설치:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc -y
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;PHP가 제대로 설치되었는지 확인:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;php -v
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;3. &lt;strong&gt;워드프레스 설치&lt;/strong&gt;&lt;/h2&gt;
&lt;h3&gt;(1) &lt;strong&gt;워드프레스 다운로드&lt;/strong&gt;&lt;/h3&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;wget https://wordpress.org/latest.tar.gz
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;압축 해제:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;tar -xvzf latest.tar.gz
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;워드프레스 파일을 Apache의 웹 디렉토리로 이동:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo &lt;span class="hljs-built_in"&gt;mv&lt;/span&gt; wordpress /var/www/html/
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;(2) &lt;strong&gt;데이터베이스 설정&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;MySQL 콘솔에 접속:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo mysql -u root -p
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;다음 명령어를 사용해 워드프레스용 데이터베이스와 사용자를 생성:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;sql&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-sql"&gt;&lt;span class="hljs-keyword"&gt;CREATE&lt;/span&gt; DATABASE wordpress;
&lt;span class="hljs-keyword"&gt;CREATE&lt;/span&gt; &lt;span class="hljs-keyword"&gt;USER&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt; IDENTIFIED &lt;span class="hljs-keyword"&gt;BY&lt;/span&gt; &lt;span class="hljs-string"&gt;'비밀번호'&lt;/span&gt;;
&lt;span class="hljs-keyword"&gt;GRANT&lt;/span&gt; &lt;span class="hljs-keyword"&gt;ALL&lt;/span&gt; PRIVILEGES &lt;span class="hljs-keyword"&gt;ON&lt;/span&gt; wordpress.&lt;span class="hljs-operator"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword"&gt;TO&lt;/span&gt; &lt;span class="hljs-string"&gt;'wp_user'&lt;/span&gt;@&lt;span class="hljs-string"&gt;'localhost'&lt;/span&gt;;
FLUSH PRIVILEGES;
EXIT;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;(3) &lt;strong&gt;파일 권한 설정&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;워드프레스 디렉토리의 권한을 설정:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo &lt;span class="hljs-built_in"&gt;chown&lt;/span&gt; -R www-data:www-data /var/www/html/wordpress
sudo &lt;span class="hljs-built_in"&gt;chmod&lt;/span&gt; -R 755 /var/www/html/wordpress
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h3&gt;(4) &lt;strong&gt;Apache 설정&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;워드프레스용 Apache 가상 호스트 파일 생성:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo nano /etc/apache2/sites-available/wordpress.conf
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;다음 내용을 추가:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;&amp;lt;VirtualHost *:80&amp;gt;
    ServerAdmin admin@example.com
    DocumentRoot /var/www/html/wordpress
    ServerName example.com
    &amp;lt;Directory /var/www/html/wordpress&amp;gt;
        AllowOverride All
    &amp;lt;/Directory&amp;gt;
    ErrorLog &lt;span class="hljs-variable"&gt;${APACHE_LOG_DIR}&lt;/span&gt;/error.log
    CustomLog &lt;span class="hljs-variable"&gt;${APACHE_LOG_DIR}&lt;/span&gt;/access.log combined
&amp;lt;/VirtualHost&amp;gt;
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;파일 저장 후 닫기.&lt;/p&gt;
&lt;p&gt;Apache 설정 활성화:&lt;/p&gt;
&lt;div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"&gt;
&lt;div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none"&gt;bash&lt;/div&gt;
&lt;div class="sticky top-9 md:top-[5.75rem]"&gt;
&lt;div class="absolute bottom-0 right-2 flex h-9 items-center"&gt;
&lt;div class="flex items-center rounded bg-token-sidebar-surface-primary px-2 font-sans text-xs text-token-text-secondary dark:bg-token-main-surface-secondary"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="overflow-y-auto p-4" dir="ltr"&gt;&lt;code class="!whitespace-pre hljs language-bash"&gt;sudo a2ensite wordpress.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;h2&gt;4. &lt;strong&gt;워드프레스 설치 마무리&lt;/strong&gt;&lt;/h2&gt;
&lt;ol&gt;
    &lt;li&gt;웹 브라우저에서 서버의 IP 주소 또는 도메인 입력:
예: &lt;code&gt;http://서버_IP&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;워드프레스 설치 화면에서 데이터베이스 정보 입력:
&lt;ul&gt;
    &lt;li&gt;데이터베이스 이름: &lt;code&gt;wordpress&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;사용자 이름: &lt;code&gt;wp_user&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;비밀번호: 위에서 설정한 비밀번호&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;설치 완료 후 관리자 계정 설정.&lt;/li&gt;
&lt;/ol&gt;</content><category term="우분투"></category></entry><entry><title>우분투기반 워드프레서 설치 및 운영할 수 있도록 도와 주는 책은?</title><link href="/posts/ubuntugiban-weodeupeureseo-seolci-mic-unyeonghal-su-issdorog-dowa-juneun-caegeun.html" rel="alternate"></link><published>2024-12-01T07:38:00+09:00</published><updated>2024-12-01T07:38:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/ubuntugiban-weodeupeureseo-seolci-mic-unyeonghal-su-issdorog-dowa-juneun-caegeun.html</id><summary type="html">&lt;p&gt;우분투 기반에서 워드프레스를 설치하고 운영하는 방법을 다룬 책은 많지 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;우분투 기반에서 워드프레스를 설치하고 운영하는 방법을 다룬 책은 많지 않지만, 다음과 같은 책들이 도움을 줄 수 있습니다. 이와 함께 추가적으로 한국어로 된 온라인 자료도 활용하면 좋습니다.&lt;/p&gt;
&lt;h3&gt;추천 서적&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;"워드프레스 완벽 가이드" (한빛미디어)&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;워드프레스 설치, 운영, 테마, 플러그인 설정 등을 다룹니다.&lt;/li&gt;
    &lt;li&gt;주로 웹 호스팅 기반을 설명하지만, 우분투 환경에도 응용 가능합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;"리눅스 서버 관리 실무 바이블" (길벗)&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;리눅스 서버 설정부터 아파치, MySQL 등 우분투 서버 환경 설정을 포함하여 워드프레스 설치의 기초가 되는 내용을 다룹니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;"워드프레스 사이트 만들기" (정보문화사)&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;워드프레스 설치 및 커스터마이징 관련 내용을 다룹니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;"Linux Bible" (영문, Wiley)&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;우분투 서버를 기반으로 다양한 애플리케이션을 설치하는 방법을 설명합니다. 워드프레스 설치와 서버 최적화 관련 내용도 포함되어 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h3&gt;참고할 수 있는 온라인 자료&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;워드프레스 공식 문서 (한국어)&lt;/strong&gt;
&lt;a target="_new" rel="noopener"&gt;https://ko.wordpress.org/support/&lt;/a&gt;
설치, 운영, 관리 방법이 상세히 나와 있습니다.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;"우분투에서 LAMP 스택 설치 및 워드프레스 설정" 관련 블로그&lt;/strong&gt;
검색 키워드: "우분투 워드프레스 설치 가이드"&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;KT 인터넷 사용자 서버 설정 관련 자료&lt;/strong&gt;
KT의 포트 개방 및 DDNS 설정 가이드도 함께 확인하세요.&lt;/li&gt;
&lt;/ul&gt;</content><category term="우분투"></category></entry><entry><title>안녕하세요! SOON7SHOP에 오신것을 환영합니다</title><link href="/posts/annyeonghaseyo-soon7shope-osingeoseul-hwanyeonghabnida.html" rel="alternate"></link><published>2024-12-01T06:36:00+09:00</published><updated>2024-12-01T06:36:00+09:00</updated><author><name>SOON</name></author><id>tag:None,2024-12-01:/posts/annyeonghaseyo-soon7shope-osingeoseul-hwanyeonghabnida.html</id><summary type="html">&lt;!-- wp:paragraph --&gt;
&lt;p&gt;워드프레스에 오신 것을 환영합니다. 이것은 첫 글입니다. 바로 편집하거나 …&lt;/p&gt;</summary><content type="html">&lt;!-- wp:paragraph --&gt;
&lt;p&gt;워드프레스에 오신 것을 환영합니다. 이것은 첫 글입니다. 바로 편집하거나 삭제한 다음 쓰기 시작하세요!&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;</content><category term="메인"></category></entry></feed>