Ft_Server(2)

Seokchan Yun·2021년 2월 6일
0

42

목록 보기
6/6

과제를 시작해보자 !

docker start < @ >

docker ps -a

docker images

docker attach < @ >

docker rm < @ >

docker run && nginx

docker run -it --name @ -p 80:80 -p 443:443 debian:buster

  • 그냥 docker run -it debian buster 하면 자동으로 도커 허브에서 최신버전을 불러온다.
  • i옵션은 입출력, t는 터미널 활성화
  • p옵션은 -publish의 약자인데 80번 포트와 443번 포트를 사용할것이라는 뜻. http = 80 // https = 443 포트 메모*

apt-get -y update // upgrade

패키지 목록을 최신으로 받는다.

apt-get -y install nginx

service nginx start // status // stop 등등 명령어 사용
localhost << 에가서 nginx 가 제대로 작동하는지 확인하자.

openssl

이제 openssl을 이용해 ssl인증을 해야한다.

apt-get -y install openssl vim

vim은 언제나 우리의 친구.

이제 키와 인증서를 만들어보자.

openssl req -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=FR/ST=Paris/L=Paris/O=42Paris/OU=Yun/CN=localhost" -keyout localhost.dev.key -out localhost.dev.crt

  • req : 인증서 요청 및 인증서 생성 유틸
  • newkey : 개인키를 생성하는 옵션
  • keyout <키 파일 이름> : 키 파일 이름을 지정해 키 파일 생성.
  • out <인증서 이름> : 인증서의 이름을 지정해 인증서 생성
  • days 365 : 인증서의 유효기간.
  • nodes : 생략시 재부팅할때마다 수동으로 암호를 입력해야한다.
  • rsa : 바이트수의 암호를 생성하는 명령어 rsa = 암복호화를 의미하는듯

mv localhost.dev.crt etc/ssl/certs/
mv localhost.dev.key etc/ssl/private/
chmod 600 etc/ssl/certs/localhost.dev.crt etc/ssl/private/localhost.dev.key

인증서와 키를 있어야 할곳으로 mv 시켜주고 root만 사용할수있게 권한을 변경하자.

이제 공부를 좀 해야할 nginx.conf 파일구성이다.

https://nginx.org/en/docs/http/configuring_https_servers.html
https://sarc.io/index.php/nginx/61-nginx-nginx-conf 참고.

etc/nginx/sites-available/default

파일을 수정한다. default 파일에 https 연결을 위한 설정을 해야한다.

원래는 서버 블록이 하나이며 80번 포트만 수신대기 상태인데, https 연결을 위해 443포트를 수신대기하고 있는 서버블록을 추가로 작성해야한다.

service nginx reload 를 하고 https://localhost 로 접속하면 경고 화면이 뜨는것을 볼수있다.

Php-fpm 설치

apt-get -y install php-fpm

php-fpm 를 nginx 와 연동시켜서 웹 서버가 정적 콘텐츠뿐 아니라 동적 콘텐츠를 다룰수 있도록 만들어준다.

설치후에 nginx default 에 설정을 추가한다.

nginx autoindex 설정

hidaehyunlee 선배님의 글이 너무나 잘 정리가 되어있어 퍼옴.

그러하다 ... 그렇기 때문에 autoindex on을 해주자

MariaDB(mysql)설치

apt-get -y install mariadb-server php-mysql

데비안 버스터(10) 9부터 mysql -> mariadb를 디폴트로 사용하게한다.

phpmyadmin 은 wget으로만 설치가 가능하기에 wget을 설치하고 진행한다.

apt-get install -y wget
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.tar.gz
mv phpMyAdmin-5.0.2-all-languages phpmyadmin
mv phpmyadmin /var/www/html/

이후 폴더명 변경하고 html 폴더안에 위치시킨다.

phpmyadmin 설정을 변경하자

config.sample 파일을 복사해서 config.inc.php를 만든다.

cp -rp var/www/html/phpmyadmin/config.sample.inc.php var/www/html/phpmyadmin/config.inc.php
vim var/www/html/phpmyadmin/config.inc.php

블로피시 암호 생성 사이트를 이용해서
https://phpsolved.com/phpmyadmin-blowfish-secret-generator/?g=5cecac771c51c

$cfg['blowfish_secret'] = '이 부분에 넣는다'; / YOU MUST FILL IN THIS FOR COOKIE AUTH! /

config.inc.php << 설정 파일을 사용하게된다면 blowfish_secret 가 필수적으로 요구된다.

Wordpress

wget https://wordpress.org/latest.tar.gz
tar -xvf latest.tar.gz
mv wordpress/ var/www/html/
chown -R www-data:www-data /var/www/html/wordpress

설치 -> config 설정

리디렉션 && autoindex

profile
42 Paris developer

0개의 댓글