2007년 07월 15일
PHP로 RSS수집기를 만들어 보자. - 1 -
RSS에 대한 설명은 여기
PHP에 대한 설명은 여기 (좀 부실하지만...)
더욱 자세한 정보는 인터넷에 검색해 보시면 됩니다. -_-;
일단 PHP가 돌아가는 서버가 필요한데, 보통 Linux 서버에 설치하곤 합니다.
하지만 제가 쓰는 PC는 Windows XP이기 때문에 윈도우용 웹서버를 설치해야 하네요.
윈도우에는 IIS라는 웹서버 프로그램이 있지만, 여기서는 PHP는 동작하지 않고, ASP만 동작합니다. ASP도 PHP와 비슷하지만 웹 프로그램이 서버측에서 동작한다는 특징이 있습니다.
MS에서 ASP이용을 확산시키려고 하는데, 어처구니 없게도 윈도우 서버는 너무 비싸서 대부분 중소사이트와 개인용에서는 리눅스 서버를 이용합니다. 이런 점 때문에 PHP가 더욱 많이 쓰인다고 할 수 있습니다.
그래서 저도 PHP로 RSS 리더를 만들 생각입니다. (ASP(ASPX)로는 저번 학기 수업때 만들어 봤으니 패스)
가장 대표적인 웹사이트용 서버로는 아파치가 있는데, 간단하게 apm을 쓰도록 합시다. apm은 Apache PHP4 MySQL을 설치해주는 프로그램입니다. 웹사이트에 필요한 데이터 베이스는 많은 경우 MySQL를 쓰고(윈도우 서버에선 MSSQL) 웹 프로그램은 PHP로 합니다(윈도우 서버에선 ASP)
저도 잘 모르니까 이런 저런 실수 해가며 해 볼 계획인데, 이 포스팅을 하면서 공부하는 차원으로 하나씩 해보고 있습니다.
http://www.apmsetup.com
여기서 apm프로그램을 받고 설치합니다. 자세한 방법은 해당 사이트에 있으니 참고하세요.
설치 후 대충 "다음"만 클릭하면 다 설치됩니다. 무척 간단합니다!
기본 ID와 Password는 root와 apmsetup입니다. 인터넷에 돌릴 것이 아니라 학습용이므로 바꾸지 않겠습니다.
apm이 돌아가는(tray에 apm아이콘이 표시되는) 동안은 php파일을 직접 실행하여 테스트 할 수 있습니다. 굳이 웹 FTP에 올리고 테스트하는 번거로움을 덜어줍니다.
php및 웹 파일의 작업은 apm이 설치된 디렉토리의 htdocs폴더에 넣고,
브라우저에서 "http://localhost/파일.php"하면 동작합니다.
그리고 MySQL을 설정해보도록 합시다.
MySQL은 콘솔로 Query*를 보내 컨트롤이 가능합니다. 하지만 역시 어려우므로 간단한 phpMyAdmin을 이용합시다. tray의 apm아이콘을 우클릭하면 "MySQL 관리 (phpMyAdmin)"이 있습니다. 이것을 실행합니다.
브라우저에 phpMyAdmin이 뜨면 데이터 베이스(이하 DB)를 하나 만듭니다. 이것은 일종의 계정이라 생각하시면 됩니다. 여러 사람이 같은 DB를 쓰게되면 혼란이 발생하므로 필요에 따라 DB를 생성해서 나눠주게 되는 것입니다. 각 DB마다 ID와 Password를 부여할 수 있습니다. 자세한 사용방법은 "APM_SETUP 관리페이지"에서 확인 할 수 있습니다. (tray에서 우클릭)
이제 생성된 DB에 테이블*을 만듭니다. 이 테이블이 바로 우리가 흔히 쓰는 데이터 베이스의 핵심이라고 볼 수 있습니다. 데이터가 저장되는 공간이죠.
RSS 리더를 만들기 위해 먼저 RSS 주소 정보와 읽어온 Data를 넣기 위한 테이블을 생성합니다.
rssinfo와 rss라는 이름으로 테이블을 만드는데 각 테이블의 레코드는 아래와 같습니다.
rssinfo : id, blogurl, blogrss, keyword
rss : nickname, title, link, description, category, author, guid, pubDate
rss 테이블은 일반적인 RSS의 XML 데이터를 저장하기 위한 것이므로 쉽게 만들 수 있지만, rssinfo는 이용 용도에 따라 다르게 설정해야 합니다.
일단 RSS 주소들을 저장할 필드와 해당 RSS의 간단한 정보, 그리고 가장 중요한 수집할 기준입니다. 저는 keyword에 따라 필요한 RSS만 수집할 계획이므로 keyword 필드를 만들었습니다. 모든 RSS를 수집하려면 keyword를 비워두면 되겠지요.(여러가지 방법을 응용가능!)
레코드와 필드를 생성하는 방법 역시 굳이 설명하지 않겠습니다. 이 정도는 스스로 찾아서 해봅시다.
오늘은 여기까지!
* Query : '질의'라고도 하며, DB에 이것을 입력하면 필요한 데이터가 출력되거나, 해당 데이터가 가공된다. 그 외 기타 MySQL을 통제하는데 이용한다.
* Database ⊃ Table ⊃ Record ⊃ Field
Field : Record의 원소, (ex : 이름, 나이, 성별 등)
Record : 하나의 데이터 (ex : 한 사람의 데이터)
Table : 레코드의 집합 (ex : 여러 사람의 데이터)
DB : 테이블의 집합
PHP에 대한 설명은 여기 (좀 부실하지만...)
더욱 자세한 정보는 인터넷에 검색해 보시면 됩니다. -_-;
일단 PHP가 돌아가는 서버가 필요한데, 보통 Linux 서버에 설치하곤 합니다.
하지만 제가 쓰는 PC는 Windows XP이기 때문에 윈도우용 웹서버를 설치해야 하네요.
윈도우에는 IIS라는 웹서버 프로그램이 있지만, 여기서는 PHP는 동작하지 않고, ASP만 동작합니다. ASP도 PHP와 비슷하지만 웹 프로그램이 서버측에서 동작한다는 특징이 있습니다.
MS에서 ASP이용을 확산시키려고 하는데, 어처구니 없게도 윈도우 서버는 너무 비싸서 대부분 중소사이트와 개인용에서는 리눅스 서버를 이용합니다. 이런 점 때문에 PHP가 더욱 많이 쓰인다고 할 수 있습니다.
그래서 저도 PHP로 RSS 리더를 만들 생각입니다. (ASP(ASPX)로는 저번 학기 수업때 만들어 봤으니 패스)
가장 대표적인 웹사이트용 서버로는 아파치가 있는데, 간단하게 apm을 쓰도록 합시다. apm은 Apache PHP4 MySQL을 설치해주는 프로그램입니다. 웹사이트에 필요한 데이터 베이스는 많은 경우 MySQL를 쓰고(윈도우 서버에선 MSSQL) 웹 프로그램은 PHP로 합니다(윈도우 서버에선 ASP)
저도 잘 모르니까 이런 저런 실수 해가며 해 볼 계획인데, 이 포스팅을 하면서 공부하는 차원으로 하나씩 해보고 있습니다.
http://www.apmsetup.com
여기서 apm프로그램을 받고 설치합니다. 자세한 방법은 해당 사이트에 있으니 참고하세요.
설치 후 대충 "다음"만 클릭하면 다 설치됩니다. 무척 간단합니다!
기본 ID와 Password는 root와 apmsetup입니다. 인터넷에 돌릴 것이 아니라 학습용이므로 바꾸지 않겠습니다.
apm이 돌아가는(tray에 apm아이콘이 표시되는) 동안은 php파일을 직접 실행하여 테스트 할 수 있습니다. 굳이 웹 FTP에 올리고 테스트하는 번거로움을 덜어줍니다.
php및 웹 파일의 작업은 apm이 설치된 디렉토리의 htdocs폴더에 넣고,
브라우저에서 "http://localhost/파일.php"하면 동작합니다.
그리고 MySQL을 설정해보도록 합시다.
MySQL은 콘솔로 Query*를 보내 컨트롤이 가능합니다. 하지만 역시 어려우므로 간단한 phpMyAdmin을 이용합시다. tray의 apm아이콘을 우클릭하면 "MySQL 관리 (phpMyAdmin)"이 있습니다. 이것을 실행합니다.
브라우저에 phpMyAdmin이 뜨면 데이터 베이스(이하 DB)를 하나 만듭니다. 이것은 일종의 계정이라 생각하시면 됩니다. 여러 사람이 같은 DB를 쓰게되면 혼란이 발생하므로 필요에 따라 DB를 생성해서 나눠주게 되는 것입니다. 각 DB마다 ID와 Password를 부여할 수 있습니다. 자세한 사용방법은 "APM_SETUP 관리페이지"에서 확인 할 수 있습니다. (tray에서 우클릭)
이제 생성된 DB에 테이블*을 만듭니다. 이 테이블이 바로 우리가 흔히 쓰는 데이터 베이스의 핵심이라고 볼 수 있습니다. 데이터가 저장되는 공간이죠.
RSS 리더를 만들기 위해 먼저 RSS 주소 정보와 읽어온 Data를 넣기 위한 테이블을 생성합니다.
rssinfo와 rss라는 이름으로 테이블을 만드는데 각 테이블의 레코드는 아래와 같습니다.
rssinfo : id, blogurl, blogrss, keyword
rss : nickname, title, link, description, category, author, guid, pubDate
rss 테이블은 일반적인 RSS의 XML 데이터를 저장하기 위한 것이므로 쉽게 만들 수 있지만, rssinfo는 이용 용도에 따라 다르게 설정해야 합니다.
일단 RSS 주소들을 저장할 필드와 해당 RSS의 간단한 정보, 그리고 가장 중요한 수집할 기준입니다. 저는 keyword에 따라 필요한 RSS만 수집할 계획이므로 keyword 필드를 만들었습니다. 모든 RSS를 수집하려면 keyword를 비워두면 되겠지요.(여러가지 방법을 응용가능!)
레코드와 필드를 생성하는 방법 역시 굳이 설명하지 않겠습니다. 이 정도는 스스로 찾아서 해봅시다.
오늘은 여기까지!
* Query : '질의'라고도 하며, DB에 이것을 입력하면 필요한 데이터가 출력되거나, 해당 데이터가 가공된다. 그 외 기타 MySQL을 통제하는데 이용한다.
* Database ⊃ Table ⊃ Record ⊃ Field
Field : Record의 원소, (ex : 이름, 나이, 성별 등)
Record : 하나의 데이터 (ex : 한 사람의 데이터)
Table : 레코드의 집합 (ex : 여러 사람의 데이터)
DB : 테이블의 집합
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- APM(Apache+PHP+MySQL)설치 및 설정(스크린캐스트) by 정목
- phpMyAdmin 설치 및 기본 사용(스크린캐스트) by 정목
- APM_Setup에서 MySQL 변경 by Asllan
- APM_Setup을 이용한 zb5 설치 by Asllan
- APM설치 결과 by Ego君
# by | 2007/07/15 12:25 | 공부 | 트랙백 | 덧글(2)







암튼... 두 번째 글이 기다려집니다. ^^
그러니까 제가 만드려고 하는 것은 RSS를 수집해서 게시판 형식으로 보여주는 것입니다.
수집기라는게 더 맞겠네요. 수집은 페이지 로드시 발생하고, 그 간격은 임의로 정할 수 있습니다. 빨리 다음 글을 쓰도록 하겠습니다. 전에 만들어 봤던거라서 중간에 포기하진 않을겁니다.