Day 18 - SSH & Web Server
- 원격 시스템과의 보안 터널 구축을 돕기 위해 모든 사용자가 알아야 할 SSH의 주요 기본 개념들을 살펴보자.
SSH 소개
- 보안 shell
- 네트워킹 프로토콜
- 보안 통신 허용
- 모든 네트워크 서비스를 보호
- 일반적으로 원격 command line 액세스에 사용
- 클라이언트와 서버 간의 보안 터널을 제공하여 공격자가 정보를 가로챌 수 없게 한다.
시스템에 브리지 네트워크 어댑터 추가하기
- 브릿지 네트워크 어댑터를 추가해줘야 virtual box VM과 ssh를 동시에 사용할 수 있는 것 같다.
putty로 ssh 연결하기
- 사진들이 2022 기준이라 현재는 프로그램의 ui가 달라졌던 걸로 기억한다.
원격 접속 - SSH 키
- ssh-keygen -t ed25519 명령어로 SSH 키를 생성할 수 있다.
웹 서버 설정하기
- LAMP 스택으로 간단 웹 사이트 호스팅
- L 리눅스, A 아파치, M MySQL 데이터베이스, P php
Apache2
- sudo apt-get install apache2
- sudo service apache2 restart
MySQL
- sudo apt-get install mysql-server
PHP
- sudo apt-get install php libapache2-mod-php php-mysql
*LAMP 스택은 vagrantfile에 정의해서 한 번에 설치할 수도 있다.
*워드 프레스 설치와 index.php를 기본으로 사용하는 것은 안 중요해 보여서 정리하지 않았다.
Day 19 - Automate tasks with bash scripts
- bash 스크립트를 다루고 있다.
BASH
- Bourne Again Shell
- shell 스크립트를 touch 명령어로 생성한다.
- 그 뒤 nano로 연다.
- #!/bin/bash나 #!/usr/bin/env bash 둘 중 하나를 맨 첫 줄에 작성한다.
- 저장한 후에 chmod +x [파일이름].sh 명령어로 실행 권한을 준다.
- ./[파일명].sh 명령어로 실행시킨다.
- 변수와 조건문이 있다.변수는 그냥 python과 똑같이 정의하면 된다.
- 조건문의 경우는 if - then - elif - then - fi 이런 형식으로 작성한다.
- eq: equal이라는 뜻으로 같을 때 true
- ne: not equal
- gt: greater than
- lt: less than
- ge, le 등
여러 비교가 가능하다.
-d file: 파일이 디렉토리인 경우
-e file: 파일이 존재하는 경우
-f file: 문자열이 파일인 경우
등... 파일 및 폴더에 대한 정보를 결정하는 파일 조건도 있다.
- 반복문의 경우는 for - in - do - done, while - do - done 등의 구조로 쓴다.
출처: https://github.com/MichaelCade/90DaysOfDevOps/blob/main/2022/ko/Days/day19.md
'Personal > DevOps' 카테고리의 다른 글
90DaysOfDevOps 21~22일차 (0) | 2024.10.04 |
---|---|
90DaysOfDevOps 20일차 (2) | 2024.10.01 |
90DaysOfDevOps 16~17일차 (0) | 2024.09.30 |
90DaysOfDevOps 14~15일차 (0) | 2024.09.30 |
90DaysOfDevOps 13일차 (0) | 2024.09.24 |