2013. 5. 12. 12:34 Pogo
AdSense
아이폰 무인코딩 앱 중에서 유명한 nPlayer!!!
저도 포고를 구입한 큰 이유 중 하나가 아이폰에서 영상을 보고 싶은데...
포고의 성능이 떨어지다보니 웹서버의 대표적인 apache는 포고에 올리기 좀 버겁다고 합니다....(실제로 설치해보진 않았네요^^)
그리고 전세계적으로 점유율이 높은 건 apache 웹서버 이구요
2위가 nginx입니다.
nginx가 인기가 있는 이유는 비동기소켓으로... 뭐 어쩌고 저쩌고가 있는데... 이런건 잘모르겠고 속도가 좋다고 합니다....
개인(소규모)이 사용한다면 비슷할겁니다....
그리고 제 경우엔 nginx가 설정이 훨신 쉬워보이더군요....
이런저런 이유로 많은 포고 유저들이 nginx를 이용하시는데요..
(아치리눅스에 맞는 아파치 webdav설정 강좌가 없는것도 큰 이유...)
하지만.... Series4에 대표적은 OS Archlinux에서 패키지로 설치한 nginx는 확장 모듈 내장되어있지 않아 확장모듈을 필요로 하는 클라이언트들에선... 접속이 안됩니다......
nplayer에서 접속을 할수가 없습니다..
webdav에는
PROPFIND - 정보를 얻는데 사용되며,콜렉션 스트럭트(폴더)를 얻는데 이용합니다...
PROPPATCH - 정보를 변경하는데 이용
MKCOL - 콜렉션(폴더)을 만드는데 이용
COPY - 복사하는데 이용
MOVE - 이동하는데 이용
LOCK - 파일을 잠그는데 이용
UNLOCK - 잠금해제 하는데 이용
이런 메소드가 있다는데... 이런건 중요하지 않죠 사실... 일반 사용자입장에선
위에 PROPFIND, PROPPATCH 부분이 확장 모듈부분입니다.
2개의 모듈이 없어서 nPlayer에서 접속하면 405 에러를 띄웁니다..
그럼 본격적인 강좌 들어갈게요
기존에 nginx(엔진엑스)를 설치하신 분들은
nginx -V
를 쳐서 엔진엑스의 설치 환경을 봅니다...
길게 나열된 부분에서 --with-http_dav_module부분이 보일겁니다... 팩맨으로 설치한 패키지에선 dav는 기본적으로 지원은합니다만!
어디에도 ext_module부분은 보이지 않습니다...
설치가 되어있는 분들은 삭제를 합니다.
nginx -R nginx
확장모듈을 포함해서 개별적으로 설치할려면 아래 3개가 필요합니다.
1. nignx 소스 파일 다운로드
2. 확장모듈 파일 다운로드
3. 컴파일에 필요한 패키지 gcc 와 make
다운 받는건 pc에서 받아 ftp나 samba를 통해 포고로 이동시켜도 되고
wget으로 직접 다운받아도 됩니다.
현재 엔진엑스 최신버전은 1.4.1이고, 개발자버전은 1.5.0입니다.
둘중에 선호하는거 설치하시면 됩니다.
직접 받으시려면
wget http://nginx.org/download/nginx-1.4.1.tar.gz
확장모듈은
wget https://github.com/arut/nginx-dav-ext-module/archive/master.zip
다운받은 폴더로 가서
tar -xzvf nginx-1.4.1.tar.gz
압축해제합니다.
확장모듈 파일역시 압축해제 합니다.
모듈파일 2개를 (ngx_http_dav_ext_module.c와 config) 폴더 하나에 넣어둡니다.
그리고 컴파일과 설치에 필요한 패키지를 설치합니다.
pacman -S gcc make
모든 준비는 끝났고, 컴파일과 설치에 들어가겠습니다.
컴파일옵션은 엔진엑스를 패키지 설치했을때의 옵션 그대로 넣겠습니다.
엔진엑스 소스파일을 풀어둔 폴더에 들어가서
./configure --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --user=http --group=http --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/client-body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-imap --with-imap_ssl_module --with-ipv6 --with-pcre-jit --with-file-aio --with-http_dav_module --add-module=확장모듈이 있는 폴더 --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_realip_module --with-http_spdy_module --with-http_ssl_module --with-http_stub_status_module
이렇게 넣어줍니다.
긴 컴파일이 끝나면
설치해주면 됩니다
make && make install
이제 남은일은 설정과, 시스템 서비스에 등록하는겁니다.
먼저 시스템 서비스에 등록하겠습니다. 편리한 실행을 위해!
이부분은 systemd가 적용된 시스템에 해당하는 내용입니다.
nano /usr/lib/systemd/system/nginx.service
[Unit] Description=A high performance web server and a reverse proxy server After=syslog.target network.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /run/nginx.pid; daemon on; master_process on;' ExecStart=/usr/sbin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;' ExecReload=/usr/sbin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;' -s reload ExecStop=/usr/sbin/nginx -g 'pid /run/nginx.pid;' -s quit [Install] WantedBy=multi-user.target
nano /etc/nginx/nginx.conf
#user nobody; # 권한 관련 부분입니다. 뒤에 설명 하겠습니다 worker_processes 1; # 동시 접속자 설정(worker_processes*work_processes) #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { # 동시 접속자 worker_connections 10; # worker_processes*work_processes 만큼 접속가능 } http { include mime.types; default_type application/octet-stream;
server { listen 80; # 서비스 포트 server_name localhost; charset utf-8; # 한글 폴더명 파일명 깨지는 문제 처리 #access_log logs/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } location /webdav { # 접속하고 싶은 뒷부분 주소 autoindex on; alias /home/webdav/torrent; # 공유하고 싶은 위치 auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/security/.htpasswd; # 비번 저장 위치 client_body_temp_path /tmp/nginx/webdav; # 임시파일 저장 위치 dav_methods PUT DELETE MKCOL COPY MOVE; # 기본모듈 옵션 dav_ext_methods PROPFIND OPTIONS; # 확장모듈 옵션 create_full_put_path on; dav_access user:rw group:rw all:r; # 권한에 대한 내용 }
비밀번호 파일 설정은
echo "계정:$(openssl passwd -crypt 비밀번호)" >> /etc/nginx/security/.htpasswd
하면됩니다.
계정은 리눅스 로컬계정과 아무런 관련이 없습니다.
systemctl start nginx
부팅시 자동실행은
systemctl enable nginx
여기에 쓰인 정보들은 http://cafe.naver.com/pogolinux/285 글과 구글 검색에서 나온 각종 정보들을 정리한겁니다.
트랜스미션에서 RSS를 받아보자! [3부] (0) | 2013.04.25 |
---|---|
트랜스미션에서 RSS를 받아보자! [2부] (2) | 2013.04.25 |
트랜스미션에서 RSS를 받아보자! [1부] (0) | 2013.04.25 |
트랜스미션에서 RSS를 받아보자! [시작] (0) | 2013.04.25 |
Copyright © 5mango All Rights Reserved. | Designed by CMSFactory.NET