You are currently viewing Amazon Linux 2023 – Study 1

Amazon Linux 2023 – Study 1

이 명령들은 Apache 웹 서버의 디렉토리 및 파일 권한을 설정하고, Apache 사용자 및 그룹 권한을 조정하는 데 사용됩니다. 각 명령에 대한 상세 설명은 다음과 같습니다:

  1. sudo chmod 2775 /var/www
  • /var/www 디렉토리의 권한을 2775로 변경합니다.
  • 2는 setgid 비트를 나타내며, 새로 생성된 파일과 디렉토리가 상위 디렉토리의 그룹 소유권을 상속받도록 합니다.
  • 775는 소유자에게 읽기/쓰기/실행 권한, 그룹에게 읽기/쓰기/실행 권한, 기타 사용자에게 읽기/실행 권한을 부여합니다.
  1. find /var/www -type d -print0 | sudo xargs -0 chmod 2775
  • /var/www 디렉토리 내의 모든 하위 디렉토리를 찾아 권한을 2775로 변경합니다.
  • find는 디렉토리를 검색하고, -print0는 null 문자로 구분된 출력을 생성합니다.
  • xargs -0는 null 문자로 구분된 입력을 받아 chmod 2775를 각 디렉토리에 적용합니다.
  1. sudo find /var/www -type f -print0 | sudo xargs -0 chmod 0664
  • /var/www 디렉토리 내의 모든 파일을 찾아 권한을 0664로 변경합니다.
  • 664는 소유자에게 읽기/쓰기 권한, 그룹에게 읽기/쓰기 권한, 기타 사용자에게 읽기 권한을 부여합니다.
  1. sudo systemctl restart httpd
  • Apache 웹 서버를 재시작합니다.
  1. sudo chown -R apache:apache /var/www/
  • /var/www 디렉토리와 그 하위 디렉토리 및 파일의 소유자와 그룹을 apache로 변경합니다.
  • -R 옵션은 하위 디렉토리와 파일에도 재귀적으로 적용됩니다.
  1. sudo usermod -a -G apache ec2-user
  • ec2-user 사용자를 apache 그룹에 추가합니다.
  • -a 옵션은 사용자의 기존 그룹 멤버십을 유지하면서 새 그룹을 추가합니다.
  • -G 옵션은 추가할 보조 그룹을 지정합니다.
  1. sudo chown ec2-user:apache /var/www/html/.htaccess
  • /var/www/html/.htaccess 파일의 소유자를 ec2-user로, 그룹을 apache로 변경합니다.

이러한 명령들은 Apache 웹 서버 환경에서 적절한 권한 설정과 사용자 및 그룹 관리를 수행하여 보안과 협업을 향상시키는 데 도움이 됩니다.

이 내용은 Amazon Linux 2023에서 SSL 인증서를 Let’s Encrypt를 통해 설치하고 Apache 웹 서버에 적용하는 과정을 설명하고 있습니다. 각 단계에 대한 자세한 설명은 다음과 같습니다:

  1. sudo su: 슈퍼유저(root) 권한으로 전환합니다.
  2. dnf install openssl mod_ssl mod_ssl: SSL 관련 패키지인 openssl과 Apache의 SSL 모듈인 mod_ssl을 설치합니다.
  3. sudo dnf install -y python3 augeas-libs pip: Let’s Encrypt 클라이언트인 Certbot을 설치하기 위해 필요한 Python 3, Augeas 라이브러리, pip를 설치합니다.
  4. sudo python3 -m venv /opt/certbot/: /opt/certbot 디렉토리에 Python 가상 환경을 생성합니다. 이를 통해 Certbot과 해당 종속성을 시스템의 다른 Python 패키지와 격리할 수 있습니다.
  5. sudo /opt/certbot/bin/pip install --upgrade pip: 가상 환경 내에서 pip를 최신 버전으로 업그레이드합니다.
  6. sudo /opt/certbot/bin/pip install certbot: 가상 환경 내에서 Certbot을 설치합니다.
  7. sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot: /usr/bin 디렉토리에 Certbot 실행 파일의 심볼릭 링크를 생성하여 어디서나 certbot 명령을 사용할 수 있도록 합니다.
  8. sudo dnf install cronie-noanacron: Cron 작업을 위해 cronie 패키지를 설치합니다.
  9. sudo vi /etc/crontab: Cron 작업을 설정하기 위해 /etc/crontab 파일을 편집합니다.
  10. 30 1 2 root /usr/bin/certbot renew --post-hook "systemctl reload httpd": 매월 2일 1시 30분에 SSL 인증서를 자동으로 갱신하고, 갱신 후 Apache를 다시 로드하는 Cron 작업을 추가합니다.
  11. sudo vi /etc/httpd/conf.d/도메인주소.conf: 도메인에 대한 Apache 설정 파일을 생성하고 편집합니다. 이 파일은 80포트(HTTP)에 대한 설정을 포함하며, HTTPS로 리다이렉트하는 규칙을 설정합니다.
  12. sudo systemctl stop httpd: SSL 인증서를 받기 위해 Apache 웹 서버를 중지합니다.
  13. sudo certbot certonly --standalone: Certbot을 사용하여 SSL 인증서를 받습니다. 이메일 주소와 도메인 주소를 입력하고 약관에 동의합니다.
  14. sudo systemctl start httpd: SSL 인증서를 받은 후 Apache 웹 서버를 다시 시작합니다.
  15. 메인 도메인과 www 서브도메인에 대해 위의 과정을 반복합니다.
  16. sudo vi /etc/httpd/conf.d/ssl.conf: SSL 설정 파일을 편집합니다. 443포트(HTTPS)에 대한 가상 호스트 설정을 추가하고, SSL 인증서 파일의 경로를 지정합니다.

이 과정을 통해 Apache 웹 서버에 Let’s Encrypt SSL 인증서를 설치하고 적용할 수 있습니다. 80포트의 HTTP 요청은 HTTPS로 자동 리다이렉트되며, 443포트에서는 SSL 암호화를 사용하여 보안 연결이 이루어집니다.

답글 남기기