<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Linux on rammie_blog</title>
    <link>https://rammie-blog.xyz/tags/linux/</link>
    <description>Recent content in Linux on rammie_blog</description>
    <generator>Hugo</generator>
    <language>ko</language>
    <lastBuildDate>Wed, 27 Mar 2024 14:39:09 +0000</lastBuildDate>
    <atom:link href="https://rammie-blog.xyz/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>WSL로 GUI 프로그램 실행하기(wslg)</title>
      <link>https://rammie-blog.xyz/posts/gui-on-wsl/</link>
      <pubDate>Wed, 27 Mar 2024 14:39:09 +0000</pubDate>
      <guid>https://rammie-blog.xyz/posts/gui-on-wsl/</guid>
      <description>&lt;p&gt;굳이 그럴 필요는 없지만, 나는 내 서버를 사용하기 위해 Windows 노트북에서 WSL을 통해 Linux를 실행하고, 그 위에서 ssh 접속을 한다. WSL(Windows Subsystem for Linux)은 Windows 환경에서 별도의 VM 프로그램 없이 Linux OS를 이용할 수 있게 해준다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://learn.microsoft.com/ko-kr/windows/wsl/install&#34;&gt;WSL 설치&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;기존에는 CLI로만 서버를 제어하는 것으로 충분했는데, 최근에는 gui 프로그램 실행도 필요하게 되었다. 그런데 기존 WSL1에서는 gui를 지원하지 않는다. WSL의 gui(wslg)는 WSL2부터 지원한다(※ 아래 링크에서 WSL2 실행 조건 확인).&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://learn.microsoft.com/ko-kr/windows/wsl/tutorials/gui-apps&#34;&gt;WSL으로 Linux GUI 앱 실행&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nginx letsencrypt SSL 적용과 인증 문제</title>
      <link>https://rammie-blog.xyz/posts/nginx-ssl-troubleshooting/</link>
      <pubDate>Sat, 04 Nov 2023 14:39:47 +0000</pubDate>
      <guid>https://rammie-blog.xyz/posts/nginx-ssl-troubleshooting/</guid>
      <description>&lt;p&gt;서버를 구축하고, WordPress를 설치하고, 내 domain을 구매해서 이제 어디서나 domain 주소로 내 블로그에 접속할 수 있게 되었다. 하지만 이 상태로 블로그를 사용하면 보안이 취약해서 블로그 관리를 위한 로그인 정보 등이 해킹 당할 위험이 있다. 보안을 강화하기 위해서 SSL을 적용할 수 있다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;웹사이트 보안을 위한 방법, SSL이란?
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.naver.com/skinfosec2000/222135874222&#34;&gt;https://blog.naver.com/skinfosec2000/222135874222&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;내 domain 주소에 SSL을 적용하는 방법도 여러 블로그에 잘 설명되어 있다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nginx letsencrypt SSL 적용기
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://yeopbox.com/%EC%9A%B0%EB%B6%84%ED%88%ACubuntu-22-04-server-%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-nginx-letsencrypt-ssl-%EC%A0%81%EC%9A%A9%EA%B8%B0/&#34;&gt;https://yeopbox.com/우분투ubuntu-22-04-server-워드프레스-nginx-letsencrypt-ssl-적용기/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;그대로 따라하면 SSL 적용은 어렵지 않다. SSL을 적용하기 위해서는 인증서가 사용되는데, 이 인증서는 일정 주기(3개월)마다 갱신해줘야 한다. 위 블로그에서 인증서 자동 갱신을 적용하는 방법까지 설명되어 있지만, 나는 이 갱신이 수행되는 부분에서 문제가 발생했다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up sftp</title>
      <link>https://rammie-blog.xyz/posts/setting-up-sftp/</link>
      <pubDate>Wed, 11 Oct 2023 15:07:43 +0000</pubDate>
      <guid>https://rammie-blog.xyz/posts/setting-up-sftp/</guid>
      <description>&lt;p&gt;sFTP란 ssh File Transfer Protocol의 약자로, ssh 포트를 통해 파일을 주고 받을 수 있는 규약이다. FTP의 보안이 강화된 버전이라고 볼 수 있다.&lt;/p&gt;
&lt;p&gt;원격으로 파일을 전송할 때, 간단히 scp로도 전송할 수 있다. 하지만 전송해야 할 파일이 많거나, 용량이 크거나, 서버 간 다른 플랫폼을 사용하고 있다면 전송이 어려울 수 있다.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;scp -p [port] [file_path] [user_name]@[ip_address]:[target_path]
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;SCP vs SFTP
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://parkadd.tistory.com/129&#34;&gt;https://parkadd.tistory.com/129&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;나는 Windows에서 Ubuntu 서버로 file을 옮기는 작업을 주로 하기 때문에, sFTP를 setup하고 FileZila를 이용해서 전송을 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>내 domain 구매</title>
      <link>https://rammie-blog.xyz/posts/purchased-own-domain/</link>
      <pubDate>Sun, 20 Aug 2023 14:30:31 +0000</pubDate>
      <guid>https://rammie-blog.xyz/posts/purchased-own-domain/</guid>
      <description>&lt;p&gt;서버 구축과 WordPress 설치를 통해 나만의 블로그를 갖게 되었다. 웹 브라우저에 서버 IP를 넣으면 어디서든 내 블로그에 접속할 수 있다. 그런데 블로그 접속을 IP 주소로 하다니? 뭔가가 아쉽다. IP주소는 외우기도 어렵고, 다른 사람에게 알려주기도 애매하다. 문자로 된 주소를 사용하려면 어떻게 해야할까?&lt;/p&gt;
&lt;p&gt;내가 원하는 문자 domain을 사용하려면 돈을 내고 해당 주소를 사야한다. 정확히는 해당 문자 주소와 내 서버 IP를 연결해주는 서비스에 비용을 지불해야한다. 왜인지는 모르겠지만 domain 종류마다도 가격이 다른데, 가장 흔히 보이는 .com 주소가 제일 비싸다. 검색해 보니, 예전에는 .tk .ml .ga 등의 아직 인터넷 보급이 활발하지 않은 나라의 domain을 무료 또는 저렴한 가격에 사용할 수 있는 서비스가 있었던 것 같은데, 지금은 더이상 무료로 제공되는 domain은 없는 것 같다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>서버에 WordPress 설치하기</title>
      <link>https://rammie-blog.xyz/posts/install-wordpress/</link>
      <pubDate>Sun, 20 Aug 2023 08:56:51 +0000</pubDate>
      <guid>https://rammie-blog.xyz/posts/install-wordpress/</guid>
      <description>&lt;p&gt;요즘은 많은 홈페이지와 블로그들이 WordPress를 통해서 만들어진다고 한다. WordPress를 설치형 블로그라고 하는데, 페이지 모양을 구성해주는 일종의 템플릿이다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://namu.wiki/w/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4&#34;&gt;https://namu.wiki/w/워드프레스&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;서버 구축 이후, WordPress 설치와 사용을 위해서는 선행해야 할 작업들이 있다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NGINX 설치
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://yeopbox.com/%EC%9A%B0%EB%B6%84%ED%88%ACubuntu-22-04-server-php-nginx-%EC%84%A4%EC%B9%98%EA%B8%B0/&#34;&gt;https://yeopbox.com/우분투ubuntu-22-04-server-php-nginx-설치기/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;PHP 설치
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://yeopbox.com/%EC%9A%B0%EB%B6%84%ED%88%ACubuntu-22-04-server-php-nginx-%EC%84%A4%EC%B9%98%EA%B8%B0/&#34;&gt;https://yeopbox.com/우분투ubuntu-22-04-server-php-nginx-설치기/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;MariaDB 설치
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://yeopbox.com/%EC%9A%B0%EB%B6%84%ED%88%ACubuntu-22-04-server-mariadb-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EA%B8%B0%EB%B3%B8-%EC%84%A4%EC%A0%95/&#34;&gt;https://yeopbox.com/우분투ubuntu-22-04-server-mariadb-설치-및-기본-설정/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;위 프로그램 들은 왜 필요한 것일까?&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://namu.wiki/w/NGINX&#34;&gt;NGINX&lt;/a&gt;는 웹 서버 프로그램이다. 웹 서버 프로그램에 대해 설명한 글 중 가장 이해하기 쉬웠던 것은, 웹 서버 프로그램이 웹 브라우저의 반대 역할을 하는 프로그램이라는 것이다. 서버는 NGINX를 통해 웹 페이지를 제공하고, 클라이언트는 Chrome, Safari등을 통해 이 웹 페이지를 볼 수 있다. 대표적은 웹 서버 프로그램으로는 &lt;a href=&#34;https://namu.wiki/w/%EC%95%84%ED%8C%8C%EC%B9%98%20HTTP%20%EC%84%9C%EB%B2%84&#34;&gt;Apache HTTP server&lt;/a&gt;가 있는데, 현재 사용률이 가장 높지만 무겁다는 단점이 있다. 나는 저사양의 미니PC로 서버를 만들었기 때문에, 무조건 가벼운 NGINX를 사용하기로 했다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>nohup, linux 터미널을 종료해도 실행되는 프로세스</title>
      <link>https://rammie-blog.xyz/posts/using-nohup/</link>
      <pubDate>Sat, 22 Apr 2023 07:16:14 +0000</pubDate>
      <guid>https://rammie-blog.xyz/posts/using-nohup/</guid>
      <description>&lt;p&gt;Script를 짜는 이유는, 내가 하기 귀찮은 일을 실행시켜놓고 다른 일을 하기 위해서다. 일반적으로 script를 돌려놓자면 터미널을 열어놓은 상태여야 하는데, 해당 터미널을 종료하면 거기서 실행했던 프로세스들도 함께 종료되는 문제가 있다. 특히 나는 애플 device에서 termius로 서버에 접속할 때가 많은데, termius 무료 버전은 termius가 background로 들어갈 때 열려있던 터미널을 닫아버린다. 그래서 터미널을 종료해도 서버가 켜져있다면 프로세스를 유지할 수 있는 방법을 찾아보았다. 몇 가지 방법이 있지만, 그 중 nohup 명령어를 사용하는게 가장 간편한 듯 하여 소개하고자 한다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>홈 서버 구축기</title>
      <link>https://rammie-blog.xyz/posts/building-home-server/</link>
      <pubDate>Fri, 24 Mar 2023 12:52:09 +0000</pubDate>
      <guid>https://rammie-blog.xyz/posts/building-home-server/</guid>
      <description>&lt;h2 id=&#34;0-홈-서버-용-하드웨어-준비&#34;&gt;0. 홈 서버 용 하드웨어 준비&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;당근으로 미니PC 구매
&lt;ul&gt;
&lt;li&gt;Intel Core i3-4130T 2.9GHz CPU&lt;/li&gt;
&lt;li&gt;16GB RAM&lt;/li&gt;
&lt;li&gt;512GB SSD&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;집에서 사용중인 공유기에 유선으로 연결
&lt;ul&gt;
&lt;li&gt;공유기 : NETGEAR R6350
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.netgear.com/kr/home/wifi/routers/r6350/&#34;&gt;https://www.netgear.com/kr/home/wifi/routers/r6350/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;1-linux-os-설치&#34;&gt;1. Linux OS 설치&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://nitr0.tistory.com/324&#34;&gt;https://nitr0.tistory.com/324&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ubuntu Server 22.04.2 LTS
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ubuntu.com/download/server&#34;&gt;https://ubuntu.com/download/server&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;중간에 생성하는 username과 password 기억해놓기&lt;/strong&gt; (ssh 접속을 위해 사용)&lt;/li&gt;
&lt;li&gt;System update&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  $ sudo apt-get update
  $ sudo apt-get upgrade
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;LAN card logical name 확인&lt;/li&gt;
&lt;li&gt;Local IP 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  $ sudo lshw -c network
  $ ip a
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;2-ssh-연결&#34;&gt;2. ssh 연결&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;server에 접속할 기기를 server가 연결된 공유기 network 에 연결&lt;/li&gt;
&lt;li&gt;Window PC에서는 WSL 이용
&lt;ul&gt;
&lt;li&gt;WSL 설치: &lt;a href=&#34;https://blog.naver.com/yul1214/222661248678&#34;&gt;https://blog.naver.com/yul1214/222661248678&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;WSL 터미널에서 ssh 명령으로 server에 접속&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  $ ssh &amp;lt;username&amp;gt;@&amp;lt;ip&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;iPad, iPhone 등 apple 기기에서는 Termius 이용
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://johncom.tistory.com/45&#34;&gt;https://johncom.tistory.com/45&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;이제 서버 에 연결된 모니터와 키보드를 제거해도 ssh 접속으로 서버를 제어할 수 있다.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;3-ubuntu-보안-강화&#34;&gt;3. Ubuntu 보안 강화&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ssh port 변경
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://nitr0.tistory.com/327?category=836159&#34;&gt;https://nitr0.tistory.com/327?category=836159&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://yeopbox.com/%EC%9A%B0%EB%B6%84%ED%88%ACubuntu-22-04-server-ssh-%ED%8F%AC%ED%8A%B8-%EB%B3%80%EA%B2%BD-%EB%B0%8F-%EC%A0%81%EC%9A%A9%EA%B8%B0/&#34;&gt;http://yeopbox.com/우분투ubuntu-22-04-server-ssh-포트-변경-및-적용기/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;변경된 port 번호 적용하여 ssh 연결&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  $ ssh &amp;lt;username&amp;gt;@&amp;lt;ip&amp;gt; -p &amp;lt;port&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;service 이름(ssh)에 mapping된 port 번호 수정&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  $ sudo vi /etc/services
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;설정 적용을 위한 재시작&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  $ service ssh restart
  $ sudo reboot
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;방화벽 활성화
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://nitr0.tistory.com/326&#34;&gt;https://nitr0.tistory.com/326&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ufw 설치 (Ubuntu 설치 시, 기본으로 포함되어있을 수 있음)&lt;/li&gt;
&lt;li&gt;활성화 하지 않음면 기본으로 꺼져있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  $ sudo apt-get install ufw
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;수정된 port를 허용하고 기본 ssh port인 22번을 제한&lt;/li&gt;
&lt;li&gt;ssh 서비스 허용&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  $ sudo ufw allow &amp;lt;port&amp;gt;
  $ sudo ufw allow ssh
  $ sudo ufw deny 22
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;ufw 활성화&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  $ sudo ufw enable
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;fail2ban 설치
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://nitr0.tistory.com/328&#34;&gt;https://nitr0.tistory.com/328&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;4-외부로-port-열기-port-fowarding&#34;&gt;4. 외부로 port 열기 (port fowarding)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;※ 주의: port fowarding을 적용하면 즉시 서버가 외부에 노출되므로 반드시 보안강화를 먼저 진행한 후 port를 열어준다.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
