본문 바로가기

Linux

[Linux] Linux 기초 서버 띄우기 (Windows)

Ubuntu 22.04.1 LTS 설치

부트캠프에서 공부할 때 설치했던 18.04.5 LTS보다 더 최신 버전인 22.04.1 버전으로 진행하기위해 설치부터 진행하였다.

한줄 요약
Microsoft Store → ubuntu 검색 → Ubuntu 22.04.1 LTS 클릭 → 다운로드 → 열기 →  사용자 이름 및 비밀번호 입력

 

Microsoft Store에서 ubuntu 검색 후 Ubuntu 22.04.1 LTS 다운

 

 

 

Ubuntu 실행, 잠시 대기 후 사용자 이름과 password 입력

 

 

 

Windows Terminal 관리자 권한으로 실행

 

 

여기까지 진행했다면 이제부터 리눅스로 서버를 띄울 수 있지만 나는 큰 착오로 인해 서버를 띄우지 못했었다..

혹여나 이전 버전이 깔려있는 상태에서 진행하거나 오류가 발생한다면 더보기클릭!

더보기

나는 Ubuntu 18.04.1 이 깔려있는 채로 22.04.1을 설치했고 그 후로 터미널을 열어 실습을 진행했지만 여기서 큰 착오가 있었다..

 

실습을.. 18.04.1로 진행한 것...

 

22.04.1로 진행하려 했더니 2147942402 (0x80070002) 오류 발생 이라는 에러메세지만이 출력되었다.

알아보니 나는 wls2를 수동설치 후 스토어에서 우분투를 설치했을 때 자동 설치가 안돼서 발생한것으로 보였다.

 

이를 해결하기 위해 자동설치를 진행해보았다.

 

자동설치 방법

 

1. 윈도우 + R키로 실행창 실행 → cmd 입력하여 명령 프롬프트 실행 → where ubuntu.exe 입력

2. 파워쉘 오픈 → cmd .exe /c ver 입력

    ⇒ (x64 기준) 버전이 10.0.19041 이상으로 확인될 시 자동설치 시도 가능

3. 파워쉘에 wsl .exe --install 입력 (wls 자동 설치 명령어)

4. 파워쉘에 wsl .exe --install -d -Ubuntu 입력 (우분투 배포판 설치 명령어)

 

위 순서로 진행하니 해결되었다!

참고블로그 https://sslblog.tistory.com/m/31

Linux 명령어 및 서버 띄우기

 

sudo passwd root : 초기 root 계정 비밀번호 설정 명령어

 

  • 우분투를 처음 설치하게 되면 가장 먼저 해줘야하는 관리자 비밀번호 설정


su : substitute user의 약자

 

  • 현 사용자를 로그아웃 하지 않고, 다른 사용자의 권한을 획득 시 사용
  • 사용법 : su [변경하고자 하는 사용자 ID]
    • 변경하고자 하는 사용자 ID를 입력하지 않으면 root 계정(관리자 계정)으로 변경된다
    • root 계정은 초기 암호 설정 후에 들어갈 수 있다

  • 루트계정에서 exit 를 입력하게되면 원래 사용자 계정으로 돌아올 수 있다


 

sudo nano /etc/apt/sources.list : Ubuntu Repository 파일 편집기 오픈 명령어

 

  • nano : 기본적으로 많이 사용하는 편집기
    • sudo를 붙이지 않고 nano /etc/apt/sources.list 를 입력하게되면 readOnly(편집불가) 파일로 볼 수 있다
    • 파일 편집 후 ctrl + CY / yenter 로 저장할 수 있다

편집 불가 파일

 

편집 가능 파일

 

  • /etc/apt/sources.list : Ubuntu 설치 시  Repository가 관리되는 기본 파일
    • Repository : 우분투에서 바이너리 패키지를 받게되는 저장소
    • wsl 기존 서버 : archive.ubuntu.com
    • 한국 서버일수록 속도 up! 카카오 서버로 변경
    • ctrl + \ 키 → 변경할 부분 드래그 후 우클릭 → A키 로 변경할 부분 전체 선택이 가능
      • 나는 위 키가 적용이 안되어 ctrl+c/v로 해결

서버목록

더보기
제공자 URL 비고
Ubuntu (기존) archive.ubuntu.com  
Ubuntu (KOR 기본) kr.archive.ubuntu.com KAIST에서 제공
Kakao mirror.kakao.com 가장 빠름.
Daum ftp.daum.net Kakao와 동일서버로 확인
Neowiz ftp.neowiz.com  
Harukasan ftp.harukasan.org  
LANET ubuntu-iso.lanet.kr  

apt-get update : 설치 가능 리스트 업데이트 명령어

 

  • 운영체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하는 명령어
  • 서버 띄우기 전 한번씩 진행하는 편이 좋음
  • upgrade 전, 선 진행 필수


apt-get upgrade : 패키지 업그레이드 명령어

 

  • 운영체제에 설치해둔 패키지들은 최신버전으로 업그레이드
  • apt-get update 로 가져온 각 패키지들의 최신 버전에 맞게 업그레이드 진행

업그레이드 완료


SSH Server

 

sudo apt install openssh-server : Open SSH Server 설치 명령어

 

  • 외부에서 안전한 접속 위한 SSH 서버 설치


sudo nano /etc/ssh/sshd_config : SSH 서버 접속 포트 변경 명령어

 

  • ssh 의 기본 포트 : 22
    • 중국으로부터 수많은 해킹시도 가능성 높음. 다른 포트번호 사용 권장
    • ex) Port 1234 등
  • 포트 변경 후 ssh 재시작 필요


sudo service ssh start/restart/stop : ssh 서비스 시작/재시작/종료 명령어

 

ssh 서비스 시작

 

ssh 서비스 재시작


그 외

 

더보기

sudo systemctl status ssh : ssh 서비스 상태 확인 명령어

    ⇒ 동작 안됨. 원인은 아직 파악 못함 

 

ufw : 우분투 방화벽


Nginx 설치

 

sudo apt install nginx : Nginx 설치 명령어

 

  • Nginx : 오픈 소스 웹 서버 프로그램
  • Linux, Windiws 모두 실행 가능
  • 역방향 프록시 서버 구성 가능


sudo service nginx start/restart : Nginx 시작/재시작 명령어

 

nginx start 시 동작 확인

  •  http://127.0.0.1

 

  • sudo service nginx status : nginx 동작 확인 명령어


Nginx 설정

 

/etc/nginx/sites-enabled/ : 설정파일 활성화 용도

 

  • 루트 디렉토리에서 sudo nano /etc/nginx/nginx.conf 명령어를 입력하게 되면 아래와 같은 코드를 접할 수 있다.
http {
		
        ##
        # Basic Settings
        ##
        
        ...
        ...
        
        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
}

 

  • include 설정은 다른 파일을 nginx.conf 파일로 가져와 적용시키는 설정
  • nginx.conf 파일 이외에 존재하는 nginx의 기본 설정 파일들을 불러와 적용시키는데 사용

ll /etc/nginx/sites-enabled/ : sites-enabled에 존재하는 파일 리스트 출력 명령어

 

  • default -> /etc/nginx/sites-available/default 
  • sites-enabled 파일리스트를 출력했을 때 위와 같은 형태의 파일이 보일텐데 이는 심볼릭링크이다

심볼릭링크

더보기

심볼릭링크는 윈도우의 바로가기와도 비슷하다.

즉, 실제 동작하는 설정은 sites-available에 위치하고, sites-enabled는 그 설정을 끌어와 활성화시키는 것이다.


sudo nano /etc/nginx/sites-available/default : 실 동작 설정 파일 편집기 오픈 명령어

 

 

 

  • 실제 동작하는 설정 파일을 열어보면 default 심볼릭링크 경로인 /var/www/html 확인 가능

새로운 html 파일 생성하여 서버에 띄우기

 

sudo mkdir test : 루트 디렉토리에서 test 디렉토리 생성

 

cd test : test 디렉토리로 이동

 

sudo nano index.html : index.html 파일 생성

## index.html 컨벤션

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Linux My Page Test</title>
  </head>
  <body>
    <p>Success to connection!!</p>
  </body>
</html>

cd /var/www/ : /var/www/ 디렉토리로 이동

 

ll : /var/www/ 에 있는 파일 리스트 출력

 

sudo ln -s /home/사용자이름/test/ : test 디렉토리를 심볼릭링크로 연결

 

ll : /var/www/ 에 심볼릭링크가 제대로 연결되었는지 확인


cd / : home 디렉토리로 이동

 

cd /etc/nginx/sites-available : /etc/nginx/sites-available 로 이동

 

ll : sites-available에 위치한 파일 리스트 출력

 

sudo nano test : test 파일 생성

 

ll : test 파일 생성되었는지 확인

# test 심볼릭링크 경로 파일인 test 컨벤션 코드

server {
          server_name     127.0.0.1;

          root      /var/www/test;
          index     index.html index.htm index.php;
}

cd .. : 전 디렉토리로 이동

 

cd sites-enabled/ : sites-enabled 디렉토리로 이동

 

sudo ln -s /etc/nginx/sites-available/test : test 파일을 심볼릭링크로 연결

 

ll : 심볼릭링크가 제대로 연결되었는지 확인

 

sudo service nginx restart : nginx 재시작

 

http://127.0.0.1 로 접속하여 "Success to connection!!" 이 뜨는지 확인

 

접속했을때 403에러 발생시

더보기

홈 디렉터리에서 sudo nano /etc/nginx/nginx.conf 입력

상단에 위치한 user www-data; user root; 로 변경 후 저장

/etc/nginx/sites-enabled/ 경로에서 nginx restart

 

참고 블로그 https://rnokhs.tistory.com/entry/Nginx-403-13-Permission-denied-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0

 

 

참고 블로그
https://jhnyang.tistory.com/136
https://chhanz.github.io/linux/2022/05/09/ubuntu-apt/
https://bigbigpark.github.io/linux/change_repo/
https://nevaterms.tistory.com/3
https://dev.plusblog.co.kr/22
https://cookiepress.co.kr/%EC%9A%B0%EB%B6%84%ED%88%AC-ssh/

'Linux' 카테고리의 다른 글

[Linux] client, server 프로젝트 배포  (0) 2023.01.05
[Linux] MariaDB 연동하기 (feat. DataGrip)  (0) 2022.12.26
Recent Posts
Popular Posts
Recent Comments