2014년 8월 26일 화요일

[데비안웹서버구축] 데비안7에 웹서버를 구축해보자

이 글은 다음의 블로그를 참조하여 구축한 내용이다.

설치는 SSH -> VSFTPD -> APACHE2 -> PHP5 -> MYSQL 순으로 설치를 진행할 것이다.

먼저 터미널을 관리자 권한으로 시작한다.

SSH 설치 
ssh가 설치되어 있는지 먼저 실행을 해보자.

  • ssh

설치가 되어 있는것을 확인했다.


하지만 다시 install 을 해보자

  • apt-get install ssh

openssh-server를 더 설치할 것이라 한다. y를 눌러 설치를 진행한다.


VSFTPD 설치
설치 파일을 다운받기 위해 웹 브라우저를 실행한다.

다음의 주소에 접속한다.


vsftpd 패키지를 다운 받을 수 있는 링크로 이동한다.
안정화된 버전을 다운받기 위한 링크로 이동한다.
설치된 환경에 맞게 다운로드 한다. 나는 i386으로 맞춰서 다운로드 링크로 이동한다.
미러 사이트를 통하여 파일을 다운로드 시작한다.
파일을 저장한다.
다운로드가 완료되면 저장된 폴더로 이동한다.
저장된 파일을 확인한다.
파일을 오른쪽 클릭하여 패키지 설치 프로그램으로 실행한다.
패키지 설치 버튼을 클릭하여 설치 시작
설치완료
설치가 된 것을 확인한다.
터미널을 실행하여 vsftpd가 설치된 것을 확인할 수 있다.

  • vsftpd
아직 정상적인 설정이 되어 있지 않으므로 OOPS 이런다.


APACHE2 설치

아파치를 설치하자. 데비안 설치 CD가 필요하다.
  • apt-get install apache2

설치 CD를 넣으라 한다. 넣고 엔터키를 누르면 설치가 완료된다.

정상적으로 설치가 되었는지 확인해보자. 먼저 현재 리눅스 서버의 IP 주소를 확인한다.

  • ifconfig


확인된 IP 주소로 웹브라우저에서 이동해보자.

  • http://확인된주소

기본적으로 웹서비스가 제공되고 있다.


PHP5 설치
php5를 설치하자

  • apt-get install php5





apt-get install php만 입력하고 탭키를 누르면 패키지들이 많이 보인다. 그중 php5를 설치할 것이다.


MYSQL설치











2014년 8월 22일 금요일

[데비안웹서버구축] 패키지 설치를 위한 준비 (apt-get 자동완성)

이제부터 서버 구축을 위한 패키지들을 설치해야 한다.
그런데 설치에 앞서 패키지 설치를 할 때 편리하기 위한 설정을 하자.

apt-get으로 패키지를 설치할 때 자동으로 패키지 이름을 완성해주는 기능이다.
아래 그림처럼 apt-get install mysql 까지만 입력을 하고 탭키를 누르면 자동으로 -가 붙고 두번 탭키를 누르면 설치 가능한 패키지 목록이 나열된다.

먼저 루트터미널을 시작한다. 관리자 열쇠글을 입력하라고 한다. 관리자 패스워드를 입력하고 확인을 누르자.

편집기를 실행해서 설정파일의 내용을 변경하고자 한다. gedit 편집기 실행

  • gedit


gedit가 관리자 권한으로 실행된 것을 확인할 수 있다.

설정 파일의 내용을 변경하기 위해 먼저 파일을 열자.

  • [파일] - [열기(O)...]


파일열기 창이 뜨면, 좌측 리스트에서 [root] 항목을 선택하고 위치 검색 edit 컨트롤에 ~./bashrc 라고 입력하고 [열기]버튼을 누른다.

  • ~./bashrc


다음의 그림과 같이 설정 파일이 열린것을 확인할 수 있다.

내용의 끝에서 엔터키를 눌러 줄 바꿈 후 다음의 내용을 입력해 주고 저장한다. 공백주의

  • if [ -f /etc/bash_completion ]; then
  • . /etc/bash_completion
  • fi


파일 저장후 gedit를 종료하고 루트 터미널에서 다음의 내용을 실행하자.

  • source ~/.bashrc


이제 자동완성이 가능할 것이므로 apt-get install mysql 을 입력해서 탭 키를 눌러 확인해 보자.

  • apt-get install mysql


2014년 8월 21일 목요일

[데비안웹서버구축] 데비안 리눅스 설치 및 실행

데비안을 이용하여 리눅스 웹서버를 구축하기를 공부하고자 한다.
vmware에 데비안을 설치하고 웹서버를 구축해 볼 것이다.

데비안 CD 이미지는 http://www.debian.org/ 에서 구할 수 있다.

설치 시 데스크탑과 기본 유틸리티 외에는 설치를 하지 않도록 한다.

설치를 마치고 첫 부팅 시 그놈 3 읽어들이기를 실패했다고 한다.

해상도를 바꾸어보자
좌측 상단의 [프로그램] - [시스템도구] - [기본설정] - [시스템설정] 을 실행한다.

시스템 설정 항목들 중에서 [디스플레이]를 실행한다.

해상도는 원하는 크기로 변경한다.

변경된 해상도를 유지하고 해상도 변경을 종료한다.

[프로그램] - [보조프로그램] - [루트터미널] 의 항목을 왼쪽 마우스 클릭한채로 드래그 하여 상단의 [위치] 옆에다 바로가기를 만들어준다.

root 권한으로 터미널 실행이 잦을 것이므로 편하게 하기 위함이다.

우선 기본적인 설치와 실행을 위한 준비는 여기까지이다.

2014년 8월 11일 월요일

[라즈베리파이] 라즈비안 시작 시 프로그램 시작하기

파이썬으로 프로그램을 만들었다면 라즈비안 OS가 부팅되면서 자동으로 프로그램을 실행되도록 할 것이다.

OS 환경설정 변경
환경 설정 파일인 '/etc/rc.local' 파일을 수정하여 자동으로 실행되도록 한다.
 파일을 수정하기 위하여 leafpad 프로그램을 root 권한으로 실행한다.

시작내용 추가
  • sudo python /home/pi/EventPlayer.py &

위의 한줄을 입력하여 저장하고 재부팅 해준다.
  • 라즈비안 기본 ID인 pi의 기본 경로의 EventPlayer.py 파이썬 프로그램을 실행

버튼과 mp3 파일이 있어야 정상적으로 동작하는 것을 확인할 수 있지만 위와 같이 한 경우 ps -ef 등으로 현재 프로세스가 실행되고 있는가는 확인 할 수 있다.

[라즈베리파이] Python Sample Code (EventPlayer.py)

#EventPlayer.py
from time import sleep
import os
from subprocess import Popen, PIPE
import RPi.GPIO as GPIO
import pyinotify

GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN)
GPIO.setup(27, GPIO.IN)
GPIO.setup(22, GPIO.IN)
GPIO.setup(7, GPIO.IN)
GPIO.setup(8, GPIO.IN)
GPIO.setup(9, GPIO.IN)
GPIO.setup(10, GPIO.IN)
GPIO.setup(11, GPIO.IN)
GPIO.setup(23, GPIO.IN)
GPIO.setup(24, GPIO.IN)
GPIO.setup(18, GPIO.IN)

startDelay = 20
sw = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
swold = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

p = Popen(['mpg321', '-R', 'n', '-g',  '100'], stdin=PIPE, stdout=PIPE)

wm = pyinotify.WatchManager()
mask = pyinotify.IN_DELETE | pyinotify.IN_CREATE

class EventHandler(pyinotify.ProcessEvent):
def process_IN_CREATE(self, event):
print "Create: %s" % event.pathname
p.stdin.write('STOP\n')


def process_IN_DELETE(self, event):
print "Remove: %s" % event.pathname
p.stdin.write('STOP\n')

notifier = pyinotify.ThreadedNotifier(wm, EventHandler())
notifier.start()

wdd = wm.add_watch('/media', mask, rec=True)

while True:
sw[0] = GPIO.input(17)
sw[1] = GPIO.input(27)
sw[2] = GPIO.input(22)
sw[3] = GPIO.input(7)
sw[4] = GPIO.input(8)
sw[5] = GPIO.input(9)
sw[6] = GPIO.input(10)
sw[7] = GPIO.input(11)
sw[8] = GPIO.input(23)
sw[9] = GPIO.input(24)
sw[10] = GPIO.input(18)

sleep(0.1)

if( startDelay == 0 ):
for x in range(0, 9):
if( (swold[x] == 1) and (sw[x] == 0) ):
printstr = 'clicked' + str(x)
print(printstr)
cmdStr = 'LOAD /home/pi/Pops/00' + str(x+1) + '.mp3\n'
p.stdin.write(cmdStr)
if( (swold[9] == 1) and (sw[9] == 0) ):
print('clicked Stop')
p.stdin.write('STOP\n')
if( (swold[10] == 1) and (sw[10] == 0) ):
print('clicked Quit')
p.stdin.write('QUIT\n')
wm.rm_watch(wdd.values())
notifier.stop()
exit()
else:
startDelay = startDelay - 1

for x in range(0, 11): swold[x] = sw[x]

2014년 8월 6일 수요일

[라즈베리파이] 파이썬 파일감시용 패키지 설치 (pyinotify)

파이썬을 이용하여 파일시스템을 감시하기 위한 방법으로 pyinotify 라이브러리를 활용하면 된다.

라즈비언에 기본적으로 설치되어 있는 패키지가 얼마나 설치되어 있는지 알 수 없으므로 다음의 순서를 따라 설치를 한다.

셋업툴 설치

  • sudo apt-get install python-setuptools



ez_setup 툴 설치

설치 파일 다운
pyinotify 라이브러리 설치를 쉽게 하기 위하여 ez_setup 툴을 설치하기 위한 파이썬 파일을 다운 받는다.

  • wget http://peak.telecommunity.com/dist/ez_setup.py


ez_setup 툴 설치 실행

  • sudo python ez_setup.py



pyinotify 라이브러리 설치

  • sudo easy_install pyinotify



설치된 pyinotify 테스트
/media 폴더를 감시하여 USB의 마운트를 감시해본다.

  • sudo python -m pyinotify -v /media



[라즈베리파이] 음악 재생 프로그래밍을 위한 기본 설치

음악 재생을 프로그래밍 할 수 있도록 하기 위한 기본 패키지들을 설치하고자 한다.

인터넷 연결설정

바탕화면
라즈비언을 실행하면 첫 바탕화면으로 다음과 같은 화면을 볼 수 있다.

Wifi설정
패키지를 설치하기에 앞서 먼저 인터넷에 연결이 되어 있어야 한다.
바탕화면에서 [Wifi Config] 아이콘을 더블클릭하여 프로그램을 실행하고 Wifi 연결을 하여 인터넷에 연결되도록 한다.


사운드 설정

사운드 드라이버 설치
사운드 설정을 위한 사운드 드라이버 패키지를 설치한다.
  • sudo apt-get install alsa-utils


재생 프로그램 설치
mp3 파일을 재생하기 위한 프로그램 패키지를 설치한다.
  • sudo apt-get install mpg321


재부팅
재부팅 하여 사운드 드라이버를 로딩한다.
  • sudo reboot


3.5mm 사운드 잭으로 출력 설정
사운드 드라이버의 설정을 통하여 3.5mm 사운드 잭으로 출력을 설정한다.

  • sudo modprobe snd_bcm2835
  • sudo amixer cset numid=3 1


볼륨 조절은

  • sudo amixer cset numid=1 100%


라즈베리파이 파이썬으로 GPIO 사용하기

패키지 업데이트
패키지 설치 전 패키지 리스트와 버전 정보 등에 대하여 업데이트 함
  • sudo apt-get update

파이썬 개발을 위한 패키지 설치
  • sudo apt-get install python-dev

라즈베리파이의 GPIO 제어를 위한 파이썬 라이브러리 패키지 설치
  • sudo apt-get install python-rpi.gpio


기본적인 개발을 위한 패키지 설치는 완료되었다. 다음 포스트에서 실제 재생기를 만들어 보자.