AWS 서버 열기(APM), centos9

Sangyeong Je·2024년 5월 3일
0

서버설정

목록 보기
8/11

1. SSH - PuTTY

  1. PuTTY Gen 에서 pem 을 ppk로 변환
  2. IP 설정 / 자동 로그인이름 ec2-user / ppk 설정
  3. 서버설정

2. 서버 설정

  1. sudo passwd root
    sudo(루트권한이용)하여 비밀번호 초기 설정을 한다.

  2. sudo vi /etc/ssh/sshd_config
    sshd_config를 vi(편집)하여 PermitRootLogin prohibit-password 의 주석을 풀고 값을 yes로 바꿔 root 접속을 허용한다

  3. sudo cp /home/ec2-user/.ssh/authorized_keys /root/.ssh
    루트로 비밀번호 없이 접속하기 위해 authorized_keys(접속 키)를 /root/.ssh에 cp(복사)한다.

  4. sudo systemctl restart sshd
    sshd의 설정 적용을 위해 service(시스템 서비스 조작)로 재시작한다.

  5. 루트로 로그인 할 수 있다.

  6. sudo vi /etc/selinux/config
    서버 초기 세팅을 원활하고 효율적으로 하기 위해
    selinux(보안강화리눅스) 설정에서 SELINUX를 disable로 변경한다.

  7. sudo reboot
    서버를 재시작해 selinux의 변경을 적용한다.

  8. yum -y update
    yum(내장 설치,삭제)로 모든 패키지를 -y(최신) 업데이트를 한다.

4. 아파치(httpd) 설치

  1. yum -y install httpd
    httpd(Hypertext Transfer Protocol Daemon, 아파치)를 설치한다.

  2. systemctl enable httpd.service
    systemctl(service와 같음)으로 enable 설정해 서버 부팅시 아파치 자동 시작되게 한다.

  3. systemctl start httpd
    아파치 서버 시작

5. 마리아 DB 설치

  1. yum repolist
    외부에서 설치 진행하려고 yum repository 리스트 확인

  2. vi /etc/yum.repos.d/MariaDB.repo
    repo파일yum.repos.d(repository)에서 받아와서 vi(편집)

  3. [mariadb]
    name = MariaDB
    baseurl = https://rpm.mariadb.org/10.6/rhel/$releasever/$basearch
    gpgkey= https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1

repo 파일안에 집어넣는다.
4. yum install wget -y
웹 서버로부터 컨텐츠를 가져오기위해 wget 인스톨

  1. wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
    wget(네트워크 상에서 데이터를 다운로드) 으로 마리아db 셋업을 설치함

  2. chmod +x mariadb_repo_setup
    wget 으로 가져왔을때 r(읽기),w(쓰기) 권한만 있기때문에 chmod(파일의 모드변경) +x (실행(x) 권한 부여)을 한다.

  3. ./mariadb_repo_setup
    설치한 셋업파일로 셋업을 한다.

  4. yum install epel-release.noarch -y
    epel-release.noarch(특정 패키지 설치를 위해 필요함) 설치한다.

  5. yum install mariadb mariadb-server -y
    mariadb, mariadb-server 를 설치한다.

  6. rpm -qa | grep MariaDB
    마리아 db에 관한 정보를 모아 확인

  7. systemctl start mariadb , systemctl enable mariadb, systemctl status mariadb
    마리아 DB를 실행하고, 시작프로그램으로 설정하고, 상태를 확인한다.

6. 마리아DB 접속

  1. /usr/bin/mariadb-admin -u root password '비밀번호'
    마리아DB의 비밀번호를 설정한다.

  2. netstat -anp | grep 3306
    3306 포트 정보를 확인한다.

  3. mysql -u root -p
    마리아DB 접속하기

  4. show databases;
    데이터베이스 리스트 확인

  5. 서버 방화벽에 3306 포트를 열어준다.

  6. create user '유저네임'@'%' identified by '비밀번호';
    @(어디에), '%'(외부에서), 'localhost'(내부에서)

  7. grant all privileges on *.* to '유저네임'@'%' with grant option;
    grant all privileges(모든권한부여) on *.*(모든 DB.모든 테이블) to '유저네임'@'%'(유저네임에게 외부에서의 접속 권한을) with grant option(권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여할 수 있게 된다.);

6.5 서버 시간설정

  1. timedatectl
    현재 시간 설정 보기
  2. timedatectl set-timezone Asia/Seoul
    시간 설정 한국으로 맞추기

7. PHP 설치

  1. dnf update -y

  2. dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

  3. dnf module reset php

  4. dnf module enable php:remi-7.4 -y

  5. dnf install php php-cli php-common php-fpm php-gd php-imap php-ldap php-mbstring php-mysqlnd php-odbc php-opcache php-pdo php-pdo-dblib php-pear php-pecl-imagick php-pgsql php-process php-snmp php-soap php-tidy php-xml php-bcmath -y
    php 라이브러리들을 dnf한다

5-1. yum install php php-cli php-common

  1. systemctl restart httpd
    아파치에 적용하기 위해 재시작한다.

8. SSL 발급받기

  1. Route 53 > Hosted zones 에서 hosted zone을 만든다.

  2. AWS Certificate Manager > Certificates 에서 SSL 발급을 원하는 도메인명을 입력한다.

  3. Route 53 > Hosted zones > 도메인 에서 Create record 로 SSL 을 붙인다.

9. 로드 밸런서

  1. 로드 프로토콜 HTTPS 를 받으면 인스턴스 프로토콜 80포트로 취급한다.

  2. documentRoot에 ping 파일 생성해서 Health Check 를 연결한다.

10. 서브 도메인 분리

  1. /etc/httpd/conf/httpd.conf에서 <Directory "/var/www/html">AllowOverrideALL 로 바꾼다.

  2. <VirtualHost *:80>
        RewriteEngine On
        RewriteCond %{HTTP:X-Forwarded-Proto} =http
        RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
    
        DocumentRoot "/hi"
        ServerName hi.jesang0.com
        <Directory "/hi">
            SetEnvIf Origin "https?://(hi\.)?(jesang0.com)$" AccessControlAllowOrigin=$0
            Header set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
            Options Indexes FollowSymLinks
            AllowOverride All 
            Require all granted
        </Directory>
    </VirtualHost> ```
    를 붙여놓고 서버에 맞춰 변경한다.

참고

0개의 댓글