라즈베리파이 nginx 로그의 주기를 설정하기
서버에 설치된 데몬마다 로그를 생성하는데, 각 데몬별로 로그 주기를 정할 수 있는 곳이/etc/logrotate.d
이다.
이중 nginx를 vi 에디터로 열어서 다음과 같이 수정하자.
1 | #/var/log/nginx/*.log { |
테스트
nginx 웹서버를 실행 후 생성되는 로그를 확인해보자.
로그 경로는 nginx 설정에 있다.
서버에 설치된 데몬마다 로그를 생성하는데, 각 데몬별로 로그 주기를 정할 수 있는 곳이/etc/logrotate.d
이다.
이중 nginx를 vi 에디터로 열어서 다음과 같이 수정하자.
1 | #/var/log/nginx/*.log { |
테스트
nginx 웹서버를 실행 후 생성되는 로그를 확인해보자.
로그 경로는 nginx 설정에 있다.
라즈베리파이의 특정 폴더에 torrent 파일 업로드 시, 서버에 토렌트 파일을 다운받도록 해보자.
설치 한 후에 자동으로 데몬이 실행되는데, 이를 중지시켜야 한다.
설정 파일을 건드려 줘야 하기 때문이다.
이제 설정 파일 settings.json을 수정해보자.
1 | "download-dir": "다운로드될 디렉토리", # 이전에 오토마운트 시켰던 외장하드로 지정해도 좋다. |
그리고 이제 데몬을 시작해보자.
그리고 http://해당아이피:9091
에 웹에서 접속하여 테스트하자
인증 완료 시 토렌트 파일 다운로드 현황을 보여주는 화면이 등장한다.
옵션에서 주었던 watch-dir
에 토렌트 파일을 올리면 자동으로 웹에서 실시간 확인이 가능하다.
진정한 파일서버 같은 느낌이 물씬 난다.
라즈베리파이의 ftp 서버 접근이 가능하도록 구성해보자.
간단한 설치만으로도 기본적인 사용이 가능하다.
위 명령어로 설정파일을 열어 편집한다.
1 | # Use this to jail all users in their homes |
설정파일에서 DefaultRoot 만 수정 잘해도 특별히 문제가 될 것이 없다. 이 옵션은 일종의 보안을 위해 필요한 것인데, 나중에 이 서버를 주변 친구들이나 다른 사람에게 공개할 때 아무나 내 서버에 접속해서 중요한 파일을 헤집어놓고 다니면서 설정을 바꿔놓는다면 큰 문제가 생길 것이다.
그래서 보안을 위해서는 공개를 위한 디렉토리를 따로 만들어놓고 일반 사용자들은 그 제한된 디렉토리 안에서만 접근할 수 있도록 바꿔야 한다. 사용자의 홈 디렉토리에서 하위 폴더로 이동은 가능하지만 상위 폴더로는 이동이 불가능하다는 점
을 활용한다.
위 설정 예시에서는 이전에 외장하드를 auto mount
시킨(라즈베리파이 오토 마운트) 것이다.
php 개발환경을 세팅해보겠다.
생각보다 설치와 실행이 너무 쉬워서 깜짝 놀랬다.http://localhost
로 접속하여 확인하자.
php7에 대한 정보가 없기 때문에 이를 추가해 주는 과정이다.
1 | $ sudo vi /etc/apt/sources.list |
업데이트한다.
1 | $ sudo apt install php7.0 php7.0-cli php7.0-common php7.0-fpm php7.0-gd php7.0-json php7.0-mcrypt php7.0-mysql php7.0-readline -y |
1 | $ sudo apt-get install php7.0-fpm |
nginx 설정이 수정되었으므로 서비스 재시작을 한다.
php 버전을 확인해본다.
버전 정보가 출력된다면 설치가 잘 된 것이다.
1 | $ php -v |
역시 패키지부터 설치해주자.
root 사용자 비밀번호를 설정하는 창이 나오면 입력하고 한 번 더 입력해준다.
그리고 3306 포트에 대한 방화벽을 열어준다.
1 | $ sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT |
따로 재시작을 해 줄 필요도, 할 수도 없지만 iptables-save
명령어로 방화벽 정책이 저장된 것이다.
root 로 접속 확인 후
‘사용자명’@‘%’ 를 mysql.user 테이블에 추가하여 테이블 권한을 적절하게 주도록 한다.
라즈베리파이에서 외장하드를 연결하여 사용 중인 사용자가 있다면
장치를 자동으로 마운트시키고 싶을 것이다.
이번 글에서는 외부 장치를 auto mount 시키는 방법을 알아보겠다.
우선 장치 확인을 해 본다.
1 | $ sudo blkid |
/dev/sda1 에 연결된 외장하드를 연결해 놓았다.
마운트된 장치를 unmount
시킨 후에 다음과 같은 명령어로 특정 폴더에 마운트 되도록 한다.
/etc/fstab
을 수정한다.
위 내용을 추가하고 재부팅하여 cd /external
을 통해 장치가 올바르게 마운트 되었는지 확인한다.
라즈베리파이를 사용하면서 랜선에 직접 연결하면 좋겠지만
그렇지 못하고 공유기의 와이파이를 이용하는 경우, 자동으로 할당되는 아이피를 고정시키고 싶을 것이다.
왜냐하면 우리는 공유기의 포트포워딩(Port Forwarding)
을 사용할 것이기 때문이다.
iptime 공유기를 사용한다고 가정한다.
라즈베리파이를 재부팅하였을 때, ip가 변동되지 않도록
1 | $ sudo vi /etc/network/interfaces |
재부팅 후에 ifconfig
명령어를 통해 확인한다.
라즈베리파이는 우분투(Ubuntu) 기반의 raspbian
이라는 OS를 사용한다.
lite버전은 cli만 사용가능한 버전이다.
http://www.raspberrypi.org/downloads
sd카드에 해당하는 장치를 언마운트 한다.
img 파일이 있는 곳으로 이동 후 다음과 같은 명령어로 sd카드에 img 설치
ctrl + t
를 눌러 설치 현황을 확인할 수 있다.
완료되면 명령어 커맨드 대기상태가 된다.
pc에서 sd카드를 언마운트한 후에, 라즈베리파이에 삽입하여 나머지 설치과정을 진행한다.
참조
: http://forteleaf.blogspot.kr/2016/06/3-via-osx.html다른 방법
: http://giyatto.tistory.com/28 - 인스톨러 활용