수업을 듣고 배운 내용과 연습한 내용을 정리하였습니다
개인 공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
잘못된 부분이 있거나 질문사항은 댓글로 남겨주시면 성심성의껏 답변해드리겠습니다. 감사합니다!
실습에 앞서 S3 버킷에 gnuboard 디렉토리를 만들었고, IAM 사용자에 'AdministratorFullAccess' 권한을 주고 생성하여 .csv 파일을 다운로드 하였습니다.
*실습 요약
1. Ubuntu 설치
2. VMware 설정
3. SSH 연결
4. bitnami-redmine 설치
5. gnuboard 설치
6. AWS CLI 2 설치
7. S3로 파일 전송
8. 예약 작업 설정
1) Ubuntu 설치
Ubuntu는 다음 링크에서 다운로드 받았습니다.
Option 2 선택 > Download 클릭
2) VMware 설정
VMware에 위에서 받은 ios 파일을 업로드하고 설치를 진행합니다.
IP 주소를 확인하기 위해 다음 명령어를 실행합니다.
$apt install net-tools
$ifconfig
3) SSH 연결
윈도우에서 cmd를 실행하고 우분투로 SSH 연결을 진행합니다.
>ssh [IP주소] -l [리눅스id]
>암호키 설정 : 'yes'
>password : 리눅스 password
>정상적으로 로그인이 실행 됨
4) bitnami-redmine 설치
$sudo -i
#wget https://bitnami.com/redirect/to/1004425/bitnami-redmine-4.1.1-1-linux-x64-installer.run
#apt-get install -y libtinfo-dev
#apt-get install -y libtinfo6
#apt-get install -y libtinfo5
#chmod 755 ./bitnami-redmine-4.1.1-1-linux-x64-installer.run
#./bitnami-redmine-4.1.1-1-linux-x64-installer.run //비밀번호는 영문과 숫자로 8자이상 설정(MySQL비밀번호)
한국어 설정 시 문자가 깨질 수 있음 -> [1] English 선택
나머지 설정 'y' 입력
linux와 똑같이 사용자 이름 'j'로 설정
이메일은 사용하는 간단한 이메일 입력
이 때는 [15] Korean 선택
메일 써포트는 받지 않을 것이므로 'n' 입력
설치가 완료되면 웹브라우저에서 [IP주소] 를 입력했을 때 bitnami redmine에 접속된 것을 확인할 수 있습니다.
bitnami 설치가 완료됐다면, 현재시간으로 동기화합니다.
(나중에 예약 작업 등 시간동기화 문제로 오류가 생길 수 있음)
5) gnuboard 설치
#cd /opt/redmine-4.1.1-1/apache2/htdocs // 웹서버루트
#git clone https://github.com/gnuboard/gnuboard5
#mysql -h 127.0.0.1 -u root -p
>create database gnuboard5;
>exit
웹브라우저에 [IP주소/gnuboard5] 를 입력하여 그누보드가 설치된 것을 확인합니다.
data 디렉토리를 생성한 후, 설치를 진행합니다.
#cd gnuboard5
#mkdir data
#chmod 707 data
그누보드를 설치하고 회원가입을 진행합니다.
자유게시판(free) 혹은 갤러리(gallery)에 첨부파일과 함께 글 몇 개를 작성해봅니다.
#cd data
#cd file
#ls
#cd free
#ls
-> 업로드 된 이미지 출력
6) AWS CLI 2 설치
#cd /root
#wget https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip
#apt install unzi
p#unzip awscli<tab>
#cd aws<tab>
#./install
#aws --version // aws-cli가 정상적으로 설치된 것을 확인할 수 있습니다.
7) S3로 파일 전송
#aws configure
접근키와 비밀키는 다운로드 받은 .csv 파일을 참고합니다.
Access Key ID : ~~~SADF
Secret Key ID : ~~~~JGIE
region name : ap-northeast-2
output format : jon
#aws s3 sync /opt/redmine-4.1.1-1/apache2/htdocs/gnuboard5/data/file/gallery s3://jmg-bucket/gnuboard
// gnuboard에서 gallery에 사진을 업로드한 후, s3에 있는 버킷의 gnuboard 디렉토리에 파일을 전송(백업)하였습니다.
그누보드에 올려진 파일이 S3로 정상적으로 업로드된 것을 확인할 수 있습니다.
실제 버킷에 사진이 업로드된 모습입니다.
8)예약 작업
#vi /etc/crontab
매일 13시에 gnuboard의 gallery에서 S3 버킷의 gnuboard 디렉토리로 업로드하는 예약작업을 입력하겠습니다.
0 13 * * * root aws s3 sync /opt/redmine-4.1.1-1/apache2/htdocs/gnuboard5/data/file/gallery s3://jmg-bucket/gnuboard // 매일 13시에 gnuboard의 gallery에서 S3 버킷의 gnuboard 디렉토리로 업로드
#service cron stop
#service cron start
cron 서비스를 재시작하여 명령이 정상적으로 실행되도록 합니다.
앞선 포스팅에서는 S3와 Windows간에 파일을 자동 백업하는 실습을 진행하였는데요,
이번에는 S3와 Ubuntu간에 파일을 자동 백업하는 실습을 진행해보았습니다.
Ubuntu를 활용하는 방법이 확실히 더 복잡하였지만 흥미로웠습니다.
'클라우드 > AWS' 카테고리의 다른 글
AWS OpsWorks for Chef Automate (1) | 2021.04.08 |
---|---|
웹 서버에서 실행되는 PHP 애플리케이션에 MySQL 데이터베이스 연결하기 (0) | 2021.03.30 |
AWS S3와 Window간 파일 자동 백업 (0) | 2021.03.08 |
AWS Solutions Architect - Associate (SAA) 자격 취득 (0) | 2021.03.05 |
AWS QuickSight 인터랙티브 분석 (0) | 2021.02.22 |
댓글