쉘 스크립트 작성 실습 및 MySQL 설치 3

버버니야·2022년 2월 23일
0

Ubuntu -> CentOS로 OS 변경해 처음부터 시도해보기

참고 블로그 <- 이미 다른 OS로 이틀정도 시간을 썼기 때문에 전 인턴분의 블로그를 참고하면서 진행해 보려한다.

Vagrant 초기 세팅

  1. vagrant init
  2. touch init.yml
Vagrantfile
ENV["LC_ALL"] = "en_US.UTF-8"
Vagrant.configure("2") do |centos|


# All servers will run cent 7
centos.vm.box = "centos/7"
centos.vm.box_check_update = false
centos.disksize.size = "60GB"


# Create the cent1 Server
N = 1
(1..N).each do |i|
hostname = "cent7-#{i}"
centos.vm.define hostname do |host1|
host1.vm.hostname = hostname
host1.vm.network "private_network", ip: "192.168.56.#{10 + i}"
host1.vbguest.auto_update = false
host1.vm.provider "virtualbox" do |v|
v.name = hostname
v.memory = "2048"
v.cpus = "2"
v.linked_clone = "true"
v.gui = "false"
v.customize ['modifyvm', :id, '--graphicscontroller', 'vmsvga']
v.customize ['modifyvm', :id, '--vram', '20']
end
end
end
centos.vm.provision "ansible" do |ansible|
ansible.playbook = "init.yml"
end
# centos.vm.provision "shell" do |shell|
# shell.path = "extend.sh"
# end
end
init.yml
- name: init.yml
hosts: all
gather_facts: no
become: yes
tasks:
- name: 사용자 이름 생성
user:
name: "{{ item }}"
shell: /bin/bash
home: "/home/{{ item }}"
generate_ssh_key: true
password_lock: yes
with_items:
- centos
- name: sudoers.d 추가
copy:
content: |
%{{item}} ALL=(ALL) NOPASSWD: ALL
dest: "/etc/sudoers.d/{{item}}"
owner: root
group: root
mode: 0440
validate: "/usr/sbin/visudo -c -f '%s'"
with_items:
- centos
- name: ssh 내용 추가
authorized_key:
user: "{{ item }}"
state: present
key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
with_items:
- centos
- vagrant
- root
- name: Make sure a service unit is restarting
ansible.builtin.systemd:
state: restarted
name: sshd.service

를 입력해준다.

vagrant up으로 실행

하지만 오류 발생

오류 해결방법은 다른 인턴분과 같은 오류가 발생해 다른 분의 블로그를 참고했다.

참고 블로그 <- disksize 플러그인을 설치하면 해결된다고 한다.

vagrant plugin install vagrant-disksize

하지만 이제는

또 다른 이유 발생
에러를 읽어보니 Ansible이 안깔려 있는 것 같다.

Ansible

Ansible은 IT 자동화 도구라고 한다.
오픈소스 소프트웨어 프로비저닝, 구성 관리 등을 하는 툴.

brew를 통해 Ansible 설치하기
$ brew update
$ brew install ansible

이후 켜져있던 가상머신 종료후 재시작

$ vagrant halt
$ vagrant up

이번엔 에러나 워닝 없이 정상적으로 프로비저닝이 된 것 같다.

SSH로 가상머신 접속
$ vagrant ssh

CentOS 가상머신에서 MySQL 설치하기

Ubuntu에서는 apt-get으로 설치하는 방식을 사용했지만
CentOS에서는 yum을 이용해 설치해보려한다.

  1. MySQL 설치

MySQL Downloads 에서 CentOS7에 맞는 OS를 선택하고 주소 복사 후 다운로드

$ sudo yum install -y https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.28-1.el7.x86_64.rpm

다운로드 받는 파일의 확장자도 deb -> rpm 로 OS가 바뀜에 따라 변경

설치 명령어
$ sudo yum -y install mysql-community-server
profile
안녕하세요

0개의 댓글