Jay의 개발블로그

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

Cloud & Infra

CentOS 기본환경 구축

Jay_on_Day 2024. 7. 14. 16:55
반응형

지난 주에는 우분투 기본환경 구축을 했었다. 이번에는 CentOS 기본환경 구축을 해보겠다.

SSH랑 MariaDB를 설치해보겠다.

이번 한주도 힘들었던 한주를 보내서 그런지, 목도 뻐근하고, 회식 때문인지 옆구리도 아프긴 하지만, 화이팅해보겠다.

하나 둘 셋 화이팅!!!!

 

일단 CentOS를 작동시키면 이런 화면이 나오게 된다. 

여기서 난 기존에 만들었던 ec2-user로 로그인하겠다.

 

이러면 ec2-user로 로그인에 성공했다. sshd를 여기서도 설치를 해주자.

그리고 이자리를 빌어 소중한 자료를 제공해준 나의 LG U+ Why Not SW camp 동기에게 감사의 인사를(꾸벅)

su - 

# root로 접속

 

그 이후에 .. 

yum list available 
# 현재 시스템에 설치된 패키지 목록중 upgrade가능 또는 설치 가능한 패키지 목록 전부 출력

실행하였더니...?

뭐야...?

오류가 떴다. 무엇이 문제였을까...?

대략 보면, 뭔가 mirror가 문제라고 하는데,,, 한번 확인해보자.

일단 핑부터 안되는데... nmtui를 실행해보자.

nmtui로 들어가보면, 

어라라. 왜 Activate되어있지 않는거지?

왜 Activate상태가 아닌거지? Activate하고 다시 가보자.

핑이 돌아왔다. 이러면 네트워크는 이상 무.

그렇게 하고 다시 yum list available 을 실행했다.

또 이러네...?

그러면 네트워크 문제는 아녔을 것이다. 그러면 yum에서 mirror 즉, 파일 다운주소가 참고되어 설치되는 주소값이 잘못된 것이다.

이럴 땐,, 

 

cd /etc/yum.repos.d에 접속해서 vim으로 CentOS-Base.repo파일을 수정해주자.

vi CentOS-Base.repo를 하게되면 아래와 같은 화면이 보이게 된다.

이 화면이 나오면 성공.

그런 다음 아래와 같이 수정하도록 한다.

[base]
name=CentOS-$releasever - Base
mirrorlist = 어쩌구 저쩌구 이 줄 삭제해주시면 됩니다.
# (insert처럼 아무런 모드가 아닌 상태에서 해당 줄에 dd를 누르면 해당 줄은 삭제됩니다.)
baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
mirrorlist = 어쩌구 저쩌구 이 줄 삭제해주시면 됩니다.
baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
mirrorlist = 어쩌구 저쩌구 이 줄 삭제해주시면 됩니다.
baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus
mirrorlist = 어쩌구 저쩌구 이 줄 삭제해주시면 됩니다.
baseurl=http://vault.centos.org/7.9.2009/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

# 위에서 $releasever를 7.9.2009로 명시하였습니다. CentOS 7의 최종 릴리즈 버전입니다.

sudo yum clean all
sudo yum makecache

sudo yum clean all까지 해서 작동이 잘 된거면 OK!

자 그럼 다시 본론으로 돌아가서, 이러면 yum이 다시 정상 작동이 된다.

yum list available 
# 현재 시스템에 설치된 패키지 목록중 upgrade가능 또는 설치 가능한 패키지 목록 전부 출력

 

실행하니 뭔가 엄청나게 많은 리스트들이 보이기 시작한다. 잘 작동되니 속이 후련~~

# sshd 패키지 설치 (설치되지 않은 경우)
yum install openssh-server

컴플리트!

# CentOS는 자동으로 서비스 데몬이 실행되지 않음.
systemctl start sshd.service

# CentOS에 ssh가 실행중인지 확인
systemctl status sshd.service

# 부팅 시 자동으로 실행되도록 구성
systemctl enable sshd.service

SSH 설치 끝!

 

여기까지가 SSH를 설치를 완료하였다. 그렇다면 이제 mariaDB를 설치해보자.

# mariadb-server가 보일 것이다. 
yum search mariadb

# mariadb-server를 설치하면서 동의사항을 y로 입력하게 한다.
yum install -y mariadb mariadb-server

# mariadb를 실행
systemctl start mariadb

# mariadb를 CentOS가 실행됨과 동시에 같이 실행되게 하기
systemctl enable mariadb

# mariadb가 잘 실행중인가 확인
systemctl status mariadb

 

이러면 완료!

 

한번 잘 작동되나 보자. mysql을 실행한다.

Q. 왜 mysql로 실행하나요? 

A. 좋은 질문이다. mariaDB를 설치했는데, mysql로 실행하는 이유는, mysql을 만든 회사가 mysql AB라는 회사였는데, 오라클에서 인수를 하려고 했었다. 물론 지금은 인수가 되었지만, 당시에 mysql AB에 일하던 직원 한분이 회사에 항의식으로 회사 밖에서 만든 게 mariaDB이다. mysql을 만들고 다루다보니 형식이나 뿌리부터가 mysql이기 때문에 그렇다.

TMI : mariaDB의 maria는 만든 사람의 딸의 이름에서 따왔다고...

아주 좋아.

> Show databases; 는 말 그대로 데이터베이스들을 보여달라는 소리다.

DB가 뭐있는지도 봤다.

> use mysql은 '나 mysql이라는 데이터베이스 쓸래.' 라는 뜻이다.

 

root라는 유저를 사용할 때, pass라는 비밀번호를 사용할래.라는 뜻이다.

 

> flush privileges; 는 변경되기 전의 캐시들을 없애고 현재의 설정에 대한 캐시들을 설정하는 것이다. 

 

mariaDB를 다시 실행해보려 mysql을 쳤는데, 아까처럼 들어가지진 않는다. 보면, root를 통해서 들어가라고 한다.. 

그러면 mysql -u (user-유저이름을 말한다.) root -p (password-비밀번호를 통해)

> mysql -u root -p

이렇게 치게 된다면, 비밀번호를 입력하면 아까처럼 pass를 쳐서 들어가게 된다.

 

그러면 여기에 데이터베이스를 하나 만들어보고 확인해보자.

> create database myapp;

> show databases;

잘 만들어졌고만!

> exit를 하게 되면 mariadb가 잘 종료된다.

 

이제 마무리로 우분투에서도 root를 사용할때, 비밀번호없이 사용하던 것을 여기 CentOS에서도 되도록 해보자.

 

vi /etc/sudoers를 해서, 이렇게 추가해준다.

 

exit해서 다시 로그인부터 해보자.

 

su - 로 root에 접속하는건 무리가 없다.

다시 exit해서 tree를 한번 깔아보자.

이러면 이제 CentOS도 기본환경 세팅이 완료되었다.

반응형