채팅서버 + 클라이언트 + 관리자 ( Ver 0.2 ) > 그누보드5 플러그인

그누보드5 플러그인

그누보드는 다양한 기능을 추가하기 쉽습니다.

채팅서버 + 클라이언트 + 관리자 ( Ver 0.2 ) 정보

채팅서버 + 클라이언트 + 관리자 ( Ver 0.2 )

첨부파일

phprocks_chat_0.2.1.zip (350.2K) 1366회 다운로드 2014-07-10 09:16:12

본문

PHPROCKS 채팅 Ver 0.2

1. 특징 소개

  기존의 채팅 소스에서 귓속말 기능 및 관리기능을 추가 하였습니다.

  관리기능이라고 해서 특별한 것은 없고 지난 대화 기록 조회, 삭제, 관리자 추가 정도만 있습니다.

  관리기능이 추가되어 데이터 베이스(mysql) 연결이 있어야 정상 작동 합니다.


 

2. 설치 방법

    A. 소스 코드를 다운로드 받습니다.
    github - git clone https://github.com/yonggyo00/phprocks_chat
 
    github 사용이 여의치 않을 경우 여기에 첨부된 소스를 다운로드 하세요.
 
    B. 필수 모듈을 설치 합니다.
        node.js 모듈을 말합니다.
        node.js가 설치 되어 있지 않다면, http://www.nodejs.org에서 다운 받아 설치 하세요.

        forever 모듈을 제외한 모든 모듈은 package.json에 이미 기입 되어 있습니다. 따라서 아래의 방법
        으로 필수 모듈을 설치 하세요.
        npm install
        npm install -g forever
 
    C. 사용할 데이터 베이스를 생성하고 chat.sql 스키마 파일을 포팅 합니다.
        기본적으로 데이터 베이스는 chat으로 되어 있습니다. 만약 다른 데이터베이스 이름으로 생성한다면,
        server.js와 admin/database.php의 database 정보를 변경하세요.
       
        # CREATE DATABASE chat CHARATER SET UTF8 COLLATE UTF8_GENERAL_CI;
        # exit;
        $ mysql -u사용자명 -p비밀번호 chat < chat.sql
     
 
    D. server.js의 파일에서 db 연결 정보와 채팅 서버 포트, 주소를 변경합니다.
        var connection = mysql.createConnection({
            host: '127.0.0.1',  // DB 주소
            user : 'user',    // 데이터 베이스 사용자
            password : 'password',  // 데이터 베이스 비번
            insecureAuth: true
        });
 
          // 만약 데이터베이스가 chat이 아니라면 chat 부분을 사용하시는 데이터 베이스로 변경하세요.
          connection.query("USE chat"); 
   
        var io = require('socket.io')(3000);  // 원하는 포트로 변경합니다.
     
    E. chat.php / chat_room.php
        localhost:3000으로 설정 되어 있는 부분을
        server.js가 실행될 서버의 주소(같은 서버가 될 수도 있습니다.)와 포트로 변경하세요.
 
    F. admin/database.php
        define('HOST', 'localhost');  // DB 주소
        define('USER', 'user');  // 사용자
        define('PASS', 'password');  // 비밀번호
        define('DB', 'chat');  // 데이터 베이스
     
 
    G. 설정이 완료되면 server.js를 forever 모듈을 사용하여 실행 합니다.
        forever 모듈을 사용하는 이유는 server.js가 어떤 에러에 의해 다운이 되더라도 계속 재 실행 되도록 하기 위해서 입니다.
        forever start server.js
 



 
3. 각 홈페이지의 사용자와 연동 방법.

    클라이언트 스크립트 chat.php와 chat_room.php를 직접 수정하여 커스터마이징 하는 경우
    $in['username']과 $in['nickname']을 변경 해 주시면 됩니다.
    그누보드의 경우 $_member 배열이나 $_SESSION에서 로그인 정보를 가져올 수 있으므로 그 부분으로 변경하시면 됩니다.
 
    직접 수정 하지 않고 로그인 사용자 연동하는 경우 iframe을 사용하는 경우가 가장 좋을 듯 합니다.
    이런 경우 다음과 같이 쿼리 스트링 형태로 로그인 사용자 정보를 넘겨 주면 됩니다.
      서버주소/chat.php?username=아이디&nickname=닉네임




4. 초기 관리자 계정
    chat.sql에는 관리자 계정 및 비밀번호가 설정 되어 있습니다.

    모든 설치 완료후 관리자화면  접속시 admin/123456 을 사용하셔서 접속하시면 됩니다.

    비밀번호 변경은 관리자 페이지에서 하실 수 있습니다.

 

5.  데모 사이트
 채팅 사이트  http://syboard.phprocks.com/chat/chat.php
 채팅 관리자 http://syboard.phprocks.com/chat/admin
 
 관리자 테스트 계정
 admin / 123456

 좀더 자세한 설명은  http://phprocks.com/?module=post&action=view&seq=428 에서 확인 하시면 됩니다.



P.S
데모 사이트의 어드민의 경우 데이터베이스 인코딩에 조금 문제가 있는 듯 합니다. 최신 버전(mysql 5.6 버전에서는 인코딩 깨짐 없이 잘 작동 합니다.)

회원 로그인 정보(아이디, 닉네임)와 연동하여 활용하는 부분은 http://phprocks.com 에 적용해 놓았습니다.

다만 이 부분은 로그인 했을 떼 나타나는 상단 탭에 있으므로 이부분 확인을 원하시는 경우 아래의 테스트 계정으로 사이트 접속해 주세요.

테스트 계정
아이디 : rockyroad
비밀번호 : 4394018

감사합니다.
추천
14

댓글 전체

연동하시는데 어려움이 있으신 경우 시간이 될때 도와 드리도록 하겠습니다.

현재 테스트 서버를 운영 중이긴 한데.. 아마 장기간 운영을 하게될 지도..
node.js 호스팅을 따로 해야 되서 어려우신 분들은 iframe으로 다음과 같이 연동 하세요.

<iframe src='http://syboard.phprocks.com/chat/chat.php?username=아이디&nickname=닉네임'></iframe>
과 같은 형식으로 연동해 쓰셔도 됩니다.
꼭 iframe으로 하지 않고도 일반 웹페이지에서 위와 같은 주소로 접속하셔도 됩니다.
안녕하세요,
해당 소스는 독립적으로 운영되는 서버를 구축하는 소스이고, 웹페이지(웹소켓)에서의 채팅을 목적으로 만든거라 아무래도 네이트온으로는 연결하는 건 불가능할 것 같습니다.
아.. UI가 깔끔하니 꼭 써보고 싶은데.. 어떤 형식으로 출력이 되는건지 모르겠네요..
그리고 제가 잘은 몰라서 그러는데요. 서버까지 관리하는 거라면 별도의 서버 호스팅이
필요한건가요? 일반적인 웹호스팅으로도 사용 가능한지요..
혼자서 따라 설치하는 데에는 무리가 있습니다. 설명의 절반은 그 의미를 정확히 모르겠네요.ㅎ
도움을 부탁드려도 될지.....
안녕하세요,
위 채팅 소스에서 서버쪽 (server.js)는 node.js기반으로 돌아가게 됩니다.
단독 서버를 운영하신다면 nodejs.org에서 node.js를 설치하시고 서버쪽을 실행 시키시면 되며, 어드민 페이지의 경우 apache 서버로 돌아가므로 apache 서버쪽에서 실행 시키면 됩니다.

보통은 단독 서버를 운영하지 않기 때문에 cafe24.com에서 node.js 호스팅을 따로 하시는 것이 합리적일 듯 합니다.
가장 싼 node.js 호스팅 서비스는 월 500원 정도로 나와 있는 듯 합니다.

감사합니다.
효과음까지 넣어서 적용시켜 봤는데 G5 회원연동도 잘되고 기똥차게 잘 돌아가네요. 너무 감사합니다.
계속 발전이 있었으면 좋겠습니다.
코스모스님.. 혹시 설치 도움 말씀 좀 부탁드려도 될까요. 어찌저찌 출력은 구현된거 같은데..
카페24 node.js 호스팅의 원격저장소 연결설정을 못하겠네요..;;
서버를 호스팅하지않고 local에서 돌릴 경우에는 server.js와 admin폴더의 database.php파일에 host설정을 127.0.0.1이나

localhost으로 설정을 하나요?

그렇게 하면 local에서는 잘 접속이 되는데 다른 피씨에서는 마치 forever start server.js로 서버를 실행 안

하고 접속한 것처럼 방만들기 나오고 방에 들어가면 접속자 안보이고 글를 쓰서 엔터쳐도 대화창으로 안올라가고 그러네요.

어떻게 해야하죠? 그리고 그누보드5에서 대화방을 만드는데 그누보드5 멤버랑 닉네임을 연동하는게 잘 안되네요.

$in['username']와 $in['nickname']를 $_member나 $_ $_SESSION로 연동하라고 하셨는데 $member['mb_id'] ,

$mb['mb_id'] ,$SESSION['mb_id'] , $member[md_nick'] , $mb['md_nick'] , @SESSION[md_nick']  다 해봤는데 안 되네요.

일주일 전만 해도 홈페이지 만들줄도 모르던 사람이라서 보고 따라하기가 힘듭니다.

쉽게 좀 갈쳐주시면 감사하겠습니다.
안녕하세요, 현재 버전 0.3을 개발 중에 있습니다. 기존에 많든 소스에 부족한 점이 많다고 생각합니다. 곧 새로운 버전을 공개 할 생각 이므로 이 소스 보다는 새 소스를 이용해 주세요. 감사합니다.
전체 504
그누보드5 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT