ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ft_server] 기타..(워드프레스, MySQL, MariaDB, phpMyAdmin)
    42seoul 2020. 12. 7. 21:37

    Wordpress 워드프레스

    Wordpress로 호스팅할 웹사이트를 만들게 된다.

    게시물이나 댓글등의 데이터는 컴퓨터에 파일로 저장하는 것이 아니라 데이터 베이스에 저장된다.
    이번 프로젝트에서는 My SQL(정확히 말하면 MariaDB)을 사용한다.


    My SQL

    데이터를 파일로 저장하지 않고 데이터베이스를 쓰는 이유는

    훨씬 편리하고 정보 저장에 특화된 기능을 제공하기 때문이다.

    Database Management System

    -Data의 예시 : Username, Passwords, Transactions...
    -데이터를 저장하고, 수정하고, 삭제하는 기능

    Relational

    -Table로 데이터를 저장함.

    SQL(Relational) NON SQL (Non relational)
    My SQL , SQLite, Postgreqal mongoDB, DynamoDB, couchDB
    Table 사용
    설명 차이가 존재하지만 SQL이라는 점에서 공통점이 있음, 데이터의 구조가 엄격함. SQL이 아닐뿐 각자 다양한 구조를 가지고 있다. (Document DB, Key value,GraphDB)

    Maria DB

    My SQL과의 관계

    현재 My SQL은 오라클이 소유하고 있는데, My SQL의 창업자 몬티 와이드니어스는 회사의 방침에 대한 불만을 품고 회사를 나왔다.

    오라클 인수 후 MySQL은 발전하지 않았습니다.
    오라클은 ‘MySQL을 어떻게 하면 자신들의 소유로 할 수 있을까’만 고민했고, 그래서 회사를 나왔습니다.

    회사를 나온 그는 Maria DB 개발을 시작했다.
    마리아DB는 MySQL과 소스코드를 같이 하므로 사용방법과 구조가 MySQL과 동일하다.
    이름만 다르지 명령어나 사용방법 (5.5까지) 모두 MySQL과 동일하다.
    근본적인 차이점은 마리아DB는 GPL v2 라이선스를 따르는 순수한 오픈소스 프로젝트이기에 오라클로부터 자유롭다.
    마리아DB의 모든 코드는 GPL, LGPL, LPGL, BSD의 라이선스로 만들어져 있다. 누구나 필요로 하면 커뮤니티를 통해 마리아DB를 내려받아 쓸 수 있다.

    리눅스에서는 이러한 완전한 호환성으로 인해 mariadb에대해서 mysql과 구별하기위해 mysqld 로 mysql.server는mysqld_safef로 각 각 대응되어 사용되도록 표현하기도한다. -> 과제하다보면 mysqld로 표현되는 것을 확인할 수 있다.

    My SQL, MariaDB 모두 GUI 관리툴이 필요할 경우 따로 설치하여 사용하여야 함.
    GUI 툴에는 여러가지가 있는데 이번 과제에서는 phpMyAdmin을 사용함.


    phpMyAdmin

    Maria DB를 GUI로 관리하기 위한 툴.

    phpMyAdmin은 MySQL을 웹 상에서 관리할 목적으로 PHP로 작성한 오픈 소스 도구, 즉 MySQL Client 툴입니다.
    데이터베이스, 테이블, 필드, 열의 작성, 수정, 삭제, SQL 상태 실행, 사용자 및 사용 권한 관리 등의 다양한 작업을 웹 상에서 편리하게 수행할 수 있습니다.


    autoindex 오토인덱스

    •default 문서에 읽을 파일을 지정했고, 실제로 읽을 파일이 있는 경우에는
    오토인덱스 사용여부와 관계없이 화면에 출력이 잘 된다.

    •그런데 default문서에 파일 지정을 안해줬을 때에는
    오토인덱스를 사용할때와 안할때가 다르게 보인다.

    -autoindex on : 아래 사진처럼 파일 목록이 보임.(root로 지정한 위치에 있는 파일목록)

    -autoindex off : 아래 사진처럼 오류가 남

    autoindex on/off 가능하도록 설정

    -환경변수로 컨트롤하기

    1. Dockerfile 설정

    ENV AUTOINDEX 1

    autoindex를 1로 설정한다.

    2. run.sh 설정

    AUTOINDEX를 검사하여, Dockerfile에서 설정한 바와 같이 1이아니라
    -1로 바뀌었다면 run할때 env를 설정해준 것으로 이해하고
    sed를 이용하여 default(nginx 설정파일)의

    *default

    autoindex on; 

    *run.sh

    ## autoindex
    #change autoindex setting
    if [ ${AUTOINDEX} -eq -1 ] ; then
            sed -i 's/autoindex on;/autoindex off;/g' etc/nginx/sites-available/default
    fi

    *run.sh 적용 후 default

    autoindex off; 

    run 명령어 예시

    docker run -e AUTOINDEX=-1 -it -d -p80:80 -p443:443 ft_server

    -e : env 설정하는 옵션

    run.sh : sed 사용법
    docker file : env 사용법
    docker run 옵션 더보기(-e, -i, -t, -d)


    기타 참고사항

    URI에 대해
    80, 443 숫자의 의미
    SSL을 사용하는 이유
    wget 명령어 설명
    fast CGI
    CGI, WAS의 차이점
    동적콘텐츠와 정적콘텐츠
    433port와 https
    채점매뉴얼
    docker에서 host 디렉토리로 파일복사하기
    docker run -d 옵션의 의미


    내용 참고 사이트

    생활코딩(My SQL)
    위키백과(My SQL)
    위키백과(MariaDB)

    '42seoul' 카테고리의 다른 글

    [cub3d] 과제 파악하기  (0) 2020.12.25
    [ft_server]Dockerfile 작성 - 참고사항  (0) 2020.12.21
    [ft_server] 도커에 대해서  (0) 2020.12.07
    내 코드에 대해서 설명할 때(평가할때 든 생각)  (0) 2020.12.03
    [ft_server] Nginx  (0) 2020.12.03

    댓글

Designed by Tistory + Edited by Juepark