AWS 서버 열기(APM)

Sangyeong Je·2022년 10월 6일
0

서버설정

목록 보기
2/7

1. AWS 접속 후 인스턴스 생성

  1. TAG 설정
  2. Security Group 설정
  3. Elastic IPs 에서 아이피 발급
  4. pem key 발급

2. SSH - PuTTY

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

3. 서버 설정

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

  2. sudo vi /etc/ssh/sshd_config
    sshd_config를 vi(편집)하여 PermitRootLogin:yes 의 주석을 풀어 root 접속을 허용한다

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

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

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

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

  7. 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(권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여할 수 있게 된다.);

7. PHP 설치

  1. rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    php 설치를 위해 webtatic(저장소)rpm(repo에 바로 넣기)로 설치한다.

  2. yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
    php 설치를 위해 remi(저장소)rpm한다

  3. yum-config-manager --enable remi-php74
    remiphp 7.4버전을 활성화한다

3-1. 활성화 안될시 yum install yum-utils

  1. yum install php php-xml php-xmlrpc php-soap php-mbstring php-json php-gd php-mcrypt php-cli php-common php-dba php-devel php-fpm php-gd php-imap php-ldap php-mbstring php-mcrypt php-mysqlnd php-odbc php-opcache php-pdo php-pdo_dblib php-pear php-pecl-imagick php-pecl-imagick-devel php-pgsql php-phpdbg php-process php-snmp php-soap php-tidy php-xml php-xmlrpc php-bcmath -y
    php 라이브러리들을 yum한다

  2. /var/www/html, vi /var/www/html/index.php
    에 인덱스 파일을 넣거나, index.php를 생성한다.

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

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개의 댓글