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 + C → Y / y → enter 로 저장할 수 있다
- /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 서비스 시작/재시작/종료 명령어
그 외
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 |