초기 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
'DevOps' 카테고리의 다른 글
네트웍 설정 On VirtualBox (0) | 2020.03.21 |
---|---|
ssh 서버 접속을 위한 키생성 및 설정 과정 (0) | 2019.06.10 |
Java 의 keystore에 SSL/TLS Server 인증서를 import 하는 방법 (0) | 2019.02.28 |
JMeter와 Performance 테스트 (0) | 2018.08.13 |
Tomcat 서버를 자동으로 Startup 하기 On Amazon Linux (0) | 2018.06.18 |