ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 라즈베리파이를 개인 클라우드로 바꾸기
    Raspberry Pi/미분류 2015. 2. 5. 08:00

     

    여분으로 있던 SD카드를 이용해서 클라우드 서버인 owncloud를 설치해봤습니다. git서버와 동시에 사용하려고 했는데 고민해보고 하나는 포기해야 할듯합니다.아래 블로그 글에 기본적인 설정방법들을 설명해놓았습니다.

    라즈베리파이 설정하기http://webnautes.tistory.com/640

     

     

    1. /etc/network/interfaces 수정하여 고정아이피로 바꾼다.

    iface eth0 inet static

        address 192.168.0.11/24

        gateway 192.168.0.1

     


    2. 사용자를 추가한다.

    sudo groupadd www-data

    sudo usermod -a -G www-data www-data

     

    3. 필요한 패키지 설치 한다.

    sudo apt-get update

    sudo apt-get install nginx openssl ssl-cert php5-cli php5-sqlite php5-gd php5-common php5-cgi sqlite3 php-pear php-apc curl libapr1 libtool curl libcurl4-openssl-dev php-xml-parser php5 php5-dev php5-gd php5-fpm memcached php5-memcache varnish

     

     

    4. SSL 설정

    sudo openssl req $@ -new -x509 -days 2048 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key

    sudo chmod 600 /etc/nginx/cert.pem

    sudo chmod 600 /etc/nginx/cert.key

     

    5. nginx 서버 설정..기존 내용을 지우고 아래 내용으로 교체

    sudo nano /etc/nginx/sites-available/default

    upstream php-handler {

    server 127.0.0.1:9000;

    #server unix:/var/run/php5-fpm.sock;

    }

     

    server {

    listen 80;

    server_name 192.168.0.11;

    return 301 https://$server_name$request_uri; # enforce https

    }

     

    server {

    listen 443 ssl;

    server_name technet.example.com;

     

    ssl_certificate /etc/nginx/cert.pem;

    ssl_certificate_key /etc/nginx/cert.key;

     

    # Path to the root of your installation

    root /var/www/owncloud;

     

    client_max_body_size 4096M; # set max upload size

    fastcgi_buffers 64 4K;

     

    rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;

    rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;

    rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

     

    index index.php;

    error_page 403 /core/templates/403.php;

    error_page 404 /core/templates/404.php;

     

    location = /robots.txt {

    allow all;

    log_not_found off;

    access_log off;

    }

     

    location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {

    deny all;

    }

     

    location / {

    # The following 2 rules are only needed with webfinger

    rewrite ^/.well-known/host-meta /public.php?service=host-meta last;

    rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

     

    rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;

    rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

     

    rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

     

    try_files $uri $uri/ index.php;

    }

     

    location ~ \.php(?:$|/) {

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

    include fastcgi_params;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    fastcgi_param PATH_INFO $fastcgi_path_info;

    fastcgi_param HTTPS on;

    fastcgi_pass php-handler;

    }

     

    # Optional: set long EXPIRES header on static assets

    location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {

    expires 30d;

    # Optional: Don't log access to assets

    access_log off;

    }

     

    }

     

     

    6. 최대 크기를 각각 찾아서 변경

    sudo nano /etc/php5/fpm/php.ini

    upload_max_filesize = 4096M

    post_max_size = 4096M

     

     

    7. php 설정 변경

    sudo nano /etc/php5/fpm/pool.d/www.conf

    아래 내용을

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

     

    다음으로 변경

    listen = 127.0.0.1:9000

     

    sudo nano /etc/dphys-swapfile

    아래 내용을

    CONF_SWAPSIZE=100

     

    다음으로 변경

    CONF_SWAPSIZE=512

     

     

    8. php와 웹서버 재시작

    sudo /etc/init.d/php5-fpm restart

    sudo /etc/init.d/nginx restart

     

     

    9. ownCloud 설치

    sudo wget https://download.owncloud.org/community/owncloud-7.0.4.tar.bz2

    sudo tar xvjf owncloud-7.0.4.tar.bz2

    sudo mv owncloud /var/www/

    sudo chown -R www-data:www-data /var/www

     

     

    10. 웹브라우저로 접속..

    고급을 클릭 후.. 192.168.0.11(안전하지 않음)(으)로 이동 을 클릭하면 접속이 된다.

     

    관리자 아이디와 비밀번호를 입력한 후.. 설치 완료를 선택.

     

     

     

    11. SD카드의 용량이 얼마 되지 않는지라 USB 메모리 마운트 위치로 데이터 저장위치를 변경

     

    pi@raspberrypi ~ $ sudo blkid

    /dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="CB99-4C7E" TYPE="vfat"

    /dev/mmcblk0p2: UUID="1263ae8d-aaf3-41b6-9ac0-03e7fecb5d6a" TYPE="ext4"

    /dev/sda4: UUID="92B68645B68629B5" TYPE="ntfs"

     

     

    퍼미션 문제로 자꾸 문제가 생겨서 /etc/fstab에서 uid와 gid를 지정해줌. umask=0007은 770옵션을 주기 위함임.

    /dev/sda4 /var/usb ntfs uid=www-data,gid=www-data, umask=0007,sync,auto,nosuid,rw,nouser,windows_names,locale=ko_KR.UTF-8 0 0

     

    usb연결하고 재부팅 후 루트로 작업 진행

    sudo su

     

    서버 중지시키고

    /etc/init.d/nginx stop

     

    /var/www/owncloud/config/config.php 파일에서 아래 부분을 원하는 디렉토리(/var/usb/) 수정,.

    'datadirectory' => '/var/usb/data',

     

    기존 data와 config디렉토리를 원하는 디렉토리의 하위 디렉토리로 이동.

    mv /var/www/owncloud/data /var/usb/

    mv /var/www/owncloud/config /var/usb/

     

    각각 원래 위치에 심볼릭 링크를 생성함.

    ln -s /var/usb/config /var/www/owncloud/config

    ln -s /var/usb/data /var/www/owncloud/data

     

    퍼미션 변경

    chown -R www-data:www-data /var/usb

    chown -R www-data:www-data /var/www/owncloud/config

    chown -R www-data:www-data /var/www/owncloud/data

     

    서버 재시작

    sudo /etc/init.d/nginx restart

     

     

    12. 웹브라우저로 다시 접속해보면 잘 동작함.

     

     

     

    참고

    http://www.techjawab.com/2014/08/how-to-setup-owncloud-7-on-raspberry-pi.html

    포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
    댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

    여러분의 응원으로 좋은 컨텐츠가 만들어집니다. 지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

    유튜브 구독하기


    댓글 1

Designed by Tistory.