Raspberry Pi에서 간단하게 웹서버를 구성하는 방법을 정리한다.


일반적으로 많이 사용하는 Apache웹서버를 대체할 수 있는 엔진엑스(Nginx)를 기반으로 Raspberry Pi환경에서 가벼운 웹서버를 구축하고자 한다.


여기서는 웹서버 구축 및 PHP엔진까지 추가하는것으로 한다.


Nginx + PHP5-FPM 환경 구성하기


Nginx 참조 : http://nginx.org


먼저 Raspberry Pi의 기본 패키지를 업데이터 한다.

$sugo apt-get update


1. 패키지 설치하기

> Nginx 설치하기

  $sudo apt-get install -y nginx


> PHP5-FPM 모듈 설치하기

  $sudo apt-get install -y php5-fpm php5-cli php5-mcrypt php5-gd php5-common

  $ sudo apt-get install php5-mysql



2. 패키지 설치 파일 정보 확인

> Nginx 파일정보

  • 기본 웹서버 root 폴더 : /usr/share/nginx/www
  • 웹서버 환경설정 : /etc/nginx 폴더의 nginx.conf 파일과 sites-available, sites-enable 폴더 등에서 설정할 수있다.

> PHP5-FPM 파일정보

  • 패키지 환경설정 : /etc/php5/fpm폴더에 설정 파일이 있다.

3. 웹서버 설정

> Nginx 환경 설정

여기서는 기본설정을 PHP-FPM 실행 가능한 정도로 설정하였다.

설정파일은 /etc/nignx/sites-available/default 파일에 내용을 확인 및 수정하였다.


server {

        root /usr/share/nginx/www;

        index index.php index.html index.htm;


        # Make site accessible from http://localhost/

        server_name localhost;


        location / {

                # First attempt to serve request as file, then

                # as directory, then fall back to displaying a 404.

                try_files $uri $uri/ /index.html;

                # Uncomment to enable naxsi on this location

                # include /etc/nginx/naxsi.rules

        }


        location ~ \.php$ {

                fastcgi_split_path_info ^(.+\.php)(/.+)$;                           

                fastcgi_pass unix:/var/run/php5-fpm.sock;

                fastcgi_index index.php;

                include fastcgi_params;


}


>PHP5-FPM 설정

 PHP설정은 /etc/php5/fpm/pool.d/www.conf에서 아래 사항이 활성화 되었는지 확인한다.


listen = /var/run/php5-fpm.sock



4. 웹서버 가동하기


설정이 끝나면 저장하고 웹서버를 재가동이 필요하다.


$sudo service php5-fpm restart

$sudo service nginx restart


웹서버가 정상적으로 가동되면 해당 웹페이지로 가면 아래와 같이 화면이 표시된다.


PHP 실행 확인을 위해서는 웹서버 Root 폴더에 index.php파일을 만들어서 phpinfo를 출력하여 확인할 수 있다.


$sudo vi /usr/share/nginx/www/index.php


<?

   phpinfo();

?>


파일 작성 후 웹브라우저에서 Raspberry Pi IP로 접속하고 index.php파일 오픈하면 아래와 같은 화면이 표시된다.






Posted by 혀나미
,

Raspberry Pi의 웹환경에서 파일을 관리할 수 있는 웹하드 또는 NAS를 구성한다.

웹하드 구성은 오픈소스 기반의 설치형 웹하드인 Pydio(Ajaxplorer의 새로운 이름)를 사용한다.


Pydio는 Put Your Data In Orbit!의 의미이다.

사이트 링크 : http://pyd.io


다운로드 링크 : http://sourceforge.net/projects/ajaxplorer/


1. Pydio설치 사전 확인

 Pydio를 사용하기 위해서는 웹서버 및 PHP 환경이 지원되어야 한다.

 여기서는 기존에 구성한 nginx, php5-fpm기반에서 구성한다.


 ajaxplorer설치 위치 : /usr/share/nginx/www/ajaxplorer


2. ajaxplorer 다운로드 및 설치

최신 버전의 ajaxplorer을 다운로드한다.

  $cd /usr/share/nginx/www

  $sudo wget "http://downloads.sourceforge.net/project/ajaxplorer/ajaxplorer/stable-channel/5.0.4/ajaxplorer-core-5.0.4.zip?r=&ts=1390001178&use_mirror=jaist" -O ajaxplorer.zip



  $sudo unzip ajaxplorer.zip

  $sudo mv ajaxplorer-core-5.0.4 ajaxplorer

  $sudo chown www-data:www-data /usr/share/nginx/www


3. 웹하드 실행하기

 설치가 끝나면 Raspberry Pi의 IP주소로 들어가서 ajaxplorer경로로 접속하면 아래 Pydio기본 환경설정 화면이 표시되고, 간단한 설정을 마치면 아래와 같은 웹하드 화면이 표시된다.




Posted by 혀나미
,

Raspberry Pi에 모니터와 키보드를 연결하지 않고 사용할 수 있도록 원격제어 시스템을 구성하였습니다.


원격제어를 위해서 VNC를 사용할 수 있습니다. 

Raspberry Pi에 사용할 수 있는 공개 VNC 서버와 Mac OS에서 사용할 수 있는 VNC 클라이언트를 소개합니다.


Raspberry Pi VNC 서버 : tightvncserver,  http://www.tightvnc.com

Mac OS VNC 클라이언트 : Checken of the VNC, http://sourceforge.net/projects/cotvnc/


[Raspberry Pi 서버 구성]

1. VNC 서버 설치하기

  $sudo apt-get install tightvncserver

  $vncserver

   서버 패스워드를 설정합니다.


2. 서버 실행관리 파일 생성

  /etc/init.d 폴더에 VNC 서버 실행을 위한 스크립트를 추가합니다.

 

  $cd /etc/init.d

  $sudo vi tightvncserver


#!/bin/bash

# /etc/init.d/tightvncserver

#


case "$1" in

start)

        sudo vncserver :1 -geometry 1280x800 -depth 16 -pixelformat rgb565

        ;;

stop)

        sudo vncserver -kill :1

        ;;

restart)

        $0 stop

        $0 start

        ;;

esac


exit 0


3. 실행파일 실행권한 지정

  $sudo chmod +x tightvncserver

  $sudo pkill Xtightvnc


4. 서버 실행하기

  $sudo /etc/init.d/tightvncserver start

  $cd /etc/init.d

  $sudo update-rc.d tightvncserver defaults


 5. 시스템 리부팅시 자동 시작을 위해서 아래의 내용을 rc.local 에 추가합니다.

  $sudo vi /etc/rc.local


  ...중략...

# Startup VNC Server

/etc/init.d/tightvncserver start


exit 0


위 내용을 저장하고 나면 다음 부팅시 자동으로 VNC 서버가 실행됩니다.


[Mac OS에서 VNC 클라이언트 사용]

1. 아래의 Chicken of the VNC 프로그램 설치하고 실행한다.

cotvnc-20b4.dmg


2. 아래의 VNC Login 화면에서 Raspberry Pi VNC 서버로 접속할 수 있는 정보를 설정한다.

   Host : Raspberry Pi IP주소

   Display : vncserver 데몬 실행에서 설정한 디스플레이 번호(현재는 1번)

            ** tightvncserver 파일 내용참조

   Password : vncserver 실행시에 설정한 암호

나머지 내용은 기본값으로 하였다.



3. VNC서버 접속 설정이 끝나면 "Connect"를 누르고 서버로 접속한다.



이제 Raspberry Pi를 모니터, 키보드 연결이 없이 Mac OS환경에서 원격접속하여 마음대로 사용할 수 있다.


Macbook pro에서 Raspberry Pi로 접속하여 작업하는 화면, 

Raspberry Pi와는 무선으로 연결되어 있다.


참조, Pidora에서 설치하기

http://www.tecmint.com/install-tightvnc-remote-desktop/


Posted by 혀나미
,