PowerPoint 프레젠테이션

Similar documents
PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - lab16.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션


PowerPoint 프레젠테이션

Microsoft PowerPoint - lab14.pptx

PowerPoint 프레젠테이션

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Sena Technologies, Inc. HelloDevice Super 1.1.0

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

PowerPoint 프레젠테이션

untitled

2009년 상반기 사업계획

Microsoft PowerPoint 웹 연동 기술.pptx

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap01-C언어개요.pptx

chapter1,2.doc

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint 프레젠테이션

vi 사용법

Secure Programming Lecture1 : Introduction

PowerPoint Template

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

untitled

untitled


망고100 보드로 놀아보자-4

KEY 디바이스 드라이버

Microsoft Word doc

PowerPoint 프레젠테이션

PowerPoint Template

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

PowerPoint 프레젠테이션

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

슬라이드 1

C 언어 프로그래밊 과제 풀이

Microsoft Word - src.doc

14-Servlet

MySQL-Ch10

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft PowerPoint - lab15.pptx

본 강의에 들어가기 전

BEA_WebLogic.hwp

LXR 설치 및 사용법.doc

JDK이클립스

/chroot/lib/ /chroot/etc/

작성자 : 기술지원부 김 삼 수

Interstage5 SOAP서비스 설정 가이드

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

게시판 스팸 실시간 차단 시스템

Microsoft Word ARM_ver2_0a.docx

The Pocket Guide to TCP/IP Sockets: C Version

Microsoft PowerPoint - es-arduino-lecture-03

3장

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

Cookie Spoofing.hwp

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Chap 5 루트파일시스템 (Root F/S)

2009년 상반기 사업계획

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

0. 들어가기 전

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

bn2019_2

PowerPoint 프레젠테이션

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

금오공대 컴퓨터공학전공 강의자료

mbedded System Embedded Lin u x 1.1 2

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch09_파이프 [호환 모드]

2009년 상반기 사업계획

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다. / /bin/ /home/ /home/taesoo/ /home/taesoo/downloads /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자 (t

Microsoft PowerPoint - 03-TCP Programming.ppt

PHP & ASP

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

EDB 분석보고서 (04.06) ~ Exploit-DB( 에공개된별로분류한정보입니다. Directory Traversal users-x.php 4.0 -support-x.php 4.0 time-

SBR-100S User Manual

Microsoft PowerPoint Python-Web.pptx

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

Javascript

PowerPoint 프레젠테이션

Transcription:

WEB SERVER PORTING 1 Jo, Heeseung

웹서버포팅 HBE-SM5-S4210 를임베디드웹서버로사용할수있도록웹서버를올리는작업 임베디드서버에널리쓰이는웹서버들중 GoAhead 라는웹서버를포팅 CGI 프로그램을이용하여웹에서 HBE-SM5-S4210 의 LED, 7- Segment, TextLCD 를제어실습 2

Goahead webserver 소스를다운받거나제공된 CD 안의소스를이용 http://cslab.jbnu.ac.kr/_down/es/webs218.tar.gz 경로 : [CD]\source\webserver\webs218.tar.gz http://data.goahead.com/software/webserver/2.1.8/webs218.tar.gz 3

GoAhead 소스복사및압축해제 웹서버소스를복사한후에소스를압축해제 ws031202 라는디렉터리가생성되고, 그안에들어가면여러가지플랫폼에해당하는디렉터리가각각존재 - LINUX 디렉터리로이동 root@ubuntu:# cp /media/sm5-linux-111031/source/webserver/webs218.tar.gz /working root@ubuntu:# cd /working root@ubuntu:/working# tar xzvf webs218.tar.gz root@ubuntu:/working# cd ws031202/linux/ 4

GoAhead 컴파일을위한소스수정 HBE-SM5-S4210 타겟보드에서이프로그램을실행시키기위해서는크로스컴파일을해야함 - Makefile 을다음과같이수정 root@ubuntu:/working/ws031202/linux# vi Makefile ------------------------ 다음과같이수정한다 --------------------- # 크로스컴파일을하기위해서 " 컴파일러 " 와 " 라이브러리빌더 " 를추가 14 15 CC=arm-linux-gcc 16 AR=arm-linux-ar 17 # 마지막줄에서 cc 를 $(CC) 로변경 158 $(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $< ----------------------- 저장하고종료한다 ------------------------ 5

GoAhead 컴파일을위한소스수정 misc.c 파일수정 root@ubuntu:/working/ws031202/linux# vi../misc.c ----------------- 다음과같이수정한다 ------------------------- 61 //static int strnlen(char_t *s, unsigned int n); 62 static void put_char(strbuf_t *buf, char_t c); 63 static void put_string(strbuf_t *buf, char_t *s, int len, 428 #if 0 429 static int strnlen(char_t *s, unsigned int n) 430 { 431 unsigned int len; 432 433 len = gstrlen(s); 434 return min(len, n); 435 } 436 #endif ------------------ 저장하고종료한다 -------------------------- 9

GoAhead 컴파일 다음과같이 make 를실행하여컴파일 생성된파일들을확인 root@ubuntu:/working/ws031202/linux# make root@ubuntu:/working/ws031202/linux# ls Makefile libwebs.a main.c main.o webs 위와같이 webs 라는웹서버실행파일과 libwebs.a 라는라이브러리가생성 10

인덱스파일작성 다음으로웹서버의인덱스파일로사용할 index.html 파일을생성 테스트용으로간단히작성하고, 각자다른내용을추가 root@ubuntu:/working/ws031202/linux# vi index.html -------------------- 다음과같이수정한다 ---------------------- <html> <head> <title>the First webs test!</title> </head> <body> The first embedded linux web page </body> </html> --------------------- 저장하고종료한다 ---------------------- root@ubuntu:/working/ws031202/linux# 11

웹서버실행파일인 webs 와앞에서작성한 index.html 을타겟보드로복사 타겟보드에서 GoAhead 실행을위한준비 타겟보드에서웹서버에접속했을때보여질웹페이지디렉터리 (/web) 를생성 cgi 가들어갈디렉터리 (/web/cgi-bin) 를생성 로그인한후에 /web 디렉터리가존재하는지확인 현재 HBE-SM5-S4210 의루트파일시스템에는웹서버가포팅되어있기때문에 /web 디렉터리가이미존재 실습을위해서기존에있던 /web 디렉터리를삭제하거나다른이름으로이동 - 여기에서는 /web 디렉터리를임시로다른이름으로이동 12

타겟보드에서 GoAhead 실행을위한준비작업 [root@sm5s4210 ~]# ls / ------------------다음과같은메시지가 출력된다 ----------------- bin jffs lost+found sbin tmp dev lib mnt sys usr etc linuxrc proc sysfs var home lost+found root test web [root@sm5s4210 ~]# mv /web/ /web-org [root@sm5s4210 ~]# ls / ------------------다음과같은메시지가 출력된다 ----------------- bin jffs lost+found sbin tmp dev lib mnt sys usr etc linuxrc proc sysfs var home lost+found root test web-org 13

타겟보드에서 GoAhead 실행을위한준비작업 /bin 디렉터리에 webs 실행파일이존재하는지확인 현재 HBE-SM5-S4210 의루트파일시스템에는웹서버가포팅되어있기때문에 /bin 디렉터리에 webs 실행파일이이미존재 - 실습을위해서기존에있던 webs 파일을삭제하거나다른이름으로이동 - 여기에서는 /bin/webs 파일을임시로다른이름으로이동 [root@sm5s4210 ~]# ls /bin/webs ------------------ 다음과같은메시지가출력된다 ----------------- /bin/webs [root@sm5s4210 ~]# mv /bin/webs /bin/webs-org [root@sm5s4210 ~]# ls /bin/webs-org ------------------ 다음과같은메시지가출력된다 ----------------- /bin/webs-org 14

타겟보드에 GoAhead 실행파일및 main.html 다운로드 호스트 PC 에있는 webs 와 index.html 파일을타겟보드의 /bin 과 /web 로복사 타겟보드로복사하는방법은 nfs 를이용 15

웹서버프로세스가실행되고있는지확인 루트파일시스템에서는부팅시에웹서버가자동으로실행되도록설정되어있음 webs 를실행하기전에웹서버가실행되고있는지확인한후에실행 웹서버가실행되고있으면프로세스를 kill [root@sm5s4210 ~]# ps grep webs ------------------ 다음과같은메시지가출력된다 ----------------- 1316 root 1856 S /bin/webs [root@sm5s4210 ~]# kill -9 1316 16

타겟보드에서 GoAhead 실행 다음과같이웹서버를실행 /web 하위에서실행 [root@sm5s4210 ~]# /bin/webs & [root@sm5s4210 ~]# ps grep webs 1424 root 1988 S /bin/webs 1426 root 3536 S grep -i webs 17

호스트 PC 의웹브라우저로웹서버에접속 타겟보드의웹서버가정상적으로동작하는지확인 호스트 PC 의웹브라우저를이용 - 웹브라우저로타겟보드의웹서버에접속시반드시 IP 설정을타겟보드와통신이가능하도록맞춰주어야함 18

호스트 PC 의웹브라우저로웹서버에접속 브라우저의주소입력창에 http://192.168.0.150/index.html 을입력 19

CGI PROGRAMMING 공통게이트웨이인터페이스 (CGI, Common Gateway Interface) 브라우저에서서버로정보를전달하기위한방법을정의하는인터페이스 CGI 프로그램에서는동적인문서를전달하기위해 HTTP 프로토콜을사용 CGI 를구현하기위하여웹브라우저에서 FORM 태그를통해사용자의입력값들을웹서버로전송 서버에서는그값을 CGI 프로그램으로입력값을넘겨줌 20

CGI PROGRAMMING Web 에서입력값전달방식 웹에서사용자의입력값들을넘겨주기위하여는 <FORM> 태그를사용 <FORM> 태그의구성 <form method=get action="cgi-bin/8bitled.cgi"> <p align="center"> 0x <input type="text" name="value" maxlength="2" size="2"> <input type="submit" name="button" value="input"></p> </form> 21

CGI PROGRAMMING Web 에서입력값전달방식 get method - <form> 태그에 method=get 으로하면사용자의입력값들이환경변수에저장되어전달 - 각입력값들이기본 URL 에붙은인수 (parameter) 로서첨가되어 CGI 프로그램으로값을전달 - get method 를이용하면, 그입력값들이환경변수의하나인 QUERY_STRING 에들어가전달되는데 CGI 프로그램은 QUERY_STRING 에들어있는값을읽음 - 이때그값들은입력된대로넘어가는것이아니라서버에의해여러가지로변환 (encoding) 되어넘어가며 CGI 프로그램에서는그값들을 getenv() 로읽어들여해독 (decoding) 하여야함 22

CGI PROGRAMMING Web 에서입력값전달방식 post method - <form> 태그에서 method=post 로하면, stdin(standard input: 표준입력 ) 을통해전달 - post method 는 stdin 을이용하므로전달하려는데이터양에제한이없음 - post method 에서는환경변수들또한 stdin 과함께전달됨 - 입력값들이 encoding 되어넘어오기때문에 CGI 에서그값들을 decoding 해야함 23

CGI PROGRAMMING C 언어를이용한 CGI 프로그래밍 CGI 프로그램에서는출력할데이터에앞서적절한헤더정보를보내웹서버가어떤타입을출력하려는지인식하게해야함 다음의예는웹서버에게어떤타입을출력하려고하는지알수있게해줌 printf("content-type: text/html\n\n"); 24

CGI PROGRAMMING CGI 예제작성 root@ubuntu:# mkdir /working/web root@ubuntu:# cd /working/web/ root@ubuntu:/working/web# vi first.c ----------------------- 다음과같이수정한다 ------------------------ #include <stdio.h> int main() { printf("content-type: text/html\n\n"); printf("<html>\n<head><title>the First CGI program</title></head>\n"); printf("<body>\n<center> It is a CGI program test</center>\n</body>\n </html>"); return 0; } ----------------------- 저장하고종료한다 ------------------------- 25

CGI PROGRAMMING first.c 소스를컴파일 root@ubuntu:/working/web# arm-linux-gcc -o first.cgi first.c first.html 파일을작성 root@ubuntu:/working/web# vi first.html --------------------- 다음과같이수정한다 -------------------- <html> <head> <title>test CGI PROGRAM!</title> </head> <body><center><a href="cgi-bin/first.cgi">the first CGI PROGRAM!</a> </center> </body> </html> -------------------------- 저장하고종료한다 -------------------- 26

CGI PROGRAMMING first.cgi 와 first.html 파일을타겟보드로복사 타겟보드에 first.html 과 first.cgi 을 /web 과 /web/cgi-bin 에복사 [root@sm5s4210 ~]# mv first.html /web/ [root@sm5s4210 ~]# mv first.cgi /web/cgi-bin/ 27

CGI PROGRAMMING CGI 예제실행확인 호스트 PC의웹브라우저에서웹서버에접속 주소창에 http://192.168.0.150/first.html을입력 28

CGI PROGRAMMING CGI 예제실행확인 화면에출력된 The first CGI PROGRAM! 을누르면 /web/cgi-bin 에있는 first.cgi 프로그램이동작 29