Linux OS 애플리케이션 설치 및 설정 가이드

Linux OS(배포판) 선택에 대한 부분: Linux 서버 OS (배포판) 선택 가이드

애플리케이션 설치 및 설정

  • 애플리케이션 설치 문서 참고시 주의사항

    • 가능한 해당 애플리케이션에서 제공하는 공식 문서를 활용하는 것이 좋음. 인터넷으로 검색을 해서 나오는 문서들 대부분은 팁 정도 수준에서 정리된 문서가 많아 사용하기 힘든 경우가 많음.

    • 공식 문서를 참고하되 내부 문서화를 할 때는 모르는 사람이 보아도 설치가 가능하도록 정리를 함.

  • 설치 방법

    • 설치 및 설정 과정은 가능한한 CLI를 통해서 수작업이 없도록 처리를 함.

    • Ansible 등 설정관리 프로그램 이용하는 것 권장

    • 설치 프로그램 출처 : 별도의 패키지저장소를 이용하는 경우 공식문서의 설치 가이드에 설명이 나와 있음. (불분명한 출처에서 설치를 하는 경우에는 보안 문제가 생길 가능성이 있음)

    • 해당 OS 패키지 관리 프로그램 이용한 애플리케이션 설치 권장 : 직접 소스를 다운로드 받아 설치하는 것보다는 각 OS 의 패키지 관리 프로그램(Ubuntu 의 경우 apt, apt-get, Redhat 계열의 경우 rpm, yum)을 이용하는 것이 좋음. 그래야 패키지 버전관리, 패키지 업데이트를 쉽게 할 수 있음.

    • 패키지 자동 업데이트 확인

      • 일반적으로 패키지 관리 프로그램을 이용해서 설치하는 프로그램들은 업데이트를 하는 경우 바이너리 파일은 업데이트를 하지만 설정파일은 변경사항이 있으면 업데이트를 하지 않음. 그래서 자동으로 업데이트를 해도 서비스에는 문제가 없도록 하지만 해당 프로그램마다 직접 확인이 필요함.

      • 보안을 위해서 OS에서 패키지 자동 업데이트를 사용을 하는 경우가 있음. 여러가지 이유로 해당 애플리케이션을 자동으로 업데이트는 것을 막으려고 하는 경우에는 설정을 추가해야 함.

  • 애플리케이션 설정파일 위치 및 설정내용

    • 패키지 관리자로 설치를 하는 경우에는 설정파일 위치가 다른 경우가 있으며 해당 애플리케이션의 설치 관련한 문서에서 설명을 제공하는 경우가 많음.

  • 설치후 필요한 작업 명시

    • 보안을 위해서 root 가 아닌 일반 사용자로 애플리케이션을 돌리는 것이 좋음. 애플리케이션을 돌릴 user, group 등 추가.

    • 부팅시 애플리케이션 자동으로 올라오도록 하는 설정 필요

  • 운영에 필요한 부분 확인

    • 보안 확인

      • 애플리케이션이 보안 문제가 없는지 최신의 보안 업데이트 확인

      • 애플리케이션에서 사용할 포트

      • 서비스 형태로 계속 떠 있는 경우 보안을 위해서 listen 할 IP도 제한을 할 수 있음

      • 해당 애플리케이션에 접근해야 할 IP제한 필요. 애플리케이션의 ACL, 보안 설정 또는 OS의 보안 설정

    • 모니터링

      • 모니터링 해야 하는 항목

    • 로그

      • 로그디렉토리 및 파일 설정 정리

      • 로그디렉토리나 파일에 대한 로그 로테이션 설정. 운영체제 패키지 형태로 제공되는 경우는 로그로케이션 설정 파일도 함께 제공하는 경우가 많음.

    • 데이터 백업 또는 애플리케이션 복구 등을 위해 특정 디렉토리가 필요한 경우 명시. 개발소스 자체는 GITHUB 등 버전관리 프로그램에서 관리를 해야하며 백업은 주로 데이터를 대상으로 함.

  • 참고 : docker 예제.
    https://docs.docker.com/engine/install/ubuntu/
    https://docs.docker.com/engine/install/linux-postinstall/