
👉 요약:
Cloud는 위치 제약 없이 데이터를 저장하고 관리할 수 있는 구조이며, 보안이 매우 중요한 요소이다.
사용 형태에 따라 다음과 같이 분류된다.
이들은 각각의 특성 및 보안 수준, 운영 방식에 따라 구분된다.
클라우드 서비스는 제공하는 자원의 종류에 따라 세 가지로 구분된다.
SaaS (Software as a Service)
IaaS (Infrastructure as a Service)
PaaS (Platform as a Service)
👉 요약:
클라우드 서비스는
👉 요약:
DBaaS·AIaaS는 세분화된 클라우드 서비스이며,
학습 및 실습에서는 Hadoop → ownCloud → GitHub → Docker/K8s → AWS 순으로 다룰 예정이다.
Hadoop
master/slave 구조로 구성된 분산 파일 시스템(DFS) 구축 기술클라우드 서비스 예시
가상화(Virtualization)는 물리적 하드웨어 자원을 분리하여 여러 개의 가상 머신(VM)을 생성·운영하는 기술이다.
MS Hyper-V
Linux KVM (Kernel-based Virtual Machine)
VMware / VirtualBox / VirtualPC
Citrix XenServer / VMware vSphere
👉 요약:
가상화 기술은 Hyper-V, KVM, VMware, VirtualBox, XenServer 등 다양한 형태로 존재하며,
서버 가상화부터 데스크톱 실습용 환경까지 폭넓게 활용된다.

| 항목 | VMware | Docker |
|---|---|---|
| 가상화 방식 | 전체 OS 가상화 (하드웨어 기반) | 컨테이너 기반 (프로세스 격리) |
| 리소스 사용 | 많음 (RAM/CPU/HDD 별도 할당) | 적음 (호스트 자원 공유) |
| 실행 속도 | 느림 | 빠름 |
| 이미지 크기 | 수 GB | 수백 MB |
| 주요 용도 | OS 단위 가상 환경 구축 | 애플리케이션 단위 배포 및 운영 |
👉 정리:
VMware는 무거운 전체 OS 가상화,
Docker는 가벼운 컨테이너 기반 애플리케이션 가상화 기술로,
두 기술은 목적과 사용 환경이 다르다.

📌 대표 SaaS 서비스 예시
Google Chromebook과 MS Office 365가 대표적인 SaaS 플랫폼이다.
이러한 SaaS형 서비스는 모든 프로그램을 클라우드 서버에 통합해
사용자가 별도의 설치 없이 웹 브라우저만으로 업무를 수행할 수 있게 해준다.
| 항목 | 설명 |
|---|---|
| 접근성 | 인터넷만 연결되면 언제 어디서나 이용 가능 |
| 비용 효율성 | 설치형 프로그램 대비 초기비용 절감, 유지보수 불필요 |
| 확장성 | 사용자 증가에 따라 서버 용량이나 기능을 유연하게 확장 가능 |
| 협업성 | 여러 사용자가 동시에 동일 문서를 실시간으로 편집 가능 |
| 보안성 | 중앙 서버에서 데이터 관리로 보안성 향상 |
SaaS란 설치형 프로그램을 대체하는 클라우드 기반 서비스형 소프트웨어로,
별도 설치 없이 브라우저에서 바로 사용할 수 있는 효율적인 비즈니스 모델이다.대표 예시: Figma, Notion, Office 365, Google Workspace, Typed
| 종류 | 설명 |
|---|---|
| 사설형 (Private Cloud) | 기업 내부의 비밀을 유지하기 위해 외부에 공개되지 않고 내부적으로만 사용하는 폐쇄형 클라우드. ⇒ 주로 개인 기업이나 보안이 중요한 기관에서 사용. |
| 공개형 (Public Cloud) | 일반에게 개방되어 누구나 자유롭게 사용할 수 있는 클라우드. ⇒ 예: 공공서버, 공공기관, 관공서 등. |
| 혼합형 (Hybrid Cloud) | 사설형과 공개형을 적절히 혼합한 형태. ⇒ 평상시에는 사설형으로 운영하다가, 트래픽이 증가하거나 특정 기간(예: 대학 수강신청, 추석 열차 예매 등) 에는 공개형으로 전환하여 확장 운영. |
→ 이러한 방식 덕분에 Git은 개인용에서 기업용, 클라우드 협업 환경으로 활용 범위가 확대되었다.
→ 또한 OneNote, Google Drive, Naver Drive 등과 동기화해 사용할 수도 있어
실시간 협업이 가능하다.
git add
git commit -m "메시지"
git push origin master (또는 main)
git fetch / git pull
GitHub는 개발자 및 협업 팀이 버전 관리(Git) 와 소스 코드 공유를 효율적으로 수행하도록 돕는 클라우드 기반 협업 플랫폼이다.
주요 명령어:
add → commit → push → fetch/pullGitHub는 단순한 코드 저장소를 넘어, 팀 협업·변경 이력 관리·오픈소스 공유의 중심 플랫폼으로 발전하였다.
GIT
NEW->

Public
git clone https://github.com/dodream00/class10.git
cd class10.git && ls
→ 이렇게 하면 GitHub의 원격 저장소에 있는 모든 파일을 로컬에서 확인 가능하다.
git clone [저장소주소]명령은 GitHub 원격 저장소 전체를 복제하는 명령이다.
모든 파일과 디렉터리를 한 번에 내려받아 로컬에서 작업하거나 수정할 수 있다.
| 명령어 | 역할 |
|---|---|
| add | 로컬 자료를 웹으로 올리기 위해 파일을 추가(Indexing)한다. |
| comment | 해당 파일의 버전에 대한 코멘트를 작성한다. |
| commit | 변경이 실행되도록 하는 명령으로, execute와 같은 역할을 한다. |
| push | 로컬에서 메인(master) 브랜치로 자료를 업로드할 때 사용된다. (upload) |
| master | 웹상의 Git에서 메인 브랜치를 의미한다. (예: https://github.com/~) |
| origin | 웹상의 Git 메인(master) 브랜치의 별칭(alias)이다. |
| pull | 메인 브랜치에서 로컬로 자료를 가져올 때 사용된다. (download) |
| merge | 여러 로컬 브랜치를 하나로 합치는 기능을 수행한다. |
| fetch / get | 여러 브랜치에 흩어져 있는 자료를 병합(merge)하여 다운로드한다. |
Git의 기본 명령어 흐름은 다음과 같다.
add → commit → push: 로컬에서 원격 저장소로 업로드
fetch/pull → merge: 원격 저장소의 변경사항을 가져와 통합
원하신다면 이 명령어들을 Git 명령어 + 주요 옵션 예시 표로 확장해 정리해드릴 수도 있습니다.
예: git commit -am, git push -u origin main, git pull --rebase 등.

setting -> developer setting

Personal access tokens -> token(classic)

Generate new token(classic)

new token(classic)

설정하고, repo(체크)

Generate token

토근 저장
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

git config --gloabal color.ui "auto"
git config --gloabal user.name "Herolee0607"
git config --gloabal user.email "dreamlyw@naver.com"





바깥에서 확인가능
2가지 파일을 한 번에 업로드 해보자

로컬에 나와서

리로드

내용 변경

git pull
내용 변경 확인
RockyOS, WindowsOS에서도 가능
ownCloud는 로컬 호스트 중 하나에 데이터 리포지터리를 설치하거나
로컬 Git 서버를 구성하여 클라이언트들이 파일이나 소프트웨어를 쉽게 관리·동기화할 수 있도록 해주는 시스템이다.
내부적으로는 로컬 협상 서버(Configuration Server) 로 사용할 수 있으며,
각 호스트에서 push, get 등의 작업을 수행해야 다른 호스트에 변경사항이 반영된다.
하지만 ownCloud는 설치가 간단하고,
한 호스트에서 변경된 파일이 다른 호스트에도 자동으로 동기화되는 구조로,
주로 인트라넷(Intranet) 환경에서 사용하는 폐쇄형 클라우드로 볼 수 있다.
🧩 즉, ownCloud는 조직 내부에서 데이터를 공유하기 위한 “사내 전용 클라우드 서버”라고 할 수 있다.
👉 일반적으로 외부에서 접근해야 하는 협업 환경에서는
GitHub(Extranet 기반)를 사용하고,
내부 네트워크 전용 협업 환경에서는 ownCloud(Intranet 기반)를 사용한다.
| 구분 | ownCloud | GitHub |
|---|---|---|
| 사용 위치 | 내부 네트워크(Intranet) | 외부 인터넷(Extranet) |
| 접근 방식 | 제한적(사내 전용) | 전 세계 어디서나 접근 가능 |
| 주요 기능 | 파일·소프트웨어 동기화, 로컬 서버 기반 | 버전 관리, 협업, 오픈소스 공유 |
| 자동 동기화 | 지원 (자동 반영) | 수동 push/pull 필요 |
💡 정리:
ownCloud는 내부 네트워크용 클라우드 서버이며,
GitHub은 외부 협업 및 오픈소스 공유용 클라우드 플랫폼이다.
APM(Apache WebServer + PHP + MySQL Server) 설치

create database owncloudDB; => 데이터베이스 생성
show databases; => 생성 점검
grant all privilege on owncloudDB. to 'owncloud'@'localhost' identified by 'owncloud'; => 로컬에서 모두 허용
grant all privilege on owncloudDB. to 'owncloud'@'%' identified by 'owncloud'; => 원격에서도 허용
flush privileges; => 즉시 적용
exit
wget https://ftp.icm.edu.pl/packages/owncloud/owncloud-10.5.0.tar.bz2 => ownCloud 10.5.0 압축파일 내려받기
tar xvfj owncloud-10.5.0.tar.bz2 -C /var/www
=> -C /var/www : 풀어낸 폴더를 /var/www 아래에 놓아라
ls
ls /var/www/
ls /var/www/cloud/
=> 순서대로 현재 디렉터리 → 웹 루트 → owncloud 폴더가 잘 풀렸는지 확인
ls -dl /var/www/owncloud/ => Apache가 접근할 수 있는 소유자인지 확인하려고 보는 것
grep "www-data" /etc/passwd => Ubuntu에서 Apache가 어떤 사용자로 돌아가는지 확인
chown -R www-data:www-data /var/www/owncloud/
ls -dl /var/www/owncloud/
nano -c /etc/apache2/apache2.conf


a2enmod rewrite && a2enmod headers => a2enmod: apache 모듈을 켜는 명령어
systemctl restart apache2 => 재시작
nano -c /etc/apache2/sites-available/000-default.conf

=> 이 서버의 기본 웹 루트는 이제 ownCloud야” 라는 뜻
systemctl restart apache2 && systemctl restart mysql
ufw allow 80/tcp && ufw allow 3306/tcp
apt -y install net-tools
netstat -nltp |grep LISTEN
firefox http://local
owncloud 접속확인
owncloud
owncloud
owncloud
owncloudDB