[우분투 18.04 데스크톱] LAMP : 아파치(Apache), PHP, MariaDB 삭제(제거)

에 이어...


아파치에서 엔진액스로 갈아타기로 결정한 이유는 단순히 “워드프레스 로딩이 빠르다고 해서”였습니다. ^^;


터미널 창에서

apt-cache search nginx

(apt search nginx)

라고 처봤더니 수많은(-_-;;) 패키지들이 나오고, 그 중에서 nginx로 시작하는 패키지명이 여러 개가 있더군요. 패키지명과 설명을 복붙해봤습니다.


nginx - small, powerful, scalable web/proxy server

nginx-extras - nginx web/proxy server (extended version)

nginx-full - nginx web/proxy server (standard version)

nginx-light - nginx web/proxy server (basic version)


apt-get 패키지 관리자에서 고를 수 있는 Nginx 종류가 nginxnginx-lightnginx-fullnginx-extras 처럼 여러 가지인 것을 처음 알았는데, 검색해보니 nginx 기본 패키지는 webdav를 쓸 수 없다고 하더군요. full, extras만 webdav 사용 가능.


https://akal.co.kr/?p=1172

https://www.cambus.net/nginx-packages-in-debian-stable/

https://askubuntu.com/questions/553937/what-is-the-difference-between-the-core-full-extras-and-light-packages-for-ngi

https://wiki.debian.org/Nginx

▲ 참고했던 링크들


다른 분들의 엔진엑스 설치 글들을 보면 nginx-full 패키지를 설치해서 webdav까지는 구동할 수 있게끔 세팅하셨던데, nginx-full에서 구동할 수 없는 요소들을 위 링크들에서 좀 더 살펴봤더니 FLV랑 MP4가 뙇~

MP4 못 돌리는 것은 치명타인 것 같아서 nginx-extras 패키지를 설치하기로 마음먹었습니다.


터미널 창에서 아래처럼 입력해서 각 패키지들의 버전을 확인해봤는데, 다행히 엔진엑스 버전은 같은 듯하네요.

apt-cache policy nginx nginx-full nginx-extras

(apt policy nginx nginx-full nginx-extras)


Ubuntu nginx nginx-full nginx-extras

▲ 2018년 11월 기준으로 1.14.0


ubuntu nginx install setup

▲ nginx-extras 패키지 깔기 전에 nginx 패키지에는 뭐가 깔리나 참고용으로 살펴보니 nginx-core 기반으로 이것저것 붙네요. nginx-full 패키지에는 nginx-full 을 설치한다고 뜨더라고요.



각설하고, 제가 우분투에서 엔진엑스(Nginx-extras)를 설치한 방법!


우분투 18.04 리눅스 nginx 설치 방법

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install nginx-extras

라고 입력해서 nginx-extras 패키지 및 의존성 패키지들을 설치했습니다.



우분투 엔진엑스(Nginx) 설치 확인 방법


▲ 위 스샷의 명령어들 중 아무거나 입력하면 원하는 nginx가 잘 설치됐는지 확인할 수 있습니다.

nginx -v

dpkg -l nginx-extras

(만약 nginx-full 패키지를 설치했다면 nginx-extras 자리에 nginx-full을 입력해야겠죠.)

apt-cache policy nginx-extras

(설치 전에는 “설치 : (없음)”이라고 나왔었는데, 설치 후에는 “설치:” 항목에 버전이 뜨는군요.)



우분투 엔진엑스(Nginx) 작동 확인 방법 & 접속 테스트


sudo service --status-all | grep nginx (또는 sudo service --status-all | grep + )

라고 쳐서 nginx 이름이 들어간 서비스가 [+] 표시가 뜨면서 보이면 정상 작동하고 있는 것입니다.

sudo netstat -atlpvn 라고 쳐보니까 정상적으로 80번 포트가 nginx에 의해 열려 있네요.

(만약 netstat 명령어를 쓸 수 없다면 sudo apt-get install net-tools 이라고 입력해서 net-tools 패키지를 설치해 주세요.)


▲ 웹브라우저 하나 띄워서 주소창에 http://localhost 라고 쳐봤더니 nginx 초기 페이지가 잘 나오는군요.

(참고로 localhost나 127.0.0.1 은 본인 PC를 가리키는 주소로, 인터넷/공유기 연결망을 거치지 않습니다.)


다음은 요청신호가 외부망(인터넷 선)으로 돌아서 들어오더라도 접속이 되는지를 테스트할 차례입니다(일반적인 웹 접속 테스트).


유동IP 하에서 공유기를 쓰고 있다면 ①홈서버 PC의 DHCP 주소를 고정, ②공유기 포트포워딩/포트트리거링 기능을 통해 공유기 방화벽의 80포트를 열면서 홈서버 PC로 신호를 전달하도록 설정, ③DDNS 기능으로 유동IP를 고정된 주소로 설정한 뒤, 웹브라우저에서 DDNS 주소로 접근해 봅니다.


※ 감 잡기용 참고 링크

Dlink 디링크 DIR-615 공유기 포트포워딩(가상서버) 설정 방법

Dlink 디링크 DIR-615 공유기 DDNS 설정 방법

DuckDNS(무료 DDNS) 가입, 설정, 공유기 세팅(Padavan 펌웨어)


나의 외부망 IP와 열린 포트는?


고정IP를 쓰고 있다면 웹브라우저 주소창에 IP를 바로 넣어보면 됩니다.


▲ 이렇게 nginx 초기 페이지가 잘 불러지면 테스트 성공.

(저는 테스트용 도메인 1달러 주고 사서 DDNS주소를 연결했기 때문에 www.jimnongtest1.top 이라고 뜬 거예요.)



Nginx 웹루트 디렉토리의 소유자/소유그룹 변경


▲ Nginx도 아파치(Apache2)처럼 웹문서 루트의 기본 세팅이 /var/www/html/ 임을 알아둡시다. 껄끄러운 root 권한.;;;


사이트 하나만 굴릴 거면 /var/www/html/ 디렉토리에 HTML 파일들을 넣으면 될텐데, 막상 해당 경로에 파일을 옮겨보면 실패할 겁니다. 파일 관리자 프로그램(혹은 터미널)은 현재 로그인한 계정의 권한으로 실행되고 있는데 /var/www/ 하위의 html 디렉토리의 소유자|소유그룹은 각각 root로 설정되어 있기 때문입니다.


▲ (연습 삼아) 터미널 창에서 ll /home 이라고 쳐봤습니다. 우분투 계정명(aaa)과 동일한 디렉토리가 있고, 해당 디렉토리의 소유자 | 소유 그룹이 각각 aaa | aaa 라고 나오네요. 이렇게 디렉토리 소유자(또는 소유그룹)가 우분투 계정과 일치해야만 해당 디렉토리에 파일을 기록할 수 있습니다.

이제 ll /var/www 라고 쳐봅시다. 해당 경로 하위에 html 디렉토리가 소유자(붉은 선) | 소유그룹(노란 선)과 함께 표시되는데, 현재 소유자/소유그룹 모두 root죠? 이것을 우분투 계정/그룹과 동일하게 바꿔줘야 합니다.


위 스샷을 참고하여

sudo chown -R 소유자:소유그룹 /var/www/html/

형식으로 입력합니다. 그러면 html 디렉토리와 html 디렉토리 하위의 모든 파일&디렉토리의 소유자/소유 그룹이 입력한 소유자&소유그룹으로 바뀝니다. 소유자:소유그룹은 본인 우분투 계정의 것을 쓰면 되겠죠?

확인 차원에서

ll /var/www

ll /var/www/html

이라고 쳐보면 소유자/소유그룹이 바뀐 것을 확인할 수 있을 것입니다.


▲ 만약 터미널 창에서 명령어로 소유자/그룹을 바꾸는 게 어렵게 느껴진다면 파일관리자(ex: nautilus. MATE 인터페이스에서는 caja, XFCE 인터페이스에서는 thunar)를 루트권한으로 실행시킨 다음 /var/www/html/ 디렉토리를 마우스 우클릭 → 속성 항목 “권한” 탭에 들어가서 소유자/그룹을 바꿔도 됩니다.


주변 설명 하느라 글이 길어져서, 다른 설정들에 대한 이야기는 글을 나누어서 하겠습니다.


http://nginx.org/en/docs/

https://www.nginx.com/resources/wiki/start/topics/examples/full/#nginx-conf

▲ 공식 문서들을 기반으로 할 거고, 다른 분들의 글도 참고할 예정입니다.



※ Nginx 참고용 명령어들(터미널 창에서)

- Nginx 서비스 시작하기

   sudo systemctl start nginx.service

- Nginx 서비스 중지하기

   sudo systemctl stop nginx.service

- Nginx 서비스 재시작하기

   sudo systemctl restart nginx.service

- Nginx 서비스 재시작 없이 설정파일(conf) 다시 불러오기

   sudo systemctl reload nginx.service



※ 참고 링크

[우분투 18.04 데스크톱] LEMP : 엔진엑스(Nginx) 설정 - VirtualHost로 멀티도메인(서브도메인) 한 서버에 연결

[우분투 18.04 데스크톱] LEMP : 엔진엑스(Nginx) 설정 - 특정 IP 접근 차단하기

[우분투 18.04 데스크톱] LEMP : 엔진엑스(Nginx) 설정 - www 없는 도메인을 www 붙은 주소로 redirect 하기

[우분투 18.04 데스크톱] LEMP : 엔진엑스(Nginx) 설정 - gzip 압축(for 워드프레스)

[우분투 18.04 데스크톱] LEMP : 엔진엑스(Nginx) 설정 - 브라우저 캐시(for 워드프레스)

[우분투 18.04 데스크톱] LEMP : Let's Encrypt SSL 인증서 수동 발급과 엔진엑스(Nginx)에 적용하기

[우분투 18.04 데스크톱] LEMP : 엔진엑스(Nginx)로 파일을 공유해보자(WebDAV 추가)

[우분투 18.04 데스크톱] LEMP : PHP 7.2 설치 과정 정리

[우분투 18.04 데스크톱] LEMP : MariaDB 설치과정 정리(MySQL 대신)

[우분투 18.04 데스크톱] LEMP : phpMyAdmin 설치과정 정리(MariaDB 기반)

[우분투 18.04 데스크톱] LEMP : 워드프레스 설치 과정 정리

[우분투 18.04 데스크톱] SSH 터미널로 워드프레스 백업/복원하기

[우분투 18.04 데스크톱] UFW 방화벽을 서비스 기반으로 설정해볼까?


  (▼ Nginx 설치 전에...)

[우분투,리눅스] 무료 DDNS - 홈서버에 DuckDNS를 설치해보자(공유기 DDNS 탈출하기)

저렴한 도메인 : NameSilo 회원 가입, 도메인 구입 방법(1달러 할인 쿠폰)

도메인에 DDNS주소 연결하기, 이메일 포워딩 설정하기

[우분투 16.04] 깡통계정 생성(로그인 불가능+홈디렉토리 없음)(vsftpd 연결용)

[우분투 16.04] VSFTPD 설정파일 매뉴얼 한글번역(with 구글)

[우분투 16.04] vsftpd로 패시브모드 FTPS(FTPES) 서버 구축 - 1

[우분투 16.04] vsftpd에서 root 접속시 530 Login incorrect 에러(접속불가) 해결방법

[우분투 16.04] vsftpd로 패시브모드 FTPS(FTPES) 서버 구축 - 2

[우분투 16.04] vsftpd로 패시브모드 FTPS(FTPES) 서버 구축 - 3


  (▼ 윈도우/우분투에서의 아파치 설치)

[윈도우10 64bit] APM Apache 2.4 아파치 설치과정 정리(웹서버 구축)

[우분투 18.04 데스크톱] LAMP : 아파치(Apache) 설치과정 정리


▲ 6각 너트 2개로 1캐럿 다이아몬드 반지 만들기

(Nginx를 설치하고 설정하면서... 이런 느낌을 많이 받습니다. 버려진 물건을 정성껏 다듬어 가치롭게 만드는.)

반응형