Jay의 개발블로그

적다보면 언젠가 늘어있을 내 실력

Cloud & Infra

Ubuntu 기본 환경 구축

Jay_on_Day 2024. 7. 7. 20:02
반응형

CentOS와 Ubuntu를 모두 설치하고 네트워크 등 여러 설치들을 하고 본격적으로 SSH를 사용할 환경이라든지 여러 통신을 위한 프로그램들을 설치해야할 타이밍...

 

우분투부터 시작해봅시다.

우분투에 로그인하면 이렇게 화면이 나옵니다.

sudo su - 를 입력해서 엔터쳐서 root 계정에 들어간다.

하지만 우리가 쓰는 개인 가상 환경엔 이렇게 일일히 비밀번호 치고 들어가는게 매우매우 귀찮다.

이건 그래서 선택사항으로, sudo su - 를 비밀번호 없이 들어가는 방법을 말해주겠다. 다만, 이건 root권한을 통해서 들어가는 방식이므로, 자칫 잘못만졌다간, 태초마을부터 다시 가야할 수도 있으니 매우매우 신경을 많이 써서 집중하여야한다.

root 인 상황에서 아래와 같이 입력한다.

# vi /etc/sudoers

vi /etc/sudoers를 치면 이렇게 나올 것이다. 하지만 vi를 운용하기엔 우분투에선 너무 골치 아픈 일들이 많이 일어난다.

예를 들면, vi 단축키를 썼는데, 인식을 잘 못하여서 빈칸에 글을 적는다거나, 글자가 지워지지도 않는 상황이 벌어진다.

root인 상황에서
# apt install vim -y

vim은 vi의 단점을 개선한 확장판 버전이라 생각해도 좋다.

그럼 다시..

# vi /etc/sudoers

그리고 내 사용자 이름인 guru에 대한 비밀번호 입력을 하도록 설정한다.

그 이후 exit와 sudo su - 를 다시 쳐보고 들어가지면 1차는 성공이다. 만약 여기서 Denied가 뜨면, root로 들어갈 수 없다.

비유를 하자면, 새로운 자동문키를 집안에두고 나오는 격이다. 

이럴땐, 포맷이 답이다. 그렇기에 집중해서 설정해야한다.

추가로 마지막 테스트를 해보자면, guru인 상태에서 sudo apt install tree를 한번 입력해보자(tree는 파일 경로를 트리구조로 볼 수 있게 도와주는 프로그램이다.)

그러면 원래의 유저이름에서 sudo를 붙이면 비밀번호를 입력하라고 하는 상황에서 바로 설치가 진행되는 모습을 볼 수 있다.

이렇게 세팅을 해주고, 한번 핑 테스트를 진행해보겠다. 

ping 8.8.8.8 -c 3은 8.8.8.8에 핑을 3번쏴서 3번 받겠다는 뜻이다. -c 3이 없으면 무한대로 핑이 계속 나올 것이다.

만약 ping의 응답시간이 잘 안 나오는 상황이라면, 

nmtui

 

nmtui는 network manager text user interface라는 뜻이다.

여기서 네트워크 설정을 다시 해줘야한다.

이런 화면이 똿! 뜬다.

그러면 Edit a connection을 들어가서...

Edit...에 엔터
이렇게 잘 설정 되어있는지 확인해야한다.

 

그렇게 설정 되어있는데도 안되는 거면, 

Activate a connection에 들어가본다.

 

Deactivate가 뜰텐데, Deactivate상태가 아니라, Deactivate를 하겠다는 버튼이다. 고로 한번 Deactivate했다가 Activate를 한다.

 

그리고 나가서 다시 핑을 점검해보자. 다시 잘 된다면 OKAY!!!

 

apt 패키지 관련 명령어를 좀 적어두는게 좋을 듯 하다.

 

그 이후에 패키지 저장소 목록(repository)를 최신으로 업데이트 해야한다.

apt로 다운 받을 설치 패키지들의 버전들이 최신인지를 확인후 업데이트 하는것이다.

sudo apt update

 

그리고 업그레이트 가능한 패키지 리스트 목록을 확인한다.

sudo apt list --upgradable

 

패키지 설치 - 설치된 것도 확인 할 수 있고, 설치 할 수 있는 것도 설치할 수 있고, 업그레이드 가능한 패키지와 여러 관련 성 있는 것들 모두 설치 할 수 있다.

sudo apt install 패키지명

 

패키지 삭제

sudo apt remove 패키지명

 

자 이 명령어들을 바탕으로 ssh를 연결하도록 도와줄 openssh-server를 설치하겠다.

- openssh-server 설치

sudo apt install openssh-server

 

- 잘 동작중인지 확인하기 위한 코드

sudo systemctl status ssh

보면 active(running)을 확인할 수 있다.

보면 port가 22로 되어있는데, tcp로 외부 로그인이 가능하게 허용하게 되는데, 언제나, public이 아닌 로컬만 가능하단 점을 이해해주길 바란다. public은 진짜 우리가 생각하는 다른 ip주소를 갖고 있어도 접속이 가능한 것이고, 로컬은 같은 ip를 같고 있는 것이다. 

그리고 항상 시스템이 시작되면 자동으로 실행되게끔 하는 명령어가 하나 있는데

sudo systemctl enable ssh

이러면 시스템을 동작과 동시에, ssh도 자동으로 실행되게 한다.

 

여기에 또 하나 Apache를 한번 설치해보자.

먼저 apache를 깔 때, 패키지들이 다운로드 되어있는지 봐보자.

sudo apt list --installed | grep apache
apt를 통해 설치가 된 리스트들을 보는데 apache라는 프로그램이 깔려 있는지를 확인해줘. 라는 뜻

아무것도 뜨지 않는다. 그저 apt가 CLI환경에서 불완전하다고만 경고할 뿐이다.

그러면 아파치를 본격적으로 깔아야한다. 

sudo apt install apache2 -y

이렇게 설치가 된다. 혹시 모르니 아까 한 list --installed ❘ grep apache를 해본다.

이렇게 아까와는 다르게 지금은 apache들이 깔려있는 모습을 볼 수 있다.

그럼 실행과 동시에 시스템이 실행되면 apache도 같이 실행되게 해주자.

apache 실행
sudo systemctl start apache2

apache 실행중인지 확인하기
sudo systemctl status apache2

apache 시스템 실행과 동시에 실행되도록 하기
sudo systemctl enable apache2

sudo systemctl enable apache2 까지 적용시키고, 아파치가 생성한 웹 페이지가 잘 작동하고 있는지 확인해보자.

각자 본인이 설정한 IP주소를 입력하면 된다.

이렇게 뜬다면 매우 훌륭하다. 이 페이지를 수정하는 과정도 가능하다.

cd /var/www/html
ls

이렇게 하게되면 index.html 파일이 하나있다.

cat > 명령어는 index.html을 새로운 파일처럼 빈 화면안에서 코드를 짜는 것이다.

근데 permission denied가 떴다. 이러면 sudo su -로 root로 접근해야할 것이다. 그리고 다시 cat > 으로 수정 시도.

멋사에서 배운 html 실력 안 죽었다. 좋았던 추억이었다.

그 이후에 ctrl d를 눌러주면 완성이된다. 그리고 아까 ip주소를 웹 브라우저에 다시 재접속을 해보자. 이미 열어뒀던 사람은 해당 페이지에 새로고침해도 상관없다. 

내가 만든 내 세상이야!!!

이로서 아파치까지 설치하였다.

PS : 비밀번호 없이 이용하는 것을 여기저기 찾느라 시간도 허비하고, 최대한 아무런 베이스가 없는 분들도 이해하기 쉽게 어떻게 풀어서 설명할까도 고민을 많이 했던 하루였다... CentOS에는 MariaDB설치랑 AWS에서도 만들어서 연동하기.. 쉽지 않다 쉽지 않아... 

반응형