출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

ISBN : 9788960778924 / 1116쪽 187 x 250 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
서길원, 김운호, 허상훈, 박재상, 박경규, 김종욱, 오윤우, 유지영
-
오유나 외 14인
-
정그린
- 31,500
- 26,100
- 22,500
- 23,400
출판사 리뷰
출판사 서평 ★ 이 책에서 다루는 내용 ★ ■ CentOS 기반 네트워크 서버 ■ Firewalld 방화벽 등 서버 관리에 필수적인 시스템 및 서버 관리 기술 ■ 인터넷 서비스를 제공하는 핵심적인 서버 프로그램 ■ 유용?한 애플리케이션 서버 프로그램 ■ 보안, 모니터링, 백업, 로그 서버 관리 ■ 각 서버의 명령어와 설정 파일 및 동작 원리 ★ 이 책의 대상 독자 ★ 이 책은 다음과 같은 독자들에게 도움이 되리라 확신한다. ■ 리눅스 설치와 명령어는 알지만 서버 구축의 순서와 방법은 알지 못하는 리눅스 입문자 ■ 다... ★ 이 책에서 다루는 내용 ★ ■ CentOS 기반 네트워크 서버 ■ Firewalld 방화벽 등 서버 관리에 필수적인 시스템 및 서버 관리 기술 ■ 인터넷 서비스를 제공하는 핵심적인 서버 프로그램 ■ 유용한 애플리케이션 서버 프로그램 ■ 보안, 모니터링, 백업, 로그 서버 관리 ■ 각 서버의 명령어와 설정 파일 및 동작 원리 ★ 이 책의 대상 독자 ★ 이 책은 다음과 같은 독자들에게 도움이 되리라 확신한다. ■ 리눅스 설치와 명령어는 알지만 서버 구축의 순서와 방법은 알지 못하는 리눅스 입문자 ■ 다양한 종류의 리눅스 서버 프로그램을 이해하고 충분한 실습을 통해 더 높은 고급 수준 으로 도약하고 싶어 하는 리눅스 중급 사용자 ■ 명령어와 설정 파일에 대한 간단한 소개만 제공하는 입문자 위주의 설명에 실망한 중고급 리눅스 사용자 ■ 새로움이 없는 콘텐츠 구성에 실망한 중고급 사용자, 새로운 기술과 지식 습득에 열정과 흥미를 가진 사용자 ■ 기존에 알고 있던 리눅스 서버 프로그램에 대해 더 깊고 넓은 지식을 갈구하는 중고급 리눅스 사용자 ■ 1,000페이지 이상의 기술 서적도 체계적이고 자세한 정리로 지루함 없이 쉽게 읽고 싶은 리눅스 사용자 ■ 리눅스 서버 구축에 대해 두려움을 갖고 있거나 먼 훗날의 계획으로 미뤄뒀던 윈도우 사용자 ■ 서점에서 구입할 만한 리눅스 책이 별로 없다고 포기하거나 발걸음을 돌렸던 사용자 ■ 책을 구입해서 읽은 후에 책값이 아깝다고 후회했던 사용자, 서평에 본인이 구입한 책을 사지 말라고 리뷰를 남긴 사용자 ■ 책 구입 이후 사후 서비스에 만족하지 못한 독자 ■ 주위 친구 또는 지인에게 추천할 만한 리눅스 책이 없다고 생각하는 독자 ■ 명령어 하나까지도 놓치지 않는 자세한 설명을 기대하는 독자 ■ 리눅스 서적의 수준이 아직 외국 서적에 비해 많이 뒤떨어진다고 생각하는 독자 ■ 충분한 이해와 설명 없이 단지 따라 하기식 학습 방법에 대해 염증을 느낀 독자 ★ 이 책의 구성 ★ 이 책은 총 4개의 부와 24개의 장으로 구성돼 있다. 각 부에서 다루는 내용은 다음과 같다. 1부, ‘리눅스 서버 필수 시스템 관리 기술’에서는 리눅스 서버를 관리하기 위한 필수 시스템 관리 기술을 소개한다. 1부에서 소개하는 내용은 모두 서버 관리에 반드시 필요하며, 특히 3장의 Systemd를 이용한 서비스 관리와 4장의 Firewalld 방화벽 관리는 CentOS 7에 새롭게 소개된 서비스이므로 반드시 알아둬야 한다. 또한 1장의 사용자 관리와 2장의 패키지 관리를 통해 서버 프로그램을 쉽고 효율적으로 관리하기 위한 시스템 기술을 습득할 수 있다. 2부, ‘리눅스 핵심 네트워크 서버’에서는 리눅스 서버 프로그램 중에서 가장 중요한 서버 프로그램들을 정리했다. 현재 인터넷 서비스를 제공하는 가장 중요하면서도 핵심적인 서버 프로그램들을 망라했다. 5장의 Bind를 이용한 DNS 서버 관리 방법, 6장의 Apache 서버를 이용한 웹 서버 관리 방법, 7장의 Nginx를 이용한 웹 서버 관리 방법, 8장의 Postfix를 이용한 메일 서버 관리 방법, 9장의 MariaDB를 이용한 데이터베이스 서버 관리 방법, 10장의 VSFTP를 이용한 FTP 서버 관리 방법에 대해 각 서버의 원리와 실습 내용을 자세한 설명과 함께 소개한다. 각 장은 이러한 서버에 대한 기본 사용법과 고급 기술의 사용법은 물론 보안까지 총망라해 실습과 더불어 자세하게 설명한다. 3부, ‘리눅스 애플리케이션 네트워크 서버’에서는 2부에서 다룬 핵심 서버들 못지않게 자주 사용되는 애플리케이션 서버 프로그램들을 모두 정리했다. 11장의 Samba 서버와 12장의 NFS 서버를 이용해 파일 공유 서비스를 제공하는 방법, 13장의 SSH 서버와 14장의 VNC 서버를 이용해 커맨드라인과 GUI를 통한 원격 서버를 관리하는 방법, 15장의 OpenLDAP 서버를 이용해 디렉토리 서비스를 사용하는 방법, 16장의 Squid를 이용해 프록시 서버를 관리하는 방법, 17장의 Apache Tomcat 서버를 이용해 자바 애플리케이션 서버를 사용하는 방법, 18장의 DHCP 서버를 사용하는 방법, 19장의 NTP를 이용해 시간 서버를 관리하는 방법, 20장의 iSCSI 서버를 이용해 SAN 서비스를 제공하는 방법을 구체적인 실습 예제와 더불어 자세하게 설명한다. 4부, ‘리눅스 보안, 모니터링, 로그, 백업 서버’에서는 일반적인 서버 프로그램에 특별한 서비스를 제공하는 서버 프로그램들을 정리했다. 21장의 Kerberos 서버를 이용해 각 서버에 보안 인증 서비스를 제공하는 방법, 22장의 Nagios 서버를 이용해 각 서버를 모니터링하는 방법, 23장의 Log 서버를 이용해 각 서버가 생성한 로그를 관리하는 방법, 24장의 Bacula 서버를 이용해 각 서버의 데이터를 백업하고 복구하는 방법을 구체적인 실습 예제와 더불어 자세히 설명한다. 각 장에서 다루는 내용들을 구체적으로 살펴보면 다음과 같다. 1장, ‘사용자 관리’에서는 리눅스의 서버 관리를 위해 필요한 사용자와 그룹을 관리하는 방법을 설명한다. 사용자와 그룹 관리에 필요한 파일과 디렉토리, 명령어를 이용한 사용자와 그룹 관리, 패스워드 관리와 에이징 사용, GUI 프로그램을 사용한 사용자 관리에 대해 구체적인 실습 예제와 더불어 자세히 설명한다. 2장, ‘패키지 관리’에서는 리눅스에서 서버 프로그램을 관리하기 위한 필수 기술인 패키지 관리 방법을 설명한다. 바이너리 프로그램을 관리하는 RPM, YUM과 DNF 사용법, 소스코드를 이용해 컴파일과 설치, GUI 프로그램을 이용한 패키지 관리 등을 실습 예제와 더불어 자세히 설명한다. 3장, ‘서비스 관리’에서는 이전 버전에서 시스템과 서비스 관리를 위해 사용하던 Init을 대신해 CentOS 7부터 새롭게 소개된 Systemd를 다루는 방법을 설명한다. Systemd의 구성 요소와 부팅 과정, Systemd Unit과 Target을 사용하는 방법, Unit 파일을 생성하는 방법과 Journalctl을 사용하는 방법을 구체적인 실습 예제와 더불어 자세히 설명한다. 4장, ‘Firewalld 방화벽’에서는 기존 Iptables 방화벽을 대신해 CentOS 7에 새롭게 소개된 Firewalld 방화벽에 대해 설명한다. Firewalld 방화벽의 개념과 서비스 시작, Firewalld Zone 소개와 Firewalld 방화벽을 사용하는 방법을 구체적인 실습 예제와 더불어 자세히 설명한다. 5장, ‘Bind DNS 서버’에서는 리눅스 서버에서 Bind를 이용해 DNS 서비스를 제공하는 방법을 설명한다. DNS의 원리와 구조, Bind 패키지를 이용한 DNS 서버 구현 방법, DNS 서버의 고급 기능 사용 방법과 DNS 서버 보안, DNSSEC의 구축, GUI 프로그램 Webmin의 사용 방법 등을 구체적인 실습 예제와 더불어 자세히 설명한다. 6장, ‘Apache 서버’에서는 리눅스 서버에서 가장 인기 있는 웹 서버인 Apache 서버의 관리 방법을 설명한다. Apache 서버 설치와 서비스 시작, CGI 사용 방법과 인증 방법, 가상 호스트의 사용법과 HTTPS 구현, Apache 보안과 GUI 사용자 분석 프로그램, CMS WordPress 설치 방법 등을 구체적인 실습 예제와 더불어 자세히 설명한다. 7장, ‘Nginx 서버’에서는 Apache 서버와 더불어 최근 가장 인기 있는 웹 서버 중 하나인 Nginx 서버의 관리 방법을 설명한다. Nginx의 이해, 서비
★ 지은이의 말 ★
“우리나라에도 이런 책이 있었으면 좋겠다.”
언젠가 한 웹사이트에서 어떤 독자의 서평을 읽던 중 뇌리에 인상 깊게 남았던 글입니다. 그 독자는 일본의 한 저자가 집필한 리눅스 번역서를 읽고 남긴 리뷰에서 그를 칭찬하며, 한편으로는 이런 훌륭한 도서가 국내에는 부족한 현실에 대해 아쉬움을 표현했습니다. 저는 그 독자의 글을 집필 내내 기억하며 이 책을 읽는 독자들에게도 기억에 남을 만한 훌륭한 서적을 집필해야겠다는 각오를 다지게 되었습니다. 부디 이 책을 읽는 독자들에게 유익한 도움이 되길 간절히 소망합니다.
이 책을 집필하기로 한 동기는 크게 두 가지입니다.
첫 번째는 개인적으로 약 18년 정도 IT 관련 업무 및 강의를 통해 배우고 가르쳤던 내용을 전체적으로 정리하기 위한 목적입니다. 세월이 흘러가면서 과거에 배웠던 많은 내용들이 빠르게 업데이트되어, 그때마다 새로운 내용을 학습하기 위해 많은 시간과 노력을 들여야 했습니다. 그런데 이러한 지식들이 무엇인가 정리되지 않고 단지 흩어진 구름처럼 여기저기 떠다니고 있는 것 같은 느낌이 들어, 더 나이가 들기 전에 제가 가진 지식들을 체계적으로 정리해 기록으로 남기는 것이 좋겠다는 개인적인 소견에서 출발했습니다. 이 서적이 그 출발점이며, 다른 주제들(예를 들어 보안과 해킹, 클러스터링, 클라우딩, DevOps, 네트워킹 등)과 관련된 다양한 서적들도 향후 정리해서 세상에 소개할 예정입니다.
두 번째는 해외의 여러 웹사이트에서 소개하고 있는 양질의 리눅스 관련 블로그를 국내 독자들에게도 소개하고 싶은 마음이 동기가 되었습니다. 이 책의 내용 중 상당 부분은 개인적으로 검색 중에 발견한 해외 웹사이트에서 훌륭한 블로그들을 선택해 직접 테스트하고, 매뉴얼을 찾아서 연구하며, Q&A 사이트를 참조하여 습득한 내용을 제 경험과 더불어 자체적으로 종합 정리한 결과물입니다. 특히 CentOS 7 버전 이후 서버 프로그램들에 여러 변화가 있었는데, 이러한 새로운 기술들도 소개할 수 있는 좋은 기회라고 판단돼 집필을 시작하였습니다. 각 장에서 본문 다음에 책 집필에 도움이 되었던 유용한 웹사이트를 정리해 놓았으니, 독자분들도 자주 참고하면 큰 도움이 되리라 확신합니다.
집필하면서 가장 중점을 두었던 부분은 균형입니다. 책이 너무 이론적으로 치우쳐도 곤란하고 너무 실무 중심으로 치우쳐 설명이나 이해가 부족해도 안 되기 때문에 균형 감각을 유지하는 것이 큰 목표 중 한 가지였습니다. 특히 의미 없이 매뉴얼의 내용이나 명령어를 단지 나열하거나 설명이나 이해 없이 단지 따라 하기 방식의 예제만 제공하는 것에 염증을 느낀 경험이 많았기 때문에 이 부분을 특히 지양하려고 많이 노력했습니다. 그래서 설정 파일에서 한 문장씩 또는 사용된 명령어 하나하나에 번호를 부여해 자세하게 설명하려고 노력했고, 필요한 경우 표나 그림도 적극적으로 사용했습니다. 또한 명령어 사용에 대한 결과를 함께 추가해 독자분들이 직접 자신이 도출한 결과와 비교, 분석할 수 있게 배려했습니다.
“돈에 맞춰 일하면 직업이고, 돈을 넘어 일하면 소명이다. 직업으로 일하면 월급을 받고 소명으로 일하면 선물을 받는다.” 저는 백범 김구 선생님의 이 말씀이 참 좋습니다. 분량이 너무 많아 마치 터널처럼 끝이 보이지 않을 것 같던 지난 1년간, 그래서 도중에 지쳐서 포기하고 싶을 때 한 가지 떠오른 생각은 ‘이것을 소명으로 생각하고 진행하자.’였습니다. 많은 선배로부터 이러한 지식을 배웠으니 후배들에게 전달할 책임이 있다는 조그마한 소명 의식이 결국 최종 결과물에까지 이르게 한 큰 원동력이 되었습니다. 지난 시간이 때로는 힘들었지만, 한편으로는 이 1년이라는 시간이 제 인생에서 가장 많은 지식을 섭취한 기간으로서 풍성한 지식의 향연이 펼쳐진 축복과 감사의 시간이 되기도 했습니다.
- 정철
2016년 7월 프놈펜에서
목차
1부. 리눅스 서버 필수 시스템 관리 기술
1장. 사용자 관리
__1.1. 사용자와 그룹 관리에 필요한 파일과 디렉토리
____1.1.1. 사용자와 그룹 관리에 필요한 기본 파일
____1.1.2. 사용자 생성 환경에 필요한 파일과 디렉토리
__1.2. 명령어를 이용한 사용자 관리
____1.2.1. 사용자 생성(useradd/adduser)
____1.2.2. 사용자 정보 수정(usermod)
____1.2.3. 사용자 제거(userdel)
____1.2.4. 파일과 디렉토리 소유권자 변경(chown)
____1.2.5. 모든 사용자 접근 불허
____1.2.6. 사용자 정보 모니터링
__1.3. 리눅스 패스워드 관리
____1.3.1. 두 파일의 구조 분석
____1.3.2. 파일 /etc/shadow에서 패스워드 없이 로그인
____1.3.3. SHA-512를 이용한 패스워드 생성 시 SALT 사용 테스트
____1.3.4. 명령어 pwconv와 pwunconv 사용
__1.4. 리눅스 패스워드 에이징 사용
____1.4.1. 사용자 정보 확인
____1.4.2. 최소(m), 최대(M), 경고 날짜(W) 변경
____1.4.3. 계정 만료 기간 설정
__1.5. 그룹 관리
____1.5.1. 리눅스 그룹의 몇 가지 특징
____1.5.2. 리눅스 그룹의 종류
____1.5.3. 그룹 관리에 사용되는 파일
____1.5.4. 명령어를 사용한 리눅스 그룹 관리
____1.5.5. 명령어 gpasswd를 이용한 그룹 관리
____1.5.6. 명령어 newgrp을 사용한 그룹 변경
____1.5.7. 명령어 grpconv와 grpunconv 이용
____1.5.8. 파일 무결성 검사
__1.6. Sudoers 파일을 이용한 root 권한 부여
____1.6.1. visudo를 이용한 /etc/sudoers 파일 편집
____1.6.2. 명령어 sudo를 이용한 일반 사용자의 root 권한 이용
__1.7. 사용자 관리를 위한 GUI 프로그램 사용
____1.7.1. 사용자 관리 GUI 프로그램의 설치와 실행
____1.7.2. GUI 프로그램 사용
__1.8. 참고문헌
__1.9. 요약
__1.10. 연습문제
__1.11. 연구과제
2장. 패키지 관리
__2.1. 패키지 관리 프로그램 RPM 사용
____2.1.1. RPM 패키지의 구성 방식
____2.1.2. RPM 패키지를 만드는 과정
____2.1.3. RPM 데이터베이스의 구조
____2.1.4. 명령어 rpm을 이용한 패키지 관리
____2.1.5. SRPM 다루기
__2.2. 패키지 관리 프로그램 YUM 사용
____2.2.1. YUM의 작동 원리 이해
____2.2.2. 명령어 yum 이해
____2.2.3. YUM 저장소 생성
____2.2.4. YUM 플러그인 다루기
__2.3. 패키지 관리 프로그램 DNF 사용
____2.3.1. DNF 패키지 설치
____2.3.2. 명령어 dnf 사용
__2.4. GUI 프로그램을 이용한 패키지 관리
____2.4.1. YUMEX 패키지의 설치와 실행
____2.4.2. YUMEX 사용
__2.5. 소스코드 관리
__2.6. 참고문헌
__2.7. 요약
__2.8. 연습문제
__2.9. 연구과제
3장. 서비스 관리
__3.1. Systemd 구성 요소 이해
____3.1.1. Systemd의 구성 요소
____3.1.2. Systemd 부팅 과정
__3.2. Systemd 명령어와 Unit 이해
____3.2.1. 명령어 비교
____3.2.2. Systemd Unit 이해
__3.3. Systemd를 이용한 서비스 관리
____3.3.1. 서비스 시작과 중지 관련 명령어
____3.3.2. 서비스 활성화 관련 명령어
____3.3.3. 서비스 상태 확인 명령어
__3.4. Systemd Unit 파일 다루기
____3.4.1. Systemd Unit 파일 이해
____3.4.2. Systemd Unit 파일 생성
__3.5. Systemd Target 사용
____3.5.1. Systemd Target 정보 확인
____3.5.2. Target 정보 변경
__3.6. Systemd Journalctl 사용
____3.6.1. Journalctl 기본 사용 방법
____3.6.2. 메시지 필터링 사용
__3.7. 참고문헌
__3.8. 요약
__3.9. 연습문제
__3.10. 연구과제
4장. Firewalld 방화벽
__4.1. Firewalld 서비스 이해
____4.1.1. 방화벽의 개념과 종류
____4.1.2. Netfilter의 작동 원리와 구성 요소
____4.1.3. Firewalld 이해
__4.2. Firewalld 서비스 시작과 사용
____4.2.1. Firewalld 서비스 시작
____4.2.2. Firewalld 기본 사용
__4.3. Firewalld Zone 사용
____4.3.1. Zone의 종류
____4.3.2. Zone 사용
__4.4. Firewalld를 이용한 서비스 사용
____4.4.1. 서비스와 포트 관리
____4.4.2. 머스커레이딩과 포트 포워딩
____4.4.3. 패닉 모드
____4.4.4. 다이렉트 인터페이스
____4.4.5. ICMP 사용
____4.4.6. 오프라인 설정과 백업
____4.4.7. Firewalld Rich Rule 생성
__4.5. 참고문헌
__4.6. 요약
__4.7. 연습문제
__4.8. 연구과제
2부. 리눅스 핵심 네트워크 서버
5장. Bind DNS 서버
__5.1. DNS 서비스 원리와 구조 이해
____5.1.1. DNS의 정의
____5.1.2. DNS의 구조
____5.1.3. DNS 작동 원리
____5.1.4. 리졸버와 Lookup
__5.2. DND 서버 구축
____5.2.1. BIND 설치와 DNS 서버 시작
____5.2.2. 도메인 설정(chul.com)
____5.2.3. 도메인 추가
____5.2.4. 라운드로빈 부하 분산
____5.2.5. 마스터와 슬레이브 네임 서버 구축
__5.3. DNS 서버의 고급 기능
____5.3.1. ACL
____5.3.2. Caching Only와 Forwarding 네임 서버
____5.3.3. BIND VIEW 사용
____5.3.4. DDNS
__5.4. DNS 클라이언트 프로그램 사용
____5.4.1. NSLOOKUP
____5.4.2. HOST
____5.4.3. DIG
__5.5. DNS 서버 보안
____5.5.1. TSIG를 이용한 파일 전송(Zone Transfer)
____5.5.2. RNDC
____5.5.3. Bind의 버전 정보 관리
__5.6. DNSSEC 구축
____5.6.1. DNSSEC의 개념 이해
____5.6.2. DNSSEC 구축
__5.7. DNS 서버 GUI 프로그램 Webmin 사용
____5.7.1. Webmin 설치와 서비스 시작
____5.7.2. Webmin 접속
__5.8. 참고문헌
__5.9. 요약
__5.10. 연습문제
__5.11. 연구과제
6장. Apache 서버
__6.1. Apache 웹 서버 설치와 서비스 시작
____6.1.1. Apache 서버 설치와 기본 설정
____6.1.2. Apache 서버 서비스 시작과 PHP 사용
____6.1.3. 방화벽 설정
__6.2. Apache CGI와 UserDir 사용
____6.2.1. Perl 사용
____6.2.2. 파이썬 사용
____6.2.3. 루비 사용
____6.2.4. USERDIR에서 CGI 사용
__6.3. Apache 인증 사용
____6.3.1. Basic 인증
____6.3.2. Digest 인증
__6.4. 가상 호스트 설정
____6.4.1. 이름 기반 가상 호스트
____6.4.2. IP 기반 가상 호스트
__6.5. HTTPS(HTTP + SSL/










































