さくらのVPS512に OpenPNE をインストール

さくらインターネットさんの「さくらのVPS512」にオープンソースのSNSであるOpenPNEをインストールすることにしました。

OpenPNEには、現在開発が進められている「OpenPNE3」と新機能の開発がストップしている「OpenPN2」の2種類があります。私は、小窓という機能が有り、Amazonの商品情報や YouTubeの動画など他のサービスのコンテンツをSNS内の日記や自己紹介、コミュニティ掲示板に URLや独自のタグを貼付けるだけで、簡単に表示することができる「OpenPN2」の方をインストールすることにしました。

現在、オープン制(※参加者の招待なしでも登録できます)でお試し運用をしておりますので、興味の有る方は、ログインページにある【新規登録】ボタンからSNS(Oh!HappySNS@VPS)へのご参加をお願いいたします。

以下は、私が行ったインストール手順です。

「OpenPNE-2.14.9」ファイルの設置

  • OpenPNE公式サイト(http://www.openpne.jp/) より「OpenPNE-2.14.9.zip」をダウンロードしてきました。
  • ダウンロードした「OpenPNE-2.14.9.zip」をサーバールート(/var/www/html/)にアップロードしました。
  • サーバーにSSH接続して、アップロードした「 OpenPNE-2.14.9.zip」を解凍し、解凍されて出来たフォルダ名を「OpenPNE-2」に変更しました。
    # cd /var/www/html/
    # unzip OpenPNE-2.14.9.zip
    # mv ./OpenPNE-2.14.9/ ./OpenPNE-2
    
  • 「/OpenPNE-2/config.php.sample」をコピーして「/OpenPNE-2/config.php」を作成し、作成した「config.php」の内容を下記のように編集しました。
    • OPENPNE_URLに【新しいサブドメイン(ohhappy.info)】を指定しました。
      // Web上の絶対パス(URL)(最後にスラッシュを付けてください)
      define('OPENPNE_URL', 'http://ohhappy.info/');
      
    • DBサーバ設定を下記のように行いました。
      // DBサーバ設定
      $GLOBALS['_OPENPNE_DSN_LIST']['main'] = array(
      'dsn'  => array(
        'phptype'  => 'mysql',
        'username' => 'データベース名',
        'password' => 'データベースパスワード',
        'hostspec' => 'localhost',
        'database' => 'データベース名',
        'new_link' => false,
        ),
      );
      
    • DB暗号化キーに適当なASCII文字列を設定しました。
      // DB暗号化キー(56バイト以内のASCII文字列)
      define('ENCRYPT_KEY', 'angoukakeywokaku');
      
    • メール用のドメイン(ohhappy.info)を設定しました。
      // 携帯メール投稿の宛先などのドメイン名に使われる
      define('MAIL_SERVER_DOMAIN', 'ohhappy.info');
      
    • Amazon Product Advertising API の設定を行いました。
      // 2009年8月15日以降、Amazon の仕様変更の影響により
      // AMAZON_ACCESS_KEY_ID と AMAZON_SECRET_ACCESS_KEY を設定しないと、
      // レビュー機能がご利用いただけなくなりますのでご注意ください。
      // https://affiliate-program.amazon.com/gp/flex/advertising/api/sign- in-jp.html  から取得
      //
      define('AMAZON_ACCESS_KEY_ID', 'xxxxxxxxxxx');
      // Amazon Secret Access Key
      define('AMAZON_SECRET_ACCESS_KEY', 'xxxxxxxxxxxxxxxxxxxx');
      
  • 続いて、「/var/www/html/ohhappy.info」フォルダのシンボリックリンクを下記のように作成しました。
    # ln -s ./OpenPNE-2/public_html/ ./ohhappy.info
    
  • 続いて、「/var/www/html/OpenPNE-2/var」フォルダ以下のパーミッションを777に変更しました。
    # cd /var/www/html/OpenPNE-2/
    # chmod -R 0777 var/*
    
  • 最後に「OpenPNE-2.14.9.zip」を削除してファイルの設置を完了しました。
    # rm OpenPNE-2.14.9.zip
    

データベースと基本データの作成

  • phpMyAdminにログインして、データベース「openpne2」を作成しました。
  • 続いて、phpMyAdminで下記データベーステーブルをデータベース「openpne2」にインポートしました。
    /OpenPNE-2.14.9/setup/sql/mysql41/install/install-2.14-create_tables.sql
    
  • 同じく、phpMyAdminで下記データベースデータをデータベース「openpne2」にインポートしました。
    /OpenPNE-2.14.9/setup/sql/mysql41/install/install-2.14-insert_data.sql
    

OpenPNEセットアップモジュールの実行

  • ブラウザで【新しいサブドメイン(ohhappy.info)】のセットアップURL(/?m=setup)にアクセスしました。
    
    http://(新しいドメイン)/?m=setup
    
    
  • SNS名、初期メンバー、管理用アカウントを設定しました。
  • 設定終了後、以下の表示がされ、インストールが完了しました。
  • OpenPNEセットアップ
     セットアップが完了しました。
     より詳細なサイトの初期設定は、管理画面の「SNS設定変更」メニューから行うことができます。
        * ログインページへ
        * 管理画面へ
     Powered by OpenPNE v2.14.9
    

OpenPNEログインページへのアクセス

  • ブラウザでOpenPNEログインページのURLにアクセスし、下記の各種設定を行いました。
    • 秘密の質問と秘密の質問の答え
    • BlogのURL
    • プロフィール変更:ニックネーム他

OpenPNE管理画面へのアクセス

  • ブラウザでOpenPNE管理画面のURLにアクセスし、SNS設定などを行いました。

CRONジョブの設定

  • /etc/crontab に以下を記述しました。
    # crontab -e
    
    00   6 * * * /bin/sh /var/www/html/OpenPNE-2/bin/tool_send_dairy_news.cron     /var/www/html//OpenPNE-2/bin/ /usr/bin/php > /dev/null
    00   6 * * * /bin/sh /var/www/html/OpenPNE-2/bin/tool_send_birthday_mail.cron  /var/www/html/OpenPNE-2/bin/ /usr/bin/php > /dev/null
    00   6 * * * /bin/sh /var/www/html/OpenPNE-2/bin/tool_send_schedule_mail.cron  /var/www/html/OpenPNE-2/bin/ /usr/bin/php > /dev/null
    */20 * * * * /bin/sh /var/www/html/OpenPNE-2/bin/tool_rss_cache.cron           /var/www/html/OpenPNE-2/bin/ /usr/bin/php > /dev/null
    
  • cronファイルに実行権限の付加しました。
    $ chmod 0755 bin/*.cron
    

以上でOpenPNEのインストールと設定を終了としました。まずは、OpnePNEでどんなことが出来るのかを自分で試して見たいと思います。


SNSとは(IT用語辞典 e-Wordsより)

人と人とのつながりを促進・サポートする、コミュニティ型のWebサイト。友人・知人間のコミュニケーションを円滑にする手段や場を提供したり、趣味や嗜好、居住地域、出身校、あるいは「友人の友人」といったつながりを通じて新たな人間関係を構築する場を提供する、会員制のサービスのこと。人のつながりを重視して「既存の参加者からの招待がないと参加できない」というシステムになっているサービスが多いが、最近では誰も自由に登録できるサービスも増えている。

Tags: