how to build a web server on linux

48
http://kimeunseok.com 작작작 김김김 작작작작 http:// kimeunseok.com 작작작작작 2011-11-24 작작 Dev, JANT How to build a web server on Linux.

Upload: -

Post on 29-Nov-2014

1.031 views

Category:

Education


6 download

DESCRIPTION

How to build a web server on Linux.

TRANSCRIPT

Page 1: How to build a web server on Linux

http://kimeunseok.com

작성자 김은석

웹사이트 http://kimeunseok.-

com

작성년월일 2011-11-24

소속 Dev, JANT

How to build a web server on Linux.

Page 2: How to build a web server on Linux

http://kimeunseok.com

1-1 Repository 등록

1-2 JDK 설치

1 JDK 설치 방법

2 TOMCAT 설치방법

2-1 다운로드 및 권환 부여

2-2 PATH 설정

2-3 톰캣 실행 및 종료 방법

3 My SQL 설치방법

3-1 다운로드 및 설치

3-2 환경설정

4 JDBC 연동 방법

4-1 Connector 다운로드

4-2 연동확인

5 SAMPLE CODE

5-1 명함관리 및 등록

5-2 코드 분석

목차

http://kimeunseok.com

Page 3: How to build a web server on Linux

http://kimeunseok.com

Chapter 1

JDK 설치 :Package 를 이용한 설치방법

http://kimeunseok.com

Page 4: How to build a web server on Linux

http://kimeunseok.com

1 REPOSITORY 란 ?

2 Chapter1 요약정리

우분투에는 한글로 저장소 (Repository) 라는 곳에서 현재 실행중인 우분투의 버전과 업데이트 상황을

비교하여 , 저장소에 있는 파일들이 최신일 경우에는 사용자에게 자동으로 그 정보를 알려주어

운영체제를 업데이트를 할 것인지 묻습니다 .

이 업데이트는 윈도우 시스템과는 다르게 필수적이거나 강제적인 요소는 아닙니다 .

우분투에서는 다양한 기업 / 개인 / 팀이 독립적인 저장소를 보유하고 있습니다 .

다만 , JDK 나 톰캣 역시 저장소에 등록되어 있으며 , 이를 통해 보다 편리하게 JDK 를 설치할 수

있습니다 .

이번 챕터 역시 이를 이용하여 JDK 를 설치하고 , 환경설정을 하는 방법에 대해서

자세하게 설명할 계획입니다 .

1-1

4

Chapter 1 :REPOSITORY란 ?

• sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

• sudo apt-get update

• sudo apt-get install sun-java6-jdk

http://kimeunseok.com

Page 5: How to build a web server on Linux

http://kimeunseok.com

관리자모드를 통해 저장소 등록

1-2

5

Chapter 1 :Repository 등록

• sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner“

- 위 명령어를 관리자 권환을 획득한 터미널에 입력하면 정상적으로 저장소가 등록됩니다 .

• 관리자 모드는 su – 명령을 통해 획득할 수 있습니다 .

http://kimeunseok.com

Page 6: How to build a web server on Linux

http://kimeunseok.com

저장소를 갱신해야만 , JDK 를 다운로드 할 수 있습니다 .

1-3

6

Chapter 1 :Repository 갱신

• sudo apt-get update

- 위 명령을 통하여 저장소 등록 현황을 업데이트 합니다 . 그 후 아래 명령을 입력하면

JDK 가 정상적으로 다운로드 및 설치 됩니다 .

• sudo apt-get install sun-java6-jdk

http://kimeunseok.com

Page 7: How to build a web server on Linux

http://kimeunseok.com

JDK 를 정상적으로 설치했다면 위 화면과 같은 설정창이 나타납니다 .

1-4

7

Chapter 1 :JDK 환경 설정

• 위 이미지에서 확인 ( 스페이스로 이동 ) 을 입력한 후 다시 < 예 > 를 클릭하면

정상적으로 설정이

완료 됩니다 .

- 위 설정을 통해 JDK 를 설치하면 기본 PATH 는 아래와 같습니다 .

• /usr/lib/jvm/sun-java-1.6.0_01/http://kimeunseok.com

Page 8: How to build a web server on Linux

http://kimeunseok.com

위와 같이 모든 트리거에 대해 정상적으로 설치가 완료된다면…

1-5

8

Chapter 1 :JDK 설치완료

• 터미널에서 java, javac 가 반응을 할 것 입니다 .

- JDK 설치는 간단하게 설치가 가능하며 , 이제 톰캣 설치에 대한 방법을 알아보겠습니다 .

http://kimeunseok.com

Page 9: How to build a web server on Linux

http://kimeunseok.com

Chapter 2

TOMCAT 설치 :Binary 를 이용한 설치방법

http://kimeunseok.com

Page 10: How to build a web server on Linux

http://kimeunseok.com

1 톰캣이란 ?

2 Chapter2 요약정리

이제까지는 아파치와 톰캣을 모두 설치하여 웹서버를 운영하였습니다 .

하지만 여기에는 숨어있는 비밀이 있습니다 .

사실 톰켓 자체에 웹 서버 기능이 내장되어있기 때문에 톰캣만 사용하더라도 JSP 가

실행되는 웹 서버를 구성하는데는 아무런 문제가 없습니다 .

하지만 톰켓의 웹 서버 기능은 아주 기본적인 기능만 하기 때문에 아파치와 연동하여 아파치가 가지고

있는 다양한 웹 서버 기능을 이용하기 위함이나 , JSP 만을 운영할 때는 톰캣으로 충분하기 때문에

이번 챕터에서는 톰캣만으로 웹서버 및 JSP 환경을 구축하는 방법을 설명하려고 합니다 .

톰캣은 JSP/ 서블릿 컨테이너 중에 하나로서 사용자에게 JSP 요청을 받으면 서블릿으로 바꾸어 이를

실행하는 역할을 합니다 . ( 그리고 서블릿요청을 받으면 이를 실행을 하죠 .) 쉽게 말하여 JSP

페이지를

웹 서버에 요청을 하면 이 페이지를 해석하고 실행하는 역할을 하는 것입니다 .

더 쉽게 말하면 , 웹 서버에 있는 JSP 문서를 실행시키면 이를 작동하는 것이 톰켓이죠 ^^

2-1

10

Chapter 2 :TOMCAT 이란 ?

• export CATALINA_HOME=/usr/local/tomcat

• export PATH=$PATH:$CATALINA_HOME/bin

http://kimeunseok.com

Page 11: How to build a web server on Linux

http://kimeunseok.com

http://apache.tt.co.kr/tomcat/

2-2

11

Chapter 2 :톰캣 다운로드

• 위 주소로 접속하시면 TOMCAT 의 버전별 파일을 다운로드 할 수 있습니다 .

- 해당 문서에서는 톰캣 6 버전을 기준으로 작성하였으며 , 다운로드 주소는 아래와

같습니다 .

• http://apache.tt.co.kr/tomcat/tomcat-6/v6.0.33/bin/apache-tomcat-6.0.33.tar.gz

http://kimeunseok.com

Page 12: How to build a web server on Linux

http://kimeunseok.com

다운받은 톰캣 압축을 풀고 , 관리자 권한의 Nautilus 를 실행합니다 .

2-3

12

Chapter 2 :톰캣 설치

• 관리자 권환을 획득하였다면 , 아래 위치로 이동하여 , TOMCAT 폴더를 만들고 파일을

복사합니다 .

- mkdir /usr/local/tomcat

• cp 명령을 통해서 파일을 카피하셔도 관계없습니다 .

http://kimeunseok.com

Page 13: How to build a web server on Linux

http://kimeunseok.com

2-4

13

Chapter 2 :톰캣 실행 (X)

1 톰캣을 실행해도 안됩니다 ?

2 JAVA_HOME PATH 설정하기

기본적인 개념에 입각해볼 때 JDK(JRE) 를 설치했고 , 톰캣을 설치했다면 실행이 되어야 합니다 .

실제로 톰캣 실행 명령인 ./catalina.sh start 를 하면 using 이라고 정상적으로 실행이 된 것을 확인할 수

있으나 ,

http://localhost:8080 으로 접속해보면 접속이 안되는 것을 확인할 수 있습니다 .

이는 JAVA_HOME 의 PATH 가 설정되지 않았기 때문입니다 .

• 만약 , 이 PPT 대로 설치를 따라왔다면 JAVA 의 기본 패스는 아래와 같습니다 .

- /usr/lib/jvm/java-6-sun-1.6.0.26

• 해당 JVM 을 사용하기 위해서는 export 명령을 사용하며 아래와 같습니다 .

- export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26

• 그리고 이 PATH 를 TOMCAT 의 CATLINA 에도 적용해야 하는데 , 적용법은 아래와

같습니다 .

- export CATALINA_HOME=/usr/local/tomcat

- export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

• 위와 같이 적용 후 다시 톰캣을 실행시켜봅니다 .

http://kimeunseok.com

Page 14: How to build a web server on Linux

http://kimeunseok.com

JRE_HOME 이 정상적으로 지정하고 있음을 확인할 수 있습니다 .

2-5

14

Chapter 2 :톰캣 실행 (O)

• 위와 같은 모습이 나온다면 , http://127.0.0.1:8080으로 접속을 시도해 봅니다 .

http://kimeunseok.com

Page 15: How to build a web server on Linux

http://kimeunseok.com

우리가 늘 봐오던 , 고양이의 모습이 보입니다 .

2-6

15

Chapter 2 :톰캣 접속화면

• Webapps 의 경로는 아래와 같습니다 .

- /usr/local/tomcat/webapps/ROOT/

http://kimeunseok.com

Page 16: How to build a web server on Linux

http://kimeunseok.com

윈도우 환경과 마찬가지로 8080 포트는 직접 열어야 합니다 .

2-7

16

Chapter 2 :외부접속 허용방법

• 간단하게 아래 명령을 통해서 포트를 열 수 있습니다 .

- sudo ufw allow 8080

• 반대로 포트를 닫을 때는 아래 명령을 사용합니다 .

- sudo ufw deny 8080http://kimeunseok.com

Page 17: How to build a web server on Linux

http://kimeunseok.com

정상적으로 접속이 되는 것을 확인 할 수 있습니다 .

2-8

17

Chapter 2 :외부접속 확인

• 이 화면이 나오지 않는 경우는 TOMCAT 설정에 문제일 가능성이 큽니다 .

- 고양이가 나오면 됩니다 . 위 페이지는 PPT 제작을 위해 임의로 제작한 페이지 입니다 .

http://kimeunseok.com

Page 18: How to build a web server on Linux

http://kimeunseok.com

Chapter 3

My SQL 설치 :Package 를 이용한 설치방법

Page 19: How to build a web server on Linux

http://kimeunseok.com

1 MY SQL 이란 ?

MySQL 은 전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이며 ,

MySQL AB 사가 개발하여 배포 / 판매하고 있는 데이터베이스이다 .

1. MySQL 은 데이터베이스 관리 시스템이다 .

데이터베이스란 구조화된 데이터 집합이다 . 이러한 데이터 집합에는 , 간단한 쇼핑 리스트에서부터

기업의 전사적인 데이터까지 포함이 된다 . 컴퓨터 데이터베이스에 저장되어 있는 데이터 집합을 추가 ,

접속 , 처리하기 위해서는 , MySQL 과 같은 데이터베이스 관리 시스템을 사용해야 한다 .

2. MySQL 은 관계형 데이터베이스 관리 시스템이다 .

관계형 데이터베이스는 데이터를 하나의 커다란 저장 공간에 저장하지 않고 서로 별개의 테이블에

나누어서 저장을 하는 시스템이다 . 이를 통해 처리 속도와 유연성이 확보된다 . SQL 은 “ Structured

Query language” 의 약자이며 , SQL 은 ANSI/ISO 표준에서 정의한 데이터베이스 접속을 위한 가장

일반적인 표준 언어이다 . 이 매뉴얼에서 언급하는 “ SQL 표준”은 각 시점에서 발표된 SQL표준을

의미하는 것이다 .

3. MySQL 소프트웨어는 오픈 소스이다 .

MySQL 데이터베이스는 GPL (GNU Public License) 를 준수하는 오픈 소스 데이터베이스이며 , GPL

을 준수해서 사용하는 모든 사용자에게 무료로 배포되고 있다 . MySQL 데이터베이스에 대한 보다

자세한 정보는 http://www.mysql.com/company/legal/licensing/ 를 참조하기 바란다 .

MySQL 서버는 클라이언트 / 서버 또는 임베디드 시스템에서 사용할 수 있다 .

MySQL 데이터베이스 소프트웨어는 다중 -쓰레드 SQL 서버로 구성된 클라이언트 / 서버 시스템이

다 .

또한 , MySQL 서버를 임베디드 형태로도 다양한 용도로 사용할 수가 있다 .

3-1

19

Chapter 3 :MYSQL 이란 ?

http://kimeunseok.com

Page 20: How to build a web server on Linux

http://kimeunseok.com

Ubuntu Package DB 를 검색하여 설치할 MySQL 패키지 찾기

3-2

20

Chapter 3 :MySQL 설치준비

• 우분투는 패키지 DB 를 통해서 필요한 패키지가 있는지 확인 할 수 있습니다 .

- 위 사진을 보면 Mysql –server-5.1 이 패키지에 포함되어 있는 것을 확인 할 수 있습니다 .

http://kimeunseok.com

Page 21: How to build a web server on Linux

http://kimeunseok.com

Ubuntu Package DB 를 검색하여 설치할 MySQL 패키지 찾기

3-3

21

Chapter 3 :MySQL 환경설정

• 우분투는 패키지 DB 를 통해서 필요한 패키지가 있는지 확인 할 수 있습니다 .

- 위 사진을 보면 Mysql –server-5.1 이 패키지에 포함되어 있는 것을 확인 할 수 있습니다 .

http://kimeunseok.com

Page 22: How to build a web server on Linux

http://kimeunseok.com

MySQL 설치 도중 나오는 설정페이지에서 비밀번호를 지정합니다 .

3-4

22

Chapter 3 :MySQL 설치

• 당연히 비밀번호는 절대 잃어버려서는 안됩니다

• 이 과정에서 서버가 부팅할때 자동으로 MySQL 데몬이 실행될 수 있도록 initd 에 등록이 됩니다 .

http://kimeunseok.com

Page 23: How to build a web server on Linux

http://kimeunseok.com

터미널에 mysql –u root –p 를 입력 후 접속합니다 .

3-5

23

Chapter 3 :MySQL 설치확인

• -u 는 유저를 지정한다는 의미이고 , -p 는 패스워드를 지정한다는 의미입니다 .

- 위 사진에서는 패스워드를 따로 지정하지는 않았습니다…보안상 !!

• 그러면 위와 같이 Mysql 이 정상적으로 등록되는 것을 확인 할 수 있습니다 .

http://kimeunseok.com

Page 24: How to build a web server on Linux

http://kimeunseok.com

Chapter 4

JDBC 연동 :데이터베이스 연동하기

Page 25: How to build a web server on Linux

http://kimeunseok.com

1 JDBC 란 ?

JDBC : 자바 프로그래밍 언어로 만들어진 클래스와 인터페이스로 이루어진 API 로

SQL 문을 실행 할 수 있는 함수 호출 인터페이스입니다 .

장점 : DBMS 와 독립적 으로 (oracle,DB2 등등 ) 바뀌어도 상관 없습니다 .

* 오라클 site 나 MySQL SITE 에서 jdbc.jar 파일을 다운 받은후 자신 jre 가 들어있는 폴더에

복사시킵니다 .*

1.JDBC 드라이버를 로드 한다

Class.forName("oracle.jdbc.driver.OracleDriver");

2.DBMS Connection 얻는다

Connection con = DriverManager.getConnection (DRIVER, USER_ID , USER_PASSWORD);

3. SQL 을 삽입하기 전에 연결방식 설정

Statement stmt = con.createStatement( );

Prestatement pstmt=con.createPrestatement();

4. SQL 문을 삽입하거나 수정하는 경우

SELECT 문인 경우에는 Statement객체의 executeQuery()

메소드를 사용하고 내용을 변경하는 경우에는 executeUpdate() 메소드를 사용합니다 .

4-1

25

Chapter 3 :JDBC 란 ?

http://kimeunseok.com

Page 26: How to build a web server on Linux

http://kimeunseok.com

MySQL 사이트로 이동하여 , JDBC 를 다운로드 받습니다 .

4-1

26

Chapter 4 :JDBC 다운로드

• http://www.mysql.com/downloads/mirror.php?id=404190#mirrors

- zip 으로 된 파일을 다운받으시면 됩니다 .

http://kimeunseok.com

Page 27: How to build a web server on Linux

http://kimeunseok.com

다운로드 받은 JDBC 압축 파일을 열어 , jar 파일을 src 로 이동합니다 .

4-2

27

Chapter 4 :JDBC 경로설정

• nautilus 나 , cp 명령을 통해서 이동하면 됩니다 .

http://kimeunseok.com

Page 28: How to build a web server on Linux

http://kimeunseok.com

Export 명령을 통해 jar 파일을 클래스 패스에 등록합니다 .

4-3

28

Chapter 4 :JDBC 경로설정

• 클래스패스에 등록해야지만 , Java컴파일이 가능해집니다 .

http://kimeunseok.com

Page 29: How to build a web server on Linux

http://kimeunseok.com

Javap 를 통해서 해당 클래스가 정상적으로 등록되었는지 확인 할 수 있습니다 .

4-4

29

Chapter 4 :JDBC 등록확인

• Javap 는 클래스 파일을 역 어셈블하는 실행파일이라고 생각하시면 됩니다 .

• 이를 통해서 symbol not found 와 같은 에러를 해결할 수 있습니다 .

http://kimeunseok.com

Page 30: How to build a web server on Linux

http://kimeunseok.com

간단한 자바코드를 이용하여 , JDBC 에 정상적으로 연결되는지 확인합니다 .

4-5

30

Chapter 4 :JDBC 연결확인

• 해당 코드는 아래 주소에서 확인할 수 있습니다 .

- http://kimeunseok.com/jdbc.java

http://kimeunseok.com

Page 31: How to build a web server on Linux

http://kimeunseok.com

JSP 연동을 위해 , TOMCAT 폴더 , WEB-INF 에 lib 폴더를 생성 후 JAR 파일을 복사합니다 .

4-6

31

Chapter 4 :JSP 에 연결하기

• 역시나 nautilus 를 이용하여 생성 / 이동하시면 쉽게 할 수 있습니다 .

http://kimeunseok.com

Page 32: How to build a web server on Linux

http://kimeunseok.com

톰캣 서버에 적용을 위해서 서버를 재실행 합니다 .

4-7

32

Chapter 4 :톰캣 서버 재실행

• 서버 종료 명령

- catalina.sh stop

• 서버 시작 명령

- catalina.sh start

http://kimeunseok.com

Page 33: How to build a web server on Linux

http://kimeunseok.com

JSP 에 정상적으로 JBDC 가 연동되는지 확인하기 위해 위 코드를 사용합니다 .

4-8

33

Chapter 4 :JSP 확인 코드

• 위 코드를 ROOT 에 올린 후 웹에서 접속을 시도합니다 .

- http://IP:8080/jdbc.jsp

http://kimeunseok.com

Page 34: How to build a web server on Linux

http://kimeunseok.com

위와 같은 페이지가 나오면 정상적으로 연동 된 것 입니다 .

4-9

34

Chapter 4 :JSP 연동확인

• 만약 , 에러 발생 시 어떤 문제인지 메시지로 출력되도록 해두었으므로 , 해당 메시지에 따라

오류를 처리하시면 됩니다 .

http://kimeunseok.com

Page 35: How to build a web server on Linux

http://kimeunseok.com

Chapter 5

SAMPLE CODE :간단한 회원가입 프로그램

Page 36: How to build a web server on Linux

http://kimeunseok.com

1 기획할 것은 없지만…해보죠 !

이번에 해볼 예제 코드는 정말 정말 간단합니다 .

이때까지 공부해왔던 사람이라면 누구나 쉽게 할 수 있도록 해봤습니다 .

( 사실…하루만에 만들어야 하는 피티라… Bean 을 사용할 시간이 부족했습니다 .)

아무튼 하나의 입력 폼을 가지고 있고 , 이것은 아이디 , 패스워드 , 닉네임을 입력받을 것 입니다 .

그리고 이것을 POST 방식으로 데이터베이스와 연동된 페이지로 데이터를 보내고

해당 페이지에서 데이터를 데이터베이스에 저장하는 방식으로 코드를 작성해봤습니다 .

BEAN 의 경우 윈도우와 동일하게 , JAVA 파일을 컴파일 후 설치한 톰캣 폴더 , WEB-INF 에

Classes 라는 폴더를 만들고 Package 와 함께 넣어주면 됩니다 ^^

이 코드는 이 PPT 를 그대로 따라서 환경을 설정한 분이라면 모두다 정상적으로

처리되도록 코드를 작성하였으니 , 앞서 모든 환경을 제대로 구축하였는지 다시 한번

확인 후 챕터 5 를 따라 해주시기 바랍니다 .

5-1

36

Chapter 5 :기획이라도…

http://kimeunseok.com

Page 37: How to build a web server on Linux

http://kimeunseok.com

우선 터미널을 열고 , 관리자 권환을 획득합니다 .

5-2

37

Chapter 5 :관리자 권환획득

• su – 를 통해서 획득할 수 있습니다 .

http://kimeunseok.com

Page 38: How to build a web server on Linux

http://kimeunseok.com

Mysql –u root –p 로 접속하여 , mysql 데이터베이스를 사용하도록 설정합니다 .

5-3

38

Chapter 5 :테이블 생성하기1

• 새로운 데이터베이스를 만들어도 관계없습니다 .

http://kimeunseok.com

Page 39: How to build a web server on Linux

http://kimeunseok.com

간단하게 id, uid, passwd, nick 총 4 개의 컬럼만을 가지도록 합니다 .

5-4

39

Chapter 5 :테이블 생성하기2

• id 의 경우 auto_increment 를 적용하여 , 자동으로 증가하도록 합니다 .

http://kimeunseok.com

Page 40: How to build a web server on Linux

http://kimeunseok.com

/usr/local/tomcat/webapps/ROOT/WEB-INF 에 lib 폴더를 만들고 , JAR파일을복사하여 , JDBC 를 사용할 수 있도록 설정합니다 .

5-5

40

Chapter 5 :JAR 파일 복사하기

http://kimeunseok.com

Page 41: How to build a web server on Linux

http://kimeunseok.com

3 개의 데이터를 form 을 통해서 write.jsp 로 전달합니다 .

5-6

41

Chapter 5 :FORM 페이지 제작

• 기본적인 이야기입니다 .

http://kimeunseok.com

Page 42: How to build a web server on Linux

http://kimeunseok.com

3 개의 데이터를 Parameter 로 가져온 뒤 데이터베이스에 등록합니다 .

5-7

42

Chapter 5 :등록 페이지 제작

• id 의 경우 auto_increment 로 인해 자동으로 증가하니 데이터를 가져올 필요가 없습니다 .

http://kimeunseok.com

Page 43: How to build a web server on Linux

http://kimeunseok.com

위와 같이 총 3 개의 필드와 하나의 버튼으로 구성된 간단한 폼을 확인할 수 있습니다 .

5-8

43

Chapter 5 :테스트 하기(폼 )

• 등록이 안되는 경우 [email protected]으로 문의주세요 !

http://kimeunseok.com

Page 44: How to build a web server on Linux

http://kimeunseok.com

웹상에서도 정상적으로 등록된 것을 확인 할 수 있습니다 .

5-9

44

Chapter 5 :테스트 하기( 등록 )

• 등록이 안되는 경우 [email protected]으로 문의주세요 !

http://kimeunseok.com

Page 45: How to build a web server on Linux

http://kimeunseok.com

정상적으로 데이터가 등록된 것을 확인 할 수 있습니다 .

5-10

45

Chapter 5 :MYSQL 에서 확인

• 등록이 안되는 경우 [email protected]으로 문의주세요 !

http://kimeunseok.com

Page 46: How to build a web server on Linux

http://kimeunseok.com

Statement 와 ResultSet 을 통해 DB 에 있는 데이터를 가져올 수 있습니다 .

5-11

46

Chapter 5 :JSP 로 확인하기( 코드 )

• 등록이 안되는 경우 [email protected]으로 문의주세요 !

http://kimeunseok.com

Page 47: How to build a web server on Linux

http://kimeunseok.com

정상적으로 데이터가 등록된 것을 확인 할 수 있습니다 .

5-12

47

Chapter 5 :JSP 로 확인하기( 테스트 )

• 등록이 안되는 경우 [email protected]으로 문의주세요 !

http://kimeunseok.com

Page 48: How to build a web server on Linux

http://kimeunseok.com

감사합니다 .

작성자 김은석

웹사이트 http://kimeunseok.-

com

작성년월일 2011-11-24

소속 Dev, JANT