Top

CentOS 7 리눅스 서버 쿡북 [CentOS의 설치부터 SELinux와 인프라 장비 모니터링까지]

  • 원서명CentOS 7 Linux Server Cookbook - Second Edition (ISBN 9781785887284)
  • 지은이올리버 펠츠(Oliver Pelz), 조나단 홉슨(Jonathan Hobson)
  • 옮긴이김용환
  • ISBN : 9788960779433
  • 33,000원
  • 2016년 12월 16일 펴냄
  • 페이퍼백 | 444쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 오픈소스 프로그래밍

책 소개

요약

센트OS 6보다 훨씬 좋아진 센트OS 7의 설치 및 기본 설정 방법, 소프트웨어 패키지 관리 방법을 소개한다. 또한 파일 시스템과 서버에 안전하게 접근하도록 관리하는 방법과 파일, 프린터, 네트워크의 DHCP와 같은 다양한 자원 공유 시스템 설정 방법을 설명한다. FTP 서비스, 자체 DNS 서버 구축, 데이터베이스 서버 실행 방법, 메일과 웹 서비스를 제공하는 기능 등의 고급 주제를 다룬다. 마지막으로 SELinux를 상세하게 설명하며, 도커(Docker) 운영 시스템 가상화로 작업하는 방법과 나기오스(Nagios)로 IT 인프라 장비를 모니터링하는 방법을 설명한다.

이 책에서 다루는 내용

■ 일반적이고 고급스런 방법을 통한 센트OS 7 리눅스 서버 시스템의 설치 및 설정

■ 전문가 설정 조언 사용과 소프트웨어 패키지 관리를 통한 성능 기반 및 보안 서버 솔루션 유지

■ 안정된 성능을 유지하기 위한 서버의 파일 시스템 모니터링 및 관리, 개발

■ 특정 네트워크에서 파일과 자원 공유에 대한 모범 사례

■ 웹, 메일, FTP, 데이터베이스, 도메인 이름 서버 기술 등 일반적인 표준 서비스 설치 및 설정

■ 도커 플랫폼을 사용한 운영체제 레벨의 가상화 방법 소개

■ SELinux 접근 제어 아키텍처의 기초 이해

■ 나기오스를 이용한 IT 인프라 장비 모니터링

이 책의 대상 독자

센트OS 자체에 대한 내용보다는 센트OS 서버 솔루션 구축에 대해 다루는 실용적인 가이드며, 센트OS 서버의 사용 방법을 보여준다. 또한 이 책은 센트OS를 처음 사용하고자 하는 리눅스 초보자부터 중급자를 위해 작성됐다. 하지만 이 운영체제가 생전 처음이더라도 걱정하지 않아도 된다. 이 책은 완벽한 서버 솔루션을 구축하는 방법과 추가적으로 전문 기술을 구축할 수 있는 많은 노하우가 포함된 단계별 접근 방식을 제공한다.

이 책의 구성

1장, ‘센트OS 설치’에서는 서버를 설치하는 작업과 추가 툴을 사용해 센트OS 7의 미니멀을 변경하고 개선하는 작업을 소개하는 예제를 다룬다. 센트OS를 처음 설치하는 독자를 위해 작성됐고, 원하는 센트OS 버전을 설치하는 다양한 방법을 예제를 통해 소개한다.
2장, ‘시스템 설정’에서는 리눅스 초보자들에게 도움의 손길을 제공하고자 예제를 통해 설치부터 쉽게 따라 하고, 서버 설정을 원하는 대로 진행할 수 있도록 돕는다. 텍스트 파일로 작업하는 방법을 보여주면서 시작하고, 언어와 시간 및 날짜 설정을 변경하는 방법을 소개하며, 네트워크를 설정하는 방법뿐 아니라 모든 도메인 이름을 찾는 방법, 커널 모듈과 연동하는 방법을 소개했다.
3장, ‘시스템 관리’에서는 서버를 강화하고 환경을 통제할 수 있는 빌딩 블록을 제공한다. 전문 서버 솔루션 개발에 필요한 다양한 단계를 살펴보며 습득한 풍부한 지식을 널리 활용한다면 서버 관리자로서 빨리 자리 잡을 수 있다.
4장, ‘YUM으로 패키지 관리’에서는 센트OS 7에서 소프트웨어 패키지로 작업하는 방법을 소개한다. 시스템 업그레이드부터 추가 저장소로 시스템을 검색, 설치, 삭제, 개선할 수 있는 내용까지 다룬다. YUM(Yellowdog Updater Modified)과 RPM 패키지 관리자로 알려진 오픈소스 커맨드라인 패키지 관리 유틸리티를 설명한다.
5장, ‘파일 시스템 관리’에서는 서버의 파일 시스템에 집중한다. 가짜 디스크 디바이스의 생성부터 테스트 드라이브 개념 전문가 레벨 포매팅과 파티셔닝 커맨드까지, 논리 볼륨 매니저(Logical Volume Manager)의 사용 방법을 소개하고, 파일 시스템을 유지 보수하는 방법, 디스크 쿼터로 작업하는 방법을 배운다.
6장, ‘보안 기능 제공’에서는 성공적인 서버 솔루션 실행에 필요한 보호 레벨을 전달하는 다양한 방법을 다룬다. ssh 서비스와 FTP 서비스를 보호부터 새로운 firewalld 매니저와 인증서 생성까지, 외부 공격의 위험을 낮출 필요성을 고려할 뿐 아니라 사용자에게 추가적인 보안 기능을 제공하는 서버 구축이 얼마나 쉬운지 살펴본다.
7장, ‘네트워크 구축’에서는 내부 네트워크의 컴퓨터 간 여러 형태의 자원 공유를 구현하는 필수 단계를 다룬다. IP 주소와 프린트 디바이스부터 다양한 형태의 파일 공유 프로토콜까지, 홈 네트워크나 회사 네트워크 환경을 구축하는 데 있어서 모든 서버의 중요한 역할을 설명한다.
8장, ‘FTP 작업’에서는 센트OS 7 서버에 제공하고 싶은 FTP(File Transfer Protocol)의 설치, 설정, 관리에 필요한 가이드 예제를 소개하고, VSFTP의 역할에 집중한다.
9장, ‘도메인 작업’에서는 센트OS 7 서버의 도메인 이름, 도메인 해석, DNS 질의를 구현하기 위해 필요한 단계를 소개한다. 도메인 이름 시스템은 모든 서버가 필요로 하는 환경, 홈 네트워크 또는 회사 환경에서 중요한 역할을 한다. 미래 경쟁력을 갖춘 여러 솔루션을 예제로 소개한다.
10장, ‘데이터베이스 작업’에서는 센트OS 7에 데이터베이스를 배포하는 필수 단계를 설명하기 위해 MySQL와 PostgreSQL의 접근 방법을 설명한다.
11장, ‘메일 서비스 제공’에서는 센트OS 7에서 상위 도메인에 대한 메일 전송 에이전트(Mail Transport Agent)를 활성화하는 방법을 소개한다. 내부 POP3/SMTP 서버의 구축부터 Fetchmail 설정까지 다루며, 미래에 이메일 기반의 모든 필요를 위한 기초를 제공한다.
12장, ‘웹 서비스 제공’에서는 많이 알려진 아파치 서버 기술의 역할을 상세하게 분석한다. 여러분이 개발 서버나 실제 상용 서버를 실행하든 하지 않든 웹 기반 문서를 공개하는 솔루션의 장인이 되기 위해 필요한 웹 서비스 기능을 전달할 수 있는 필수 단계를 제공한다.
13장, ‘운영체제 레벨 가상화’에서는 최신 오픈소스 플랫폼인 도커(docker)를 사용한 리눅스 컨테이너를 소개하고, 처음 만들 도커 이미지의 생성 방법, 실행 방법, 공유 방법을 제공한다.
14장, ‘SELinux로 작업’에서는 센트OS 7의 가장 잘 알려지지 않은 주제 중 하나인 SELinux(Security Enhanced Linux)를 쉽게 설명하고 분석한다.
15장, ‘IT 인프라 장비 모니터링’에서는 전체 IT 인프라 장비의 모니터링에 대한 사실상 업계 표준인 나기오스 코어(Nagios Core)를 소개하고, 설정 방법을 보여준다.

저자/역자 소개

지은이의 말

이 책은 2013년 출간돼 좋은 평가를 받아온 『CentOS 6 Linux Server Cookbook』의 두 번째 개정판이다. 센트OS 7이 2014년 중반에 출현한 이후 엄청난 변경이 있었고, 새로운 기능이 추가됐는데, 몇 가지 예를 들자면 새로운 설치자, 시스템 관리 서비스 기능, 방화벽 데몬, 개선된 리눅스 컨테이너 기능, 새로운 파일 시스템 등이 있다. 새로운 기능이 추가됨으로써 『CentOS 6 Linux Server Cookbook』의 많은 예제가 쓸모 없게 되거나 사용할 수 없게 돼 새롭게 내용을 변경했다. 이 책은 단지 초판에서 다뤘던 주제를 다시 상기하는 수준이 아니라 최신 오픈소스를 포함시키고 보안 문제를 더 다뤘으며, 운영체제 레벨의 가상화와 SELinux를 추가했다. 마지막으로 서버 관리에 대한 이해도를 높이기 위해 서버 모니터링을 다룬 장을 추가했다.
서버 구축 작업을 하다가 종종 도전에 직면하기도 한다. 서버 구축은 최적의 상황에도 종종 어렵고, 최악의 상황에는 훨씬 당황스럽다. 가장 큰 고난을 주는 작업이지만, 가장 자부심과 성과가 큰 작업이기도 하다. ‘서버’라는 단어는 많은 의미를 갖는데, 이 책에서 서버는 사용자가 전문 서버 솔루션을 선택해 엔터프라이즈급 컴퓨팅 시스템의 내부 작업을 의도적으로 노출시키고 내부의 내용을 공개하는 의미로 쓰인다. 센트OS는 무료며, 레드햇 엔터프라이즈 리눅스(RHEL, Red Hat Enterprise Linux)와 완벽히 호환되는 배포판이다. 또한 전 세계에서 서버를 실행하기 원하는 기관, 회사, 전문 기관, 일반 사용자가 첫 번째로 선택하는 운영체제다. 웹 서버, 파일 서버, FTP 서버, 도메인 서버, 여러 목적을 가진 솔루션 등 실행하려는 의도가 무엇이든 관계없이 센트OS는 매우 강력하고 유연한 리눅스 배포판으로 존중받고 있다. 이 책의 목적은 독자가 센트OS 운영체제를 사용해 원하는 서버, 즉 사용자가 원하는 기능이 있고 쓰기 쉬운 서버를 구축할 수 있도록 돕는 것이다. 이런 관점으로 본다면 이 책은 단지 센트OS 운영체제에 대한 소개 이상으로, 서버 기반의 운영체제를 설명하는 책이라 말할 수 있다. 엔터프라이즈 운영체제인 센트OS를 이해할 수 있도록 단계별 예제를 소개했다. 센트OS를 처음 접하든 이미 알고 있든 모든 사람을 위한 내용을 담았다. 이 책은 센트OS를 잘 이해할 수 있게 돕는 실용적인 가이드이자 센트OS의 모든 내용에 대한 시작점이 될 것이다.

지은이 소개

올리버 펠츠(Oliver Pelz)

소프트웨어 개발자와 시스템 관리자로 10년 이상의 경력이 있다. 바이오 인포매틱스 학위를 받았고, 현재 하이델베르그에 위치한 독일 암 연구소에서 근무 중이다. 또한 연구소의 바이오 인포매틱스 분야에서 여러 과학 논문을 저술했다. 자신이 속한 부서와 전 세계 과학자를 대상으로 웹 애플리케이션과 생물학 데이터베이스를 개발하고 있을 뿐 아니라, 전체 디비전의 리눅스 기반 데이터 센터를 관리하며, 성능 좋은 현미경와 일련의 게놈 데이터 분석을 위한 두 개의 성능 좋은 센트OS 클러스터를 구축했다. 수년 동안 리눅스와 오픈소스의 열렬한 지지자인 그는 코딩하는 것과 독일의 Black Forest에서 자전거 타는 것을 즐긴다. 또한 여러 오픈소스 프로젝트에 공헌해왔고, 팩트출판사의 『CentOS High Performance』를 감수했고, IT 블로그(www.oliverpelz.de)를 운영하고 있다.

조나단 홉슨(Jonathan Hobson)

웹 개발자, 시스템 엔지니어, 애플리케이션 프로그래머다. 디지털 야망을 실현하기 위해 전 세계의 회사, 기관, 개인을 지원하며, 20년 넘게 조용히 일하고 있다. 우수한 성적으로 영어학과 역사학 학사 학위를 받았고, 많은 언어를 다룰 줄 아는 존경받는 현역 개발자다. 프로그래밍, 논문 기고, 컴퓨터 만들기, 비디오 게임, 큰 야외에서 돌아다니는 것을 좋아한다. 센트OS가 출시될 때부터 수년 동안 센트OS를 사용해 왔다. 센트OS는 그에게 신뢰를 주어, 서버 솔루션으로 센트OS를 처음으로 사용했다. 센트OS는 최고 수준의 커뮤니티 기반의 엔터프라이즈급 운영체제다. 그는 센트OS를 사용할 수 있어 기쁘고, 자신의 지식과 경험을 다른 이들에게 전달하기 위해 이 책을 썼다.

옮긴이의 말

코드를 좋아하는 개발자지만, 리눅스 운영체제도 좋아한다. 리눅스 커널 프로그래밍을 하면서 리눅스와 조금씩 친해지기 시작했는데, 코드로는 어렵게 진행되지만 리눅스에서는 쉽게 할 수 있는 작업들을 알게 되면서 특히 리눅스를 좋아하게 됐다. 다양한 리눅스 배포판(레드햇 리눅스, 센트OS, 우분투, 페도라 리눅스 배포판)을 사용할 기회를 얻으면서 다양한 지식을 쌓게 됐다.
네이버에서 개발자로 일하면서 1,000여 대의 센트OS 서버 시스템을 관리했고, 리눅스 커널 /tcpdump/ 자바 분석 툴을 통해 애플리케이션의 성능 문제와 장애를 해결했으며, 아파치 서버/메일 서버/배포 서버/ 모니터링 서버/캐시 서버/Mysql DB 등의 구축 및 운영 업무를 해왔다. 이런 경험을 통해 안정적인 센트OS를 기반으로 다양한 기술들을 배우고 적용할 수 있었다.
하지만 센트OS 7에서 새로운 도전에 직면하게 됐다. 센트OS 7은 기존과는 달라진 명령어를 갖고 있다. 새로운 설치자, 시스템 관리 서비스 기능, 방화벽 데몬, 리눅스 컨네이너 기능(도커(docker) 지원), SELinux, 방화벽 관리 시스템, 새로운 파일 시스템이 추가됐는데, 생각보다 배우고 익혀야 할 내용이 많았다. 그때 마침 이 책을 보게 됐고, 센트OS 7에 대한 많은 지식을 얻을 수 있었다. 기존에 센트OS 6을 잘 아는 개발자/시스템 운영자뿐 아니라, 센트OS 7을 처음 접하는 개발자/시스템 운영자에게 이 책은 센트 OS 7의 길라잡이가 될 것이다.

옮긴이 소개

김용환

네이버, 라인(Line)을 거쳐 카카오(Kakao)에서 개발자로 일하고 있다. 현재 마흔한 살의 평범한 개발자로 다양한 도전에서 에너지를 얻으며, 개발과 실무 경험을 블로그(http://knight76.tistory.com)에 기록하고 있다. 에이콘출판사의 『Ansible 설정 관리』(2015), 『Elasticsearch Cookbook 2/e』(2016), 『Redis 핵심정리』(2016)를 번역했다.

목차

목차
  • 1장. 센트OS 설치
    • 소개
    • 윈도우 또는 OS X에서 센트OS 다운로드와 체크섬 확인
    • 윈도우 또는 OS X에서 USB 설치 미디어 생성
    • 그래픽 인스톨러를 사용한 센트OS 설치
    • HTTP로 netinstall 설치
    • 킥스타트 파일을 사용한 센트OS 설치
    • 부트 로더 시작과 사용자 정의
    • 복구 모드에서 시스템 문제 해결
    • 시스템 업데이트 후 추가 관리 툴과 개발 툴로 센트OS 7 미니멀 설치 개선

  • 2장. 시스템 설정
    • 소개
    • less를 이용해 텍스트 파일 살펴보기
    • Vim 소개
    • 언어 설정
    • NTP와 chrony를 사용한 시스템 시간 동기화
    • 장비 이름 설정과 네트워크 주소 해석
    • 고정 네트워크 연결 구축
    • 슈퍼유저 되기
    • 시스템 배너와 메시지의 사용자 정의
    • 커널 입문

  • 3장. 시스템 관리
    • 소개
    • 백그라운드 서비스를 알고 관리하기
    • 백그라운드 서비스 문제 해결
    • journald로 시스템 자원 추적
    • journald에 영속성 설정
    • 사용자와 그룹 관리
    • cron으로 스케줄 작업
    • rsync로 파일 동기화
    • 스냅샷 생성과 백업
    • 중요한 서버 장비 모니터링
    • 깃과 서브버전으로 제어

  • 4장. YUM으로 패키지 관리
    • 소개
    • 시스템 업데이트를 위한 YUM 사용
    • 패키지 검색을 위한 YUM 사용
    • 패키지 설치를 위한 YUM 사용
    • 패키지 삭제를 위한 YUM 사용
    • YUM을 깨끗하고 깔끔하게 유지
    • 우선순위 알기
    • 외부 저장소 사용
    • YUM 저장소 생성
    • RPM 패키지 매니저로 작업

  • 5장. 파일 시스템 관리
    • 소개
    • 가상 블록 디바이스 생성
    • 파일 시스템 포맷과 마운트
    • 디스크 쿼터 사용
    • 파일 시스템 관리
    • 파일 시스템의 용량 확장

  • 6장. 보안 기능 제공
    • 소개
    • 원격 접근을 막고 SSH를 견고하게 하기
    • fail2ban 설치와 설정
    • 방화벽 작업
    • 예제를 통한 방화벽 규칙 구축
    • 자체 서명 인증서 생성
    • FTP를 대신할 보안 FTP 사용

  • 7장. 네트워크 구축
    • 소개
    • CUPS로 프린트
    • DHCP 서버 실행
    • 파일 공유를 위한 WebDAV 사용
    • NFS 설치와 설정
    • NFS로 작업
    • SAMBA를 이용한 안전한 자원 공유

  • 8장. FTP 작업
    • 소개
    • FTP 서비스 설치와 설정
    • 가상 FTP 사용자로 작업
    • FTP 서비스의 사용자 정의
    • 사용자나 파일 전송과 관련된 문제 해결

  • 9장. 도메인 작업
    • 소개
    • 캐시 전용 네임 서버의 설치와 설정
    • 권한 전용 네임 서버 설정
    • 통합 네임 서버 솔루션 구축
    • 도메인 얻기
    • 보조(슬레이브) DNS 서버 구축

  • 10장. 데이터베이스 작업
    • 소개
    • 마리아DB 데이터베이스 설치
    • 마리아DB 데이터베이스 관리
    • 마리아DB의 원격 접근 허용
    • PostgreSQL 서버 설치와 관리
    • PostgreSQL에 대한 원격 연결 설정
    • phpMyAdmin과 phpPgAdmin 설치

  • 11장. 메일 서비스 제공
    • 소개
    • Postfix를 사용한 상위 도메인 메일 서비스 설정
    • Postfix로 작업
    • Dovecot로 메일 전송
    • Fetchmail 사용

  • 12장. 웹 서비스 제공
    • 소개
    • 아파치 설치와 웹 페이지 제공
    • 시스템 사용자 활성화와 공개 디렉토리 구축
    • 이름 기반의 호스팅 구현
    • 펄과 루비로 CGI 구현
    • PHP 설치, 설정, 테스트
    • 아파치에 보안 기능 추가
    • SSL로 HTTPS 설정

  • 13장. 운영체제 레벨의 가상화
    • 소개
    • 도커 설치와 설정
    • 이미지 다운로드와 컨테이너 실행
    • 도커 파일 이미지 생성과 도커 허브에 업로드
    • 사설 도커 레지스트리 설정과 작업

  • 14장. SELinux 작업
    • 소개
    • 중요 SELinux 툴 설치와 설정
    • SELinux 보안 문맥 작업
    • 정책 적용
    • SELinux 문제 해결

  • 15장. IT 인프라 장비 모니터링
    • 소개
    • 나기오스 코어 설치와 설정
    • 원격 클라이언트 장비에 NRPE 설치
    • 원격 시스템의 중요한 지표 모니터링

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안