처음에는 PC에서 파일질라만 사용해서 아무 문제가 있었는지 몰랐지만 안드로이드의 대부분의 앱에서 ftps(FTP over SSL)서버에 접속하려고 하면 오류가 나더군요. 어떤 앱은 아예 처음부터 접속을 거부하는 경우도 있고 es파일탐색기는 접속이 되긴 되는데 파일 목록이 가끔식 안 뜰 때도 있고 어떤 동영상은 재생이 되는데 어떤 동영상은 재생이 안되서 난감했습니다.
 여러번 삽질끝에 찾아낸 원인이 VSFTP에서 require_ssl_reuse의 기본 설정값이 YES이고 대부분 안드로이드 앱에서 ssl reuse을 지원을 못하는데에 있었습니다. 안드로이드 OS자체에서 지원을 못하는 것인지 앱에서 지원을 못하는 것인지는 모르지만 일단 문제를 해결하기 위해서는 FTP 서버 설정을 수정할 필요가 있습니다. VSFTP 설정파일을 열어서 (경로는 /etc/vsftp/vsftpd.conf) 파일에 require_ssl_reuse=NO 를 추가하면 되겠습니다.

 마인크래프트 서버가 자바로 개발이 되었기 때문에 리눅스에서 자바를 설치하면 마인크래프트 서버를 운영할 수 있다. 리눅스에서 서버를 돌릴경우 대부분 백그라운드로 프로세스를 보내게 된다. 왜냐하면 대부분의 경우 관리자가 계속 화면을 켜놓든지 putty로 접속하고 있지 않기 때문이다. 하지만 "실행파일 &" 식으로 &을 붙여서 서버를 실행하게 되면 서버가 제대로 작동을 하지 않는다. 한번의 명령으로 바로 마인크래프트 서버를 실행하려면 따로 screen 프로그램을 설치하고 간단한 쉘 스크립트를 만드는 것이 훨씬 편하다.


1. 우선 Screen 프로그램을 설치한다.

yum install screen        //레드헷 기반
apt-get install screen    //데비안, 우분투

2. 서버파일들이 있는 폴더에 스크립트 파일을 만든다.

vi run.sh    //이름은 자기 마음대로

3. 다음과 같이 쉘스크립트 작성한다.

#!/bin/bash
screen -d -m java -Xmx1G -Xms1G -jar minecraft_server.jar nogui

여기서 -Xmx는 JVM에 할당할 최대메모리양, -Xms는 최소메모리양을 설정하는 옵션이다.

minecraft_server.jar은 서버파일 이름이고 만약 이름이 다르다면 변경하면 된다.

4. 이제 다음부터는 바로 마인크래프트 서버를 백그라운드로 실행할 수 있음

./run.sh        //이런 식으로 실행하면 마크서버가 백그라운드에서 실행됨

5. 포그라운드로 되돌리는 것은 쉽다.

screen -r

홈 서버가 있으면 남는 자원을 이용해서 SeedBox을 구축하는 것도 좋은 생각이다. 리눅스 서버에 사용할 수 있는 토렌트 클라이엔트 중 대표적으로 Transmission, Deluge, Rtorrent(+Rutorrent)가 있다. 이중에서 라이트하게 이용할 수 있는 Transmission 설치법을 소개하고자 한다. Fedora 기준으로 설명하지만 Ubuntu등 다른 리눅스에서도 적용하는 방법이 비슷할 것이다.


우선 트랜스미션을 설치한다. 참고로 유분투에서는 apt-get을 이용한다.

yum install transmission-daemon

다음으로 트랜스미션 설정파일을 수정해준다. (여기서 반드시 주의할 점은 설정파일을 수정하기 전에 transmission이 실행되어 있으면 안된다!! 아니면 수정해도 다시 원래대로 되돌아간다 -_-;;) 만약 트랜스미션이 실행되고 있으면 killall transmission-daemon으로 프로세스를 종료한다.

vim /var/lib/transmission/.config/transmission-daemon/settings.json

설정파일에서 다음 항목을 수정하면 된다.

  •  "download-dir": "/var/lib/transmission/Downloads"    기본 다운로드 장소이다.
  •  "incomplete-dir": "/var/lib/transmission/Downloads"    임시 저장 장소이다.
  • "rpc-password": ""    웹 인터페이스 접속시 비밀번호
  • "rpc-username": ""    웹 인터페이스 접속시 유저ID
  • "rpc-whitelist": "127.0.0.1"    웹 인터페이스 접속 허용가능 IP(192.168.*.* 식의 입력도 가능하다.)
  • "rpc-whitelist-enabled": true    True면 whitelist 사용, False면 모든 접속 가능.

설정을 다 끝냈으면 데몬을 시작한다.

systemctl start transmission-daemon
service transmission-daemon start #systemd 가 아닌 init 사용시

방화벽 사용시에는 9091포트를 열어줘야 한다. 예를 들면 이렇게 하자.

iptables -I INPUT -p tcp --dport 9091 -m state --state=NEW -j ACCEPT

이제 웹브라우저에 http://호스트주소:9091 로 접속하면 끝!




p.s) 컴퓨터 시작할 때 데몬을 자동으로 켜려면 systemctl enable 또는 chkconfig 명령어를 이용하면 된다.

+ Recent posts