WordPress、GNUボードリンケージ

WordPress、GNUボードリンケージ

現在、KilhonetのWordPressとGnuboardにリンクされています。

サイトをさらに安定させた後、私はソースを放しようとしました、そして、私はGnuboardユーザーのリクエストによって作られたものをアップロードしました。 (http://sir.co.kr/bbs/board.php?bo_table = cm_free&wr_id=741180)

将来的には、WordPressから生成されたページはhead.phpとhead.phpのtail.phpから直接ロードされ、現金処理とコンテンツ領域は上下に分割され、出力されていると思います。

  • WordPressメンバーDBに基づいて、Gnuboardにリンクされており、BBSの投稿を書くときにWordPressのログインに従ってアクションを実行します。
  • gnuboardをgnu.kilho.netとして使用しています。 したがって、WordPressでサブドメインとCookieを共有できるはずです。
    (Kilhonetは「ルートクッキー」と呼ばれるプラグインを使用しました)
  • WordPressとGnuboardは各サーバーによって操作されます。 WordPressを使用してサーバーIPを変更し、WordPressでドメイン情報を変更します。
  • 以下のソースを、WordPressがインストールされているサーバーで「WP-SSO.PHP」として保存します。
<?
	/********************************************************
	 * WordPress SSO(Single Site On) Helper Object 
	 * by Oh Kilho (http://www.kilho.net)
	 *******************************************************/

	include 'wp-load.php';
	
	$wp_cookie = $_COOKIE['wordpress_logged_in_'.md5(get_site_option('siteurl'))];
	$wp_user = $_POST['user'];
	$wp_pass = $_POST['pass'];

	if($wp_user&&$wp_pass)
	{
		if(user_pass_ok($wp_user, $wp_pass))
			$user = get_user_by('login', $wp_user);
	}else{
		if($wp_cookie)
		{
			wp_set_current_user(wp_validate_auth_cookie($wp_cookie, 'logged_in'));
			$user = wp_get_current_user();
		}
	}

	if($user)
	{
		echo '<id-->'.$user->user_login.'';
		echo '<nick>'.$user->display_name.'</nick>';
		echo '<email>'.$user->user_email.'</email>';
		echo '<url>'.$user->user_url.'</url>';
	}
?>

  • Nubordがインストールされているサーバーの「/Extend/」ディレクトリの「WP-SSO.PHP」として以下のソースを保存します。
<?
 /*
  Gnuboard拡張モジュール:WordPress SSO処理
  */
 $ wp_server_domain = 'wordpressインストールドメイン';  // xxx.com
 $ wp_server_addr = 'wordpressインストールされたサーバーIP';  // xxx.xxx.xxx.xxx
 $ wp_server_path = 'wordpressインストールされたパス';  //ルートの場合は「/」で書きます

 $ wp_cookie_name = 'wordpress_logged_in _'。md5( 'http://'。$ wp_server_domain);
 $ wp_cookie_value = $ _cookie [$ wp_cookie_name];

if ($_SESSION['ss_mb_id']))
 {
 //あなたが総管理者である場合、Gnuboard自体を見る権限を提供する必要があります。
 if(!$ wp_cookie_value && $ is_admin!= 'super')
 {
 // Lee Ho -Kyungの提案コード
 session_unset();  //すべてのセッション変数を破壊しません
 session_destroy();  //セッションをリリースします

 //ページを実行します
 echo '<script type = "text/javascript"> windocy.location.reload();  </script> ';
 出口;
 } それ以外 {
 エコー「接続が失敗しました」;
 出口;
 }
 }
 ?>

Comments (12)

  • 김수명 to 김수명" aria-label=" to 김수명">

    제가 찾고 있는 내용이네요?? 답변 꼭 부탁드립니다.

    제가 운영하고 있는 워드프레스 K-BOARD 게시판에

    학교서버에 등록되어 있는 계정을 가지고 있는 사람만

    글을 쓰게 하고 싶습니다. 도움 부탁드립니다.

    답변 꼭 부탁드립니다.

    2017년 May 19일 at 4:10 pm
    • 오길호 to 오길호" aria-label=" to 오길호">

      학교 서버의 계정을 관리할 수 없다면 불가능한 방법입니다. 현재 적은 내용은 워드프레스를 기본 베이스로 하여 타 솔루션과 연동하는 구조라 말씀하신 내용과는 다른것 같습니다 ^^

      2017년 May 20일 at 3:52 pm
  • 맑은빛 to 맑은빛" aria-label=" to 맑은빛">

    감사합니다 🙂

    2012년 July 21일 at 1:58 pm
  • cshop to cshop" aria-label=" to cshop">

    오길호님께 질문을 드릴려고 로그인을 하려니 로그인이 되지 않습니다. 게시판에 글을 쓸수가 없어서 죄송하지만 이곳에 남깁니다.

    제가 5월달에 등록해서 받았던 비번은

    사용자 이름: cshop
    비밀번호: x6rnn9DBwHCi

    이렇게 되는데 로그인도 되지 않고 새 비번도 제 이메일로 발송되지 않네요…. 이메일 주소를 바꿔서 등록을 해도 새로 등록도 되지 않습니다.

    저는 몇년전부터 개인 홈피를 WP 로 쓰고 있었어서 오길호님께서 5월달에 연동 소스를 공개해 주셔서 매우 반가웠는데, 사용은 하지 않았었습니다. 아직 쓸일이 없었어서….

    오늘 설치해보니 작동이 되긴 되는데, 아후.. 제가 한국어가 서툴러서…

    http://hackya.com/dtd/extend/wp-sso.php 여기가 그누보드

    출력되는 것도 없고, 에러메세지도 뜨지 않습니다.

    http://hackya.com/blog/wp-sso.php 여기가 WP 입니다.

    testtesteonsalt@gmail.com (test 가 ID)

    여기서는 로그인 된 value (test) 가 두번 출력됩니다. ㅠㅠ

    저는 css 하고 .js/jQuery 밖에 할줄 아는게 없어서요…. php 는 아주 아주 기초적인 것 밖에 모릅니다. 그래서 이걸 어떻게 해결해야 할지도 모르겠네요….

    저는 예제와 달리 그냥 같은 웹사이트에서 블로그와 DTD (그누보드) 를 돌리고 있어서.. 이런 현상이 일어나는 것 같은데 (제 생각에는), 도움을 부탁드려도 될까요? 꾸벅….

    php 는 아주 기본적인 상식밖에 없는 관계로 제가 해결할 수 있는 부분이 아니라서… ㅠㅠ

    2012년 June 24일 at 11:26 am
    • 오길호 to 오길호" aria-label=" to 오길호">

      길호넷을 서비스 받는 웹호스팅에서 메일 발송이 차단 된 듯하여 해당 업체에 문의를 해두었습니다.

      hackya.com 에서 로긴을 하고 확인을 해보려고 헀는데.
      회원가입이 되질 않아서 확인을 못하고 있습니다.

      비밀번호를 메일로 드렸으니, 좀 더 자세하게 질문게시판에 글 남겨주세요

      2012년 June 24일 at 11:38 am
      • cshop to cshop" aria-label=" to cshop">

        네. 보내주신 로그인 비번을 받아서 질문을 다시 올려 놓았습니다.

        감사합니다.

        2012년 June 25일 at 1:32 am
    • 오길호 to 오길호" aria-label=" to 오길호">

      현재 메일발송 서버를 Google SMTP 를 이용하도록 하였습니다.
      사용중인 웹호스팅과 별개로 메일을 발송할 수 있도록 하였으니, 비밀번호 찾기를 하시면 정상적으로 됩니다.
      (모르고 있었는데, 감사합니다 ^^)

      2012년 June 24일 at 11:47 am
  • MWP to MWP" aria-label=" to MWP">

    안녕하세요. SIR에서 링크를 타고 왔습니다.
    워드프레스와 그누 연동 하는데, 조금 어렵네요..ㅠ
    제가 실력이 미천해서 어느 부분 설정이 잘못 되었는지 좀 봐주시면 정말 감사하겠습니다.

    1. gnuboard 폴더 내에 adm,bbs…죽 업로드하고, 서브도메인을 괄호와 같이 생성했습니다. (mydomain.com/gnuboard = gnuboard.mydomain.com)

    2. 워드프레스와 그누보드가 설치된 서버ip는 똑같습니다. DB는 별도로 신규 생성하지 않고, 기존의 DB에 함께 설치되어 있습니다.
    – 다시말하면, 그누보드 세팅시에 DB명을 기존 DB명과 동일하게 설치했습니다.

    3. 워드프레스에서 [root Cookie] 플러그인을 설치하고, 설정을 Allow Cookies to go across All Subdomains에 체크를 했습니다.

    4. 워드프레스가 설치된 FTP루트(wp-admin,wp-content… 폴더 및 파일들이 있는 루트)에 윗부분에 정리하신 wp-sso.php를 생성하여 업로드하였습니다.

    5. 그누보드가 설치된 /gnuboard/extend 폴더에 아래부분에 정리하신 wp-sso.php를 생성하여 업로드하였습니다.

    – 수정 설정한 부분
    $wp_server_domain = ‘mydomain.com’; //워드프레스가 설치된 도메인
    $wp_server_addr = ‘mydomain.com의 ip’; // 워드프레스가 설치된 서버의 IP

    위와 같이 했을 때, 현상이 이렇습니다.
    워드프레스에서 로그인 후에, mydomain.com/gnuboard 또는 gnuboard.mydomain.com 으로 접속했을 때,
    로그인이 되어 있지 않는데, 관련팁을 좀 주시면 감사하겠습니다.

    2012년 May 8일 at 1:36 am
    • 오길호 to 오길호" aria-label=" to 오길호">

      mydomain.com/wp-sso.php 로 접속하였을때 404 에러가 뜨지 않는지 확인부탁드립니다.
      그외 말씀 하신대로 하셨다면, 정상적으로 작동이 되야 될텐데 이상하네요.
      (참, 추가 질문은 “질문게시판” 에 올려주세요)

      2012년 May 8일 at 2:53 am
    • 그누테스트 to 그누테스트" aria-label=" to 그누테스트">

      질문게시판을 보고 해결하였습니다.

      오길호님 연동프로그램 정말 감사하네요. ㅎㅎ

      2012년 July 31일 at 12:11 am
  • cshop to cshop" aria-label=" to cshop">

    정말 감사합니다. ^^

    2012년 May 6일 at 1:21 am
  • 전진 to 전진" aria-label=" to 전진">

    감사합니다. ^^

    2012년 May 5일 at 6:29 pm

Leave a Reply

이메일 주소는 공개되지 않습니다. (* 질문, 건의사항 등은 "질문게시판"을 이용해주세요)