KDT/Cloud

231201 Cloud

001cloudid 2023. 12. 1. 12:39
728x90

EC2 서버 워드프레스 설정

워드프레스는 웹 사이트를 간단히 만들 수 있는 프로그램 

웹 서비스 프로그램, PHP, DB가 필요

웹 서비스 프로그램 : Apache, DB : MariaDB

※LAMP : Linux Apache MariaDB PHP

 

순서

  1. EC2 인스턴스 생성

  2. 인스턴스 원격접속(MobaXterm)

  3. 워드프레스 설정
    워드 프레스에 필요한 요소가 있는지 확인
    rpm -qa http php mariadb-server → 입력 시 아무 내용이 나오지 않으면 설치가 되어 있지 않음을 뜻함. 설치 필요

  4. 패키지(프로그램 설치)
    sudo yum -y install httpd php php-mysqlnd mariadb-server

  5. 아파치 웹 서비스 프로그램 시작
    systemctl status httpd → 동작 시작 sudo systemctl start httpd

  6. 동작 확인
    sudo systemctl status httpd → Active : active(running) 동작 중임

  7. 웹 서버 접속 확인
    웹 브라우저 주소창에 인스턴스 주소를 입력하면 test 페이지가 뜨면 서비스가 되고 있는 것(그림1)
    그림 1. 웹 서버 접속 확인
  8. index.html
    sudo vi /var/www/html/index.html(그림2)
    그림 2.
  9. PHP가 잘 동작하는지 확인
    아파치가 기본적으로 사용하는 DocumentRoot는 /var/www/html
    sudo vi /var/www/html/phpinfo.php
    ------------------
    <?php
        phpinfo();
    ?>
    작성 후 :wq
    ------------------
    sudo systemctl restart httpd → php 적용을 위해서 재시작

  10.  phpinfo.php 확인
    윈도우 웹 브라우저 주소창에 EC2인스턴스 IP주소/phpinfo.php 입력
    →웹 브라우저에 php관련 내용이 표시(그림3)
    그림 3. phpinfo.php 확인
  11. DB 시작 및 접속
    DB는 MySQL 또는 Maria DB를 사용
    systemctl status mariadb
    sudo systemctl mariadb → mariadb 서비스 시작
    mysql -u root → mariadb  monitor 프로그램 동작 → MariaDB접속
    show databases;
    ※database(Mariadb)안에 mysql db(schema : table을 가지고 있음)가 있음
    create database wpDB; → wpDB DB생성
    show databases; → wpDB가 생성되었는지 확인
    명령어는 보통 대문자, 외에는 소문자로 사용함! ex) SHOW DATABASES;

  12. 워드프레스가 DB와 연동될 때 사용할 사용자 생성(grant 권한 on 대상 to 사용자 identified by 비밀번호)
    grant all on wpDB.* to wpUser@localhost identified by '1234';
    → 비밀번호 1234로 설정된 wpUser가 wpDB 데이터베이스의 모든 테이블들에 대해 읽고, 쓰고, 수정, 삭제하는 모든 권한이 부여되었다는 뜻 
    ※all : CRUD(Create, Select(Read), Update, Delete)
    flush privileges; → 사용자에 대한 설정을 한 후 적용을 시켜줘야함
    exit → 이후 MariaDB 종료

  13. 워드프레스 프로그램 설치
    wget https://ko.wordpress.org/wordpress-4.9.6-ko_KR.tar.gz → wget 명령어를 통해 워드프레스 압축 파일 다운로드
    ls → wordpress.4.9.6.-ko.KR.tar.gz 파일이 있는지 확인
    tar xfz wordpress-4.9.6-ko_KR.tar.gz → 압축 해제 → 해당 디렉토리에 'wordpress' 디렉토리(폴더)가 생성

  14. wordpress 위치 이동
    아피치의 documentRoot /var/www/html로 이동
    sudo mv wordpress /var/www/html → /var/www/html 아래에 wordpress와 같은 이름으로 파일을 이동
    →파일 이동 시 변경하고자하는 이름이 있다면 html/이름 을 써주면 됨.
    ex) 해당 파일 또는 디렉토리를 다른 이름으로 저장하고 싶다면 sudo mv wordpress /var/www/html/a
    → a라는 이름으로 바껴서 이동
    ls -l /var/www/html

  15. 소유자 변경
    현재 wordpress 디렉토리의 소유자는 'ec2-user'
    wordpress는 apache가 사용할 디렉토리이므로 소유자를 apache로 변경하는 것이 좋음
    chown 소유자.소유그룹 대상
    ※chown change owner
    sudo chown -R apache.apache /var/www/html/wordpress
    ※ -R : wordpress 아래의 모든 디렉토리와 파일에 대한 권한을 한꺼번에 변경,
    넣어주지 않으면 wordpress 아래의 파일에 대한 권한은 ec2-user임.
    ls -l /var/www/html
    → drwxr-xr-x 5 apache apache 4096 Jun 10  2018 wordpress
    →소유자 ec2-user에서 소유자 apache로 변경됨.
    sudo chomd 777 /var/www/html/wordpress
    →권한 변경 → 소유자, 그룹, 그외 사용자에게 읽기, 쓰기, 실행 권한을 부여
    → drwxrwxrwx 5 apache apache 4096 Jun 10  2018 wordpress

    ※ 소유권, 퍼미션
    퍼미션(permission) :
    파일을 읽고(R), 쓰고(W), 실행(X) 할 수 있는 일련의 과정들을 권한이라고 함
    퍼미션(권한)의 확인은 ls -l 명령어를 통해서 확인할 수 있음
    ls -l 을 입력하면(그림 4)
    그림 4.
    -rw-r--r-- 1 root     root        5 Dec  1 00:37 index.html
    → index.html에 대한 권한이 'rw-r--r--'으로
    설정되어 있고 해석을 하면 소유자(root)는 rw-(읽고, 쓰기 가능), 소유그룹(root)은 r--(읽기만 가능),
    그 밖에 유저(other)은 r--(읽기만 가능)

    파일 허가권
    -rw-r--r-- 표현되는 부분을 파일허가권이라고 함.
    3자리씩 끊어서 보면 되며, 앞에서부터 소유자, 그룹, 그 외 사용자의 권한에 대해 설명
    파일 허가권은 rwx로 표현되는 '심볼릭모드'와 644(숫자)로 표현되는 '옥탈모드'가 있음
    touch a.txt → 비어있는 a.txt가 해당 디렉토리 생성
    ls → a.txt를 확인할 수 있음. 파일명만 보이고 파일허가권은 보이지 않음
    ls -l → -rw-rw-r-- 1 ec2-user ec2-user 0 Dec  1 02:17 a.txt → a.txt에 대해 소유자 ec2-user는 rw-(읽고 쓰기),
    그룹 ec2-user는 rw-(읽고 쓰기), 그밖에 유저 other은 r--(읽기만)
    useradd a → 유저 a 생성되고, 그룹 a 생성
    cf) useradd a -g root
    ※groupadd → 그룹만 따로 생성할 수 있음
    만약 sudo touch a.txt를 했다면 소유자 소유그룹이 바뀜.

    파일 허가권 수정

    chmod 명령어 사용
    ※chmod(chage modify) [권한변경사항] [파일이름]
    심볼릭모드를 이용한 변경
    소유자 : u, 그룹 : g, 그 외 사용자 : o
    읽기 : r, 쓰기 : w, 실행 : x
    권한 변경 방법 : '+' 또는 '-' 기호를 통해서 권한 변경
    chmod o+w a.txt → other에게 쓰기권한(w)를 추가
    -rw-rw-rw- 1 ec2-user ec2-user       0 Dec  1 02:17 a.txt
    chmod o-w a.txt → other에게 쓰기권한(w)를 제거
    -rw-rw-r-- 1 ec2-user ec2-user       0 Dec  1 02:17 a.txt

    실습1)
    a.txt에 대해 소유자는 rwx를 그룹은 r--를 그외 사용자는 rw-로 설정하기
    현재권한 : rw-rw-r--
    변경할 권한 :  rwxr--rw--
    chmod u+x a.txt
    chmod g-w a.txt
    chmod o+w a.txt
    → -rwxr--rw- 1 ec2-user ec2-user       0 Dec  1 02:17 a.txt

    옥탈모드
    를 이용한 변경
    --- → 2^2 2^1 2^0으로 생각
    첫번째 자리의 숫자 4, 두번째 자리의 숫자 2, 세번째 자리의 숫자 1, 세자리를 합친 10진수의 숫자 7
    심볼릭 모드를 통해서 변경한 권한(실습1)을 옥탈모드를 이용해서 원래대로 변경
    현재권한 : rwxr--rw--(746)
    변경할 권한 : rw-rw-r-- (664) 
    chmod 664 a.txt → -rw-rw-r-- 1 ec2-user ec2-user       0 Dec  1 02:17 a.txt

    소유자

    다중 사용자 시스템(Multi-user system)인 리눅스 운영체제는 많은 파일들이 저장되어 있음.
    이러한 파일들을 어떤 소유자(리눅스 계정)에 속하게 됨.
    속한다는 말은 x 사용자로 로그인되어 있는 상태에서 a.txt 파일을 생성하면 그 파일의 소유자는 x가 됨.
    이를 특정 파일에 대한 계정의 소유권이라고 함.

  16.  wordpress 디렉토리로 이동
    cd /var/www/html/wordpress
    wp-config.php 파일이 필요, 해당 파일을 생성해야함. wp-config-sample.php를 이용할 예정
    cp wp-config-sample.php wp-config.php
    vi wp-config.php

    23번 라인 'database_name_here' → wpDB 변경
    26번 라인 'username_here' →wpUser 변경
    29번 라인 'password_here' → 1234로 변경
    변경 완료 후 esc :wq

  17. 아파치 웹 서비스 설정 파일 변경
    sudo vi /etc/httpd/conf/httpd.conf → 아파치 웹 서비스 설정 파일
    :set nu
    :119 
    :119 라인 DocumentRoot "/var/www/html"를 DocumentRoot "/var/www/html/wordpress"로 변경
    → 외부에서 웹 브라우저를 통해 IP 주소를 주소창에 입력시
        /var/www/html/wordpress 디렉토리(폴더)에서
    index.html을 찾게 됨
    :131 라인 "/var/www/html"를  "/var/www/html/wordpress"로 변경
    ※아파치#주석 파란색글은 주석임.
    : 151 라인 AllowOverride None를 AllowOverride ALL로 변경
    변경 완료 후 esc :wq

    sudo systemctl restart httpd → 아파치 웹 서비스 재시
  18. 워드프레스 설치
    웹 브라우저 EC2 인스턴스 IP 주소를 입력(그림 5)
    → http://43.201.73.230/wp-admin/install.php
    사이트 제목 : aws
    사용자명 : user
    ※비밀번호의 경우 약한 비밀번호를 입력하면 약한 비밀번 사용 확인이라는 체크박스가 나타나고 체크
    이메일 주소 : 사용하는 이메일 주소 입력
    정보가 입력되었으면 왼쪽 아래 '워드프레스 설치하기' 클릭(그림 6)
    로그인 하기 아이디, 비밀번호 입력
    로그인을 하게 되면 관리자창이 뜸(그림 7)
    또 다른 웹 페이지를 실행하여 EC2 인스턴스 IP 주소를 입력(그림 8)

그림 5. 워드 프레스 설치

 

그림 6. 정보가 입력되었으면 왼쪽 아래 '워드프레스 설치하기' 클릭 후 나타나는 화면
그림 7. 로그인된 모습
그림 8. EC2 인스턴스 IP 주소 입력

 

728x90

'KDT > Cloud' 카테고리의 다른 글

231215 Cloud  (0) 2023.12.15
231204 Cloud  (0) 2023.12.04
231124 Cloud  (0) 2023.11.24
231117 Cloud - AWS Apache Tomcat Server(여기서부터 수정)  (0) 2023.11.17
231110 Cloud - AWS EC2 인스턴스 웹서버 동작 및 파일 업로드  (0) 2023.11.10