zsh
zsh 소개
- 가장 최근에 만들어진 쉘 환경
- Linux, MacOS 등 모든 Unix환경에서 설치 가능
- 명령어 자동완성, 명령어 히스토리 기능 등 Bash Shell보다 뛰어남
Oh-my-zsh
- zsh의 다양한 환경 설정을 손쉽게 설정하게 해주는 Framework
- 대부분 각종 테마 설정을 위해 사용
네트워크
네트워크 기본 용어
- TCP / IP
- TCP 프로토콜 : 전송데이터를 일정 단위(패킷)로 나누고 포장하는 것에 대한 규약
- IP 프로토콜 : 직접 데이터를 주고 받는 것에 관한 규약
- IP주소
- IP주소는 네트워크상에 존재하는 컴퓨터의 고유번호
- 숫자 4개로 IP주소를 표현, 0부터 255 까지 사용, 예) 192.184.76.216
- IPv4와 IPv6가 있지만 주로 IPv4를 사용
- 공인IP / 사설IP
- 공인IP : 고정IP라 하며 외부에서 접근 가능 / 전 세계에서 유일한IP / 공인IP를 알면 누구나 접속 가능
- 사설IP : 내부IP라 하며 외부에서 접근 불가 / 공유기에 의해 생성된IP / 누구나 접속가능
- 호스트이름 / 도메인이름
- IP주소는 숫자로 이루어져 불편하기 때문에 사용하기 편한 문자열 형태로 이루어진 호스트이름과 도메인이름이 만들어짐
- 호스트이름 : 인터넷 주소의 처음에 위치하며 서버 컴퓨터에 지정된 문자열 이름 / 예) www
- 도메인이름 : 해당 기관을 대표하는 인터넷주소를 나타냄 / 예) naver.com
- 서브넷 마스크(Sebnet Mask)
- 네트워크 주소와 호스트 주소를 구분하는 값으로 사용
- IP주소는 네트워크 주소와 호스트 주소로 나뉨
- 게이트웨이(GateWway) / DNS(Damain Name System)
- 게이트웨이(GateWway) : 라우터(Router)라고도 하며, 외부 네트워크로 통신하기 위한 통로, 쉽게 인터넷 공유기를 생각하면 됨
- DNS(Damain Name System) : IP주소를 호스트와 도메인 이름으로 변환해주는 서비스를 제공하는 서버
- 추가 정리
- 예) 192.168.0.7 이라는 IP주소가 있을 때
- 192.168.0 -> 네트워크 주소(그룹단위)
- 7 -> 호스트 주소(컴퓨터 단위)
- 위 IP는 192.186.0 의 네트워크 주소를 사용하는 7번째 컴퓨터라는 의미가 됨
- 호스트 주소가 1이면 게이트웨이 주소
- PING(Packet Internet Grouper)
- ping명령은 특정 컴퓨터를 이용할 수 있는지 검사하는 명령
- IP기반의 네트워크에 연결된 호스트끼리의 접속성을 확인할 경우 많이 사용됨
- 다른 네트워크에 접속이 원활 하지 않을때 해당 네트워크가 정상적으로 작동중인지 확인하는 방법
- 보안상의 이유(해킹)로 ping을 막으며 주로 내부 네트워크 안에서만 사용
서비스
서비스의개요
- 서비스 = 프로세스 = 데몬(Daemon) : 웹 서버, 데이터베이스 서버 등을 운영하기 위한 서버 프로세스
- 서버 프로세스 : 백그라운드로 실행되는 프로세스, 서비스 매니저 프로그램인 systemd 프로그램이 운영함
- 추가 정리
- 백그라운드에서 가동되는 파일들은 파일명 뒤에 '.d'가 붙음
- '.d'가 붙어있는 파일이 찐파일, 예) mysqld
서비스 관리
- 독자적인 하나의 동작을 제공
- http서비스는 http 동작을 제공
- 실행 및 종료 : systemctl 명령어 사용
- systemctl start(stop / restart / info) 서비스명
- 서비스 실행 스크립트 파일 위치
- /usr/libs/systemd/system 디렉토리에 존재
- 실행 스크립트 파일은 systemctl 명령어에 의해 제어
- 서비스 실행 스크립트 파일 이름 : .service
Telnet과 SSH
Telnet서버
- 오랫동안 전통적으로 사용되어 온 가장 기본적인 원격 접속 방법이나 데이터들이 암호화 되지않아 보안에 취약하여 현재는 많이 사용하지 않음
- 동작 과정
- 1) 클라이언트(telnet, PuTTY)가 Telnet서버의 아이피 주소(192.168.83.3)로 접속요청
- 2) Telnet서버에서 로그인 할 수 있는 로그인 메세지 발송
SSH 서비스 개요
- SSH 서비스는 전송되는 데이터가 암호화 처리되는 보안이 강화된 원격 접속 서비스
- 동작 과정은 Telnet과 비슷하나 SSH서버에서 데이터 전송시 암호화 처리가 되어 발송됨
- SSH 서버 설치 과정 : SSH 서버 설치 -> SSH 서비스 시작 -> 방화벽 포트 설정 -> SSH 접속 시험
FTP(File Transfer Protocol)
FTP의 개념
- 안정적인 파일전송이 가능한 파일 전송 프로토콜
- 기본적으로 21번포트를 사용함(보안을 위해 다른 포트로 변경하여 사용 가능)
- 서버의 종류 : vsftpd, proftpd, pure-ftpd 등
- vsftpd : 상대적으로 설정파일이 복잡함. 접속/전송 속도가 빠름 (권장)
- proftpd : 설정이 손쉬우나 접속/전송 속도가 느림
- 클라이언트의 종류
- 리눅스 기본 설치 프로그램 : FTP, ncftp, lftp 등
- 윈도우용 프로그램 : 알 FTP(알 드라이브) 등
- 모든 운영체제를 지원하는 프로그램 : Filezila (권장)
FTP 서버에 접속이 가능한 사용자
- 일반 사용자
- 리눅스 서버에 등록된 사용자
- 접속 디렉토리 - 사용자 디렉토리
- 익명 사용자
- 모든 FTP서버에 기본적으로 등록됨
- ID : anonymous, PW : anonymous 아이디를 사용하는 사용자의 이메일 주소
- 리눅스 내부적으로 FTP 사용자로 지정되고 손님 자격으로 접속을 허용함
FTP 전송 모드
- 액티브 모드는 접속과 데이터 전송에 각각 하나씩의 포트만을 사용
- 패시브 모드는 데이터 전송에 필요한 포트번호 구간을 지정하기 때문에 데이터 전송에 여러개의 포트를 사용하므로 전송 효율이 더 좋음.
- 액티브 모드 : 접속처리 - 21번포트, 데이터전송 - 20번 포트
- 패시브 모드 : 접속처리 - 21번포트, 데이터전송 - 1024번 이후 포트
HTTPD(http demon)
httpd
- httpd 서버 종류
- 서버 패키지 종류 : Apache, IIS(Internet Infomation Server) 등
- 클라이언트의 종류 : IE(Internet Explorer), Chrome, Safari 등
- httpd 동작 과정
- 1) 웹 브라우저(IE, Chrome)에서 HTML문서 요청
- 2) httpd 서버(Apache, IIS)에서 HTML문서 전송
- 추가 정리
- 웹 사이트는 포트번호를 따로 설정하면 사용자도 입력해야 하기 때문에 포트번호(80) 그대로 사용
- 홈페이지의 주소가 폴더명으로 끝나며 폴더안에 index.html파일이 없으면 403에러 발생한다.
PHP
PHP 개요 : 하나의 웹 사이트가 만들어지기 위해서 필요한 요소들
- 웹 퍼블리셔
- Front-End : 페이지의 내용(html+css+js)를 구성
- HTML : 페이지의 구조 정의
- CSS : 구조(HTML)에 대한 디자인 구성
- JS(Javascript) : 동적 기능 처리
- 웹 프로그래머
- Back-End : 사용자가 입력한 내용을 Database에 저장하거나 저장된 내용을 활용하여 페이지의 내용 구성
- PHP, JSP, ASP 등이 있다.
- DataBase : 회원정보, 게시물, 상품목록, 장바구니 등 정보가 실제로 저장되는 영역
- Oracle, MySQL, MSSQL, Cubird 등이 있다.
- AMP(Apache + PHP + MySQL)
- Apache : 웹 서버 소프트웨어, 웹 브라우저를 통한 외부 접속을 가능케 함.
- PHP : Apache가 .php확장자를 갖는 파일의 소스코드를 실행하게 하는 확장 모듈
- MySQL : Database 관리 시스템
'Linux' 카테고리의 다른 글
Linux(개발환경 구축하기) (0) | 2020.08.22 |
---|---|
Linux(명령어 정리) (0) | 2020.08.21 |
Linux-1 (0) | 2020.08.10 |
댓글