SNS構築(OpenPNE)

最終更新日: 2014.02.19

<<トップページ <<新着情報 <<サイト内検索 <<CentOSで自宅サーバー構築 <<Scientific Linuxで自宅サーバー構築

■概要

OpenPNEmixi(ミクシィ)のようなSNS(ソーシャルネットワーキングサイト)を構築する。

Webサーバー+PHPWebサーバー間通信内容暗号化MySQLデータベースが構築済であること


■MySQL設定

OpenPNEでは、各種データをMySQLデータベース上で管理するため、OpenPNE用のデータベースと、当該データベースへのアクセス用ユーザをMySQLに登録する必要がある。
ここでは、データベース名をopenpne、データベースアクセス用ユーザ名をopenpneとしてMySQLに登録する。
[root@fedora ~]# mysql -u root -p ← MySQLへrootでログイン
Enter password:  ← MySQLのrootパスワード応答
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 78 to server version: 5.0.22

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> grant all privileges on openpne.* to openpne@localhost identified by 'パスワード'; ← openpneユーザ作成
Query OK, 0 rows affected (0.52 sec)

mysql> create database openpne; ← openpneデータベース作成
Query OK, 1 row affected (0.08 sec)

mysql> exit ← ログアウト
Bye

■OpenPNEインストール

(1)php-mysqlインストール
OpenPNEはPHPで動作するため、PHPからMySQLデータベースへアクセスするためのパッケージであるphp-mysqlをインストールする
[root@fedora ~]# yum -y install php-mysql ← php-mysqlインストール

(2)OpenPNEインストール
[root@fedora ~]# yum -y install php-gd php-xml ← OpenPNEに必要なPHPパッケージインストール

[root@fedora ~]# wget "http://github.com/openpne/OpenPNE3/zipball/OpenPNE-3.4.4.1" ← OpenPNEダウンロード

※最新版のURLはダウンロードページで確認すること

[root@fedora ~]# unzip openpne-OpenPNE3-OpenPNE-3.4.4.1-0-g6458374.zip ← OpenPNE展開

[root@fedora ~]# mv openpne-OpenPNE3-6458374/ /var/www/OpenPNE ← OpenPNE展開先ディレクトリを所定の場所へリネーム移動

[root@fedora ~]# rm -f openpne-OpenPNE3-OpenPNE-3.4.4.1-0-g6458374.zip ← ダウンロードしたファイルを削除

[root@fedora ~]# cd /var/www/OpenPNE/config/ ← ディレクトリ移動

[root@fedora config]# cp ProjectConfiguration.class.php.sample ProjectConfiguration.class.php
 ← ProjectConfiguration.class.phpをサンプルよりコピー

[root@fedora config]# cp OpenPNE.yml.sample OpenPNE.yml ← OpenPNE.ymlをサンプルよりコピー

[root@fedora config]# vi OpenPNE.yml ← OpenPNE.yml編集
base_url: "http://fedorasrv.com/openpne/" ← base_url変更

mail_domain: "fedorasrv.com" ← mail_domain変更

[root@fedora config]# cd ← ホームディレクトリへ戻る

[root@fedora ~]# /var/www/OpenPNE/symfony openpne:install ← OpenPNEインストール

  Choose DBMS:
  - mysql
  - pgsql (unsupported)
  - sqlite (unsupported)

mysql ← mysql応答

  Type database username

openpne ← データベースユーザ名応答

  Type database password (optional)

******** ← データベースユーザパスワード応答

  Type database hostname

localhost ← localhost応答

  Type database port number (optional)

 ← 空ENTER

  Type database name

openpne ← データベース名応答

  Type database socket path (optional)

/var/lib/mysql/mysql.sock ← MySQLソケット名応答

  The DBMS                 : mysql
  The Database Username    : openpne
  The Database Password    : ******
  The Database Hostname    : localhost
  The Database Port Number :
  The Database Name        : openpne
  The Database Socket      : /var/lib/mysql/mysql.sock

  Is it OK to start this task? (Y/n)

y ← y応答
・
・
・
>> installer installation is completed! ← インストール成功

■Apache設定

[root@fedora ~]# vi /etc/httpd/conf.d/openpne.conf ← OpenPNE用Aapche設定ファイル作成
Alias /openpne /var/www/OpenPNE/web
<Directory "/var/www/OpenPNE/web">
    AllowOverride All
</Directory>

[root@fedora ~]# vi /var/www/OpenPNE/web/.htaccess ← .htaccess編集
  RewriteBase /openpne ← 変更

[root@fedora ~]# /etc/rc.d/init.d/httpd reload ← Apache設定反映
httpd を再読み込み中:                                      [  OK  ]

以下はバーチャルホストでSSL=httpsでアクセスできるようにする場合のみ
[root@fedora ~]# vi /etc/httpd/conf.d/ssl.conf ← WebサーバーSSL設定ファイル編集
#   Per-Server Logging:
#   The home of a custom SSL log file. Use this when you want a
#   compact non-error SSL logfile on a virtual host basis.
CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteLog "logs/rewrite_log"
      RewriteLogLevel 0
      RewriteCond %{HTTP_HOST} !fedorasrv.com$
      RewriteCond %{REQUEST_URI} !^/openpne/ ← 追加
      RewriteRule ^/(.*)?$ http://%{HTTP_HOST}/$1 [L,R]
    </IfModule>
</VirtualHost>

[root@fedora ~]# /etc/rc.d/init.d/httpd reload ← Apache設定反映
httpd を再読み込み中:                                      [  OK  ]
※/var/log/httpd/error_logに以下のようなエラーメッセージが出力されてOpenPNEへアクセスできない場合の対処
[Tue Nov 24 14:05:52 2009] [error] [client XXX.XXX.XXX.XXX] PHP Warning: require_once(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /var/www/OpenPNE/lib/include/PEAR.php on line 569
[Tue Nov 24 14:05:52 2009] [error] [client XXX.XXX.XXX.XXX] PHP Fatal error: require_once(): Timezone database is corrupt - this should *never* happen! in /var/www/OpenPNE/lib/include/PEAR.php on line 569
[root@fedora ~]# vi /etc/php.ini ← PHP設定ファイル編集
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
;date.timezone =
date.timezone = Asia/Tokyo ← 追加

[root@fedora ~]# /etc/rc.d/init.d/httpd reload ← Apache再起動

■OpenPNE確認

https://サーバー名/openpne/でトップページへアクセス
メールアドレス・・・sns@example.com
パスワード・・・password
「ログイン」ボタン押下
ログインできることを確認
「設定変更」⇒「PCメールアドレス設定」でメールアドレスを変更すること
「設定変更」⇒「パスワード設定」でパスワードを変更すること

https://サーバー名/openpne/pc_backend.phpで管理ページへアクセス
アカウント名・・・admin
パスワード・・・password
「ログイン」ボタン押下
ログインできることを確認
「SNS設定」で管理者メールアドレスを変更すること
「管理画面設定」⇒「Change Password」でパスワードを変更すること



■関連コンテンツ




▲このページのトップへ戻る

プライバシーポリシー