초기 CentOS8을 VirtualBox에 설치후, 기본적으로 필요한 설정 내용을 정리함.


  • Guest Editions 설치에 필요한 패키지 설치

>> sudo dnf install -y elfutils-libelf-devel

>> Devices > Insert Guest Additions CD Image… —> 필요에따라서 VBoxGuestAddtion.iso 파일을 다운받아 마운

:: 작업을 위해서는 처음 Linux 설치시 devel-tool 추가 선택해서 설치해줘야한다.



  • VirtualBox Network 설정

>> Bridged Adapter 설정 : 해당 모드는 가상 머신의 네트워크를 Host PC  동등 수준으로 구성할 있게 해준다

            :: 예를 들어 Host PC 네트워크가 192.168.0.2 설정이 되어 있다면 가상 머신의 네트워크 또한 192.168.0.4 정도로 설정됨.



  • SSH 접속 허용 가능하도록 설정

>> firewall-cmd --permanent --zone=public --add-port=22/tcp



  • /etc/profile.d/에 커스텀 Shell파일 생성 --> PS1 프롬프트 변경/기본 Global Var설정

export export PS1='\h \[\e[32m\u\] \[\e[36m\W\] \[\e[33m\]\[\e[1m\]$ \[\e[0m\]'


export JAVA_HOME="/app/java/jdk"

export JRE_HOME="/app/java/jdk/jre"


export PATH=$PATH:/app/oc:$JAVA_HOME/bin


alias vi=vim


** 위의 내용은 나 개인의 어플리케이션에 종속된 설정입니다.



  • EPEL 리포지토리 설치

Configuration 패키지 설치

>> dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm


패키지가 설치되었는지 확인

>> rpm -ql epel-release


EPEL Repository Enable되었는지 확인

>> dnf repolist -v


EPEL Repository 포함된 패키지 체크

>> dnf repository-packages epel list



  • Hostname 변경

>> hostnamectl set-hostname workstation

>> /etc/hosts Host Alias이름 추가



  • Host Guest 공유폴더 설정 

- Virtualbox에서 지정된 Guest서버에서설정 —> 공유폴더에서  공유폴더 설정 ==> SharedFolder

- 게스트확장 설치 —> 위에서 “sudo dnf install -y elfutils-libelf-devel” 통해서 이미 마운트 되어 있을수 있다.

- 게스트에서 다음 명령 실행

>> mount /dev/cdrom /media (readonly 에러는 무시)

- 게스트 에디션 설치

>> yum update kernel*

>> yum install gcc kernel-devel kernel-headers dkms make bzip2 perl

>> /media/VBoxLinuxAdditions.run



/media 폴더에서 나온 umount /media



>> mount -t vboxsf SharedFolder /SharedFolder



- 재부팅 자동 적용 되도록 명령어 추가

       >> vi /etc/fstab (파일 열어서 수정)

       >> 아래 다음행 추가 “SharedFolder /SharedFolder  vboxsf   nodev,noexec,nosuid 0 0”



  • 접속하려는 서버에 SSH Public 키 복사 

>> ssh-copy-id -i ~/.ssh/id_rsa.pub mins1@192.168.0.218    —> 또는 steven.pub 

>> ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.218       —> 또는 steven.pub 



  • .ssh/config 파일 생성 

# STEVEN Virtual Box ==============================================
Host workstation
HostName 192.168.0.50
User root
Port 22
IdentityFile ~/.ssh/id_rsa

Host server1
HostName 192.168.0.83
User root
Port 22
IdentityFile ~/.ssh/id_rsa

Host server2
HostName 192.168.0.20
User root
Port 22
IdentityFile ~/.ssh/id_rsa


Host centos8
HostName 192.168.0.218
User root
Port 22
IdentityFile ~/.ssh/id_rsa

# COMMON ==========================================================
Host git-codecommit.*.amazonaws.com
User {AWS IAM KEY}
IdentityFile ~/.ssh/id_rsa

Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa
User stevenjsmin

Host gitlab.com
HostName gitlab.com
IdentityFile ~/.ssh/id_rsa User stevenjsmin



  • 파이선2/3 설치 그리고 기본 Python 설정

>> sudo dnf install python3

>> sudo dnf install python2

>> sudo alternatives --set python /usr/bin/python3


  • Ansible 설치 그리고 Python 설정

>> sudo dnf install ansible


그리고 명시적으로 Ansible이  Python3를 사용하도록 하기위해서는 ansible.cfg 파일에 다음 항목 설정

ansible_python_interpreter=/usr/bin/python3

참조 :: https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html

  • 일반사용자 Sudo User만들기

>> usermod -aG wheel username



  • 일반사용자(Ansible remote_user)를 Sudo사용시 비빌번호 없이 수행하도록  Escalation 설정

>> usermod -aG wheel username

>> 아래의 두가지 방법 중 하나 선택

1. /etc/sudoers파일에서 

   %wheel         ALL=(ALL)       NOPASSWD: ALL             

와 같이 설정해서 모든 wheel 그룹의 사용자가 비밀번호 없이 sudo 사용하도록 설정

또는

적절한 지시문이있는 파일을 /etc/sudoers.d/파일에 아래와 같이 생성

   ## password-less sudo for Ansible user                       

   username     ALL=(ALL)       NOPASSWD: ALL              



  • VirtualBox 포트 Forwarding 설정

>> firewall-cmd --zone=public --add-port=9999/tcp --permanent

>> firewall-cmd --zone=public --add-service=http --permanent

>> firewall-cmd --reload


그리고 VirtualBox의 Gust OS Networ설정에서 포트를 80 --> 9999로 설정하면 "http://127.0.0.1:80"으로 요청하면 Guest의 9999포트로 연결된다.

*** Guest IP로 연결하면 안된다.



  • 추가 Applicaiton 및 소프트웨어 구성

/app 에 모두 설치


centos8 root /app $ ll

total 0

lrwxrwxrwx. 1 root root   20 Nov 26 16:06 apache-tomcat -> apache-tomcat-9.0.22

drwxr-xr-x. 9  root root 235 Nov 27 09:41 apache-tomcat-9.0.22

drwxr-xr-x. 3  root root   37 Nov 27 09:15 java

drwxr-xr-x. 7  root root 147 Mar 21 15:48 jenkins_2.176.2

drwxr-xr-x. 2  root root   63 Nov 14 16:46 oc



  • GIT 클라이언트 설치 및 설정

>> dnf install git

>> git config --global user.name "Steven Min"

>> git config --global user.email "steven.jsmin@gmail.com"

>> git config --list


** Git서버에 Public key 등록 "Settings --> SSH and GPG Keys --> New SSH Key"



  • VM Start with "Headless" mode as default

>> VBoxManage modifyvm "<<VM Name>>" --defaultfrontend headless



Posted by Steven J.S Min
,