OpenPNEをFreeBSD上にインストールするメモ。
OpenPNEはオープンソースのSNSソフトウェアでOpenSocialに対応しています。
今回もさくらVPS上のFreeBSDにインストールしました。
さくらVPS上のFreeBSD環境については「FreeBSD on さくらVPS」に記載している通りです。
また、今回は「openpne.force.pdns.jp」というサブドメインで動かしてみます。
OpenPNEを動作させるのに必要なアプリケーションは
- Apache
- PHP
- MySQL
となります。
インストールの流れはOpenPNE公式の「OpenPNE3.6 セットアップ手順」にあるとおりです。
・PHP-PDO関連のインストール
OpenPNEはMySQLへのアクセスにPDOを使用しているようです。
PDOとはPHP Data Objectの略で、いわゆるO/Rマッパーを指します。簡単に言ってしまうと、データベースの差異をPDO側で吸収するので、どのデータベース上でも動作可能なPHPのコードを書ける(はず)と言う事になります。
FreeBSDではphp-extensionsをインストールした時にPDOをインストールするか指定できます。/usr/ports/lang/php5-extensionsに移動してmake configした際に
[X] PDO PHP Data Objects Interface (PDO)
のように表示されていればPDOモジュールはインストールされているはずですが、チェックが入っていなければ、make configでチェックを入れてportupgrade -fするか、
portinstall -f databases/php5-pdo
を実行してPDOモジュールをインストールします。
また、PDOのMySQLモジュールはphp5-extensionsではインストール出来ないので
portinstall -f databases/php5-pdo_mysql
を実行してPDOのMySQLモジュールもインストールします。
・pearのインストール
必須では無いのですが折角なのでpear(PHP Extension and Application Repository )を入れてしまいます。
pearのインストールは
portinstall -f devel/pear
を実行してください。
pearの設定内容表示は
pear config-show
を実行します。
実行すると
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels auto_discover <not set>
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy <not set>
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir /usr/local/bin
PEAR documentation directory doc_dir /usr/local/share/doc/pear
PHP extension directory ext_dir /usr/local/lib/php/20090626
PEAR directory php_dir /usr/local/share/pear
PEAR Installer cache directory cache_dir /tmp/pear/cache
PEAR configuration file cfg_dir /usr/local/lib/php/pear/cfg
directory
PEAR data directory data_dir /usr/local/share/pear/data
PEAR Installer download download_dir /go-pear/download
directory
PHP CLI/CGI binary php_bin /usr/local/bin/php
php.ini location php_ini <not set>
--program-prefix passed to php_prefix <not set>
PHP's ./configure
--program-suffix passed to php_suffix <not set>
PHP's ./configure
PEAR Installer temp directory temp_dir /go-pear
PEAR test directory test_dir /usr/local/share/pear/tests
PEAR www files directory www_dir /usr/local/lib/php/pear/www
Cache TimeToLive cache_ttl 3600
Preferred Package State preferred_state stable
Unix file mask umask 22
Debug Log Level verbose 1
PEAR password (for password <not set>
maintainers)
Signature Handling Program sig_bin /usr/local/bin/gpg
Signature Key Directory sig_keydir /usr/local/etc/pearkeys
Signature Key Id sig_keyid <not set>
Package Signature Type sig_type gpg
PEAR username (for username <not set>
maintainers)
User Configuration File Filename /root/.pearrc
System Configuration File Filename /usr/local/etc/pear.conf
のような感じでpearの設定内容が表示されます。
OpenPNEはsymfonyフレームワークを使用しています。インストールする場合はこちらにあるように
pear channel-discover pear.symfony-project.com
pear install symfony/symfony-1.4.8
を実行する事で導入できます。
・OpenPNEの入手
OpenPNE公式サイトからOpenPNEのzipアーカイブを入手します。今回はOpenPNE3.6β6をインストールする予定なので「openpne-OpenPNE3-OpenPNE-3.6beta6-0-g75c2d80.zip」を取得しました。
取得したzipアーカイブは任意のディレクトリに展開しておきます。今回は/usr/local/www/の下にopenpne.force.pdns.jpというディレクトリを作成してその下にzipアーカイブをコピーしてから
tar zxvf openpne-OpenPNE3-OpenPNE-3.6beta6-0-g75c2d80.zip
として展開しました。
展開すると「openpne-OpenPNE3-75c2d80」のようなディレクトリが作成されますが、ディレクトリ名が少し長いので
mv openpne-OpenPNE3-75c2d80 openpne36b6
としてリネームしています。
・OpenPNE用データベースの作成
rootユーザでMySQLにアクセス。
# mysql -p
Enter password:ルートユーザのパスワードを入力
データベースを操作するユーザがいなければ先に作成します。
insert into mysql.user set user="ユーザ名", password=password("パスワード"), host="localhost";
insert into mysql.user set user="ユーザ名", password=password("パスワード"), host="127.0.0.1";
flush privileges;
次にデータベースを作成します。
create database データベース名 ;
ユーザに作成したデータベースのアクセス権を設定します。
GRANT ALL PRIVILEGES ON データベース名.* TO ユーザ名@localhost IDENTIFIED BY 'パスワード';
GRANT ALL PRIVILEGES ON データベース名.* TO ユーザ名@127.0.0.1 IDENTIFIED BY 'パスワード';
・OpenPNEのインストール
OpenPNEのインストールを始めます。
OpenPNEの展開先に移動します。
cd /usr/local/www/openpne.force.pdns.jp/openpne36b6
展開先に移動したらOpenPNEの設定ファイルを作成します。設定ファイルはサンプルとして用意されているのでサンプルファイルをコピーします。
cp ./config/OpenPNE.yml.sample ./config/OpenPNE.yml
cp ./config/ProjectConfiguration.class.php.sample ./config/ProjectConfiguration.class.php
コピー後、OpenPNE.ymlファイルを修正します。最低でも
- base_url
- mail_domain
の2箇所を修正します。おいらの場合は
base_url: "http://openpne.force.pdns.jp"
mail_domain: "force.pdns.jp"
こんな感じに修正しました。
次にOpenPNEのインストーラを起動します。
./symfony openpne:install
実行すると対話形式で幾つかの情報を入力します。
- Choose DBMS:
OpenPNEで使用するデータベースを指定します。
選択肢にはmysql/pgsql/sqliteがありますがmysql以外は未サポートですので、無条件に「mysql」と入力します。 - Type database username
MySQLに設定したデータベースにアクセスするためのユーザ名を入力します。 - Type database password (optional)
データベースにアクセスするユーザのパスワードを入力します。 - Type database hostname
MySQLが稼動しているホストを指定します。OpenPNEと同一のサーバでMySQLが動作しているのであれば「localhost」と入力します。 - Type database port number (optional)
MySQLにTCPで接続する際のポート番号を入力します。今回は未指定でOKなのでリターンキーを押します。 - Type database name
OpenPNE用に用意したMySQLのデータベース名を入力します。 - Type database socket path (optional)
データベースにソケット経由で接続する場合は、ソケットファイルのパスを入力します。今回は未指定でOKなのでリターンキーを押します。
上記情報を入力した後、確認のため入力内容が表示されます。
The DBMS : mysql
The Database Username : ユーザ名
The Database Password : ******
The Database Hostname : localhost
The Database Port Number :
The Database Name : データベース名
The Database Socket :
この内容でインストールしても良いか
Is it OK to start this task? (Y/n)
と聞かれますので「Y」を入力してリターンキーを押してください。
>> installer start clean install
>> sfPearFrontendPlugin Attempting to discover channel "plugins.openpne.jp"...
>> sfPearFrontendPlugin downloading channel.xml ...
>> sfPearFrontendPlugin Starting to download channel.xml (796 bytes)
>> sfPearFrontendPlugin .
(snip)
>> link+ /usr/local/www/openpne.force.pdns.jp/openpne36b6/web/sfProtoculousPlugin
>> plugin Configuring plugin - sfSymfonyTemplatingViewPlugin
>> installer installation is completed!
のようにメッセージが表示されていきます。
途中エラーが表示されず、最後に「Installer Installation is completed!」と表示されれば、OpenPNEのインストール作業は完了です。
・ドメインの設定
今回OpenPNEは専用のFQDN(openpne.force.pdns.jp)用を割り当てたので、DNSに対してopenpneをAレコードで追加しておきます。
openpne IN A サーバのIPアドレス
当然の事ですがお使いの環境に合わせてDNSに登録してください。シリアルの変更を忘れずに行った後、namedを再起動させます。
・Apacheの設定
Apacheの設定は「さくらVPSでJoomla! 1.5.21 Japanese を動かしてみた。」あたりも参照してください。
ここではApacheの該当サブドメイン用設定ファイルのみ記述しておきます。(/usr/local/etc/apache22/Includes/openpne.force.pdns.jp.conf)
<VirtualHost *:80>
ServerAdmin 管理者のメールアドレス。
DocumentRoot /usr/local/www/openpne.force.pdns.jp/openpne36b6/web
ServerName openpne.force.pdns.jp
LimitRequestBody 1048576
UserDir disabled
HostNameLookups ON
ErrorLog /usr/local/www/openpne.force.pdns.jp/log/httpd-error.log
CustomLog /usr/local/www/openpne.force.pdns.jp/log/httpd-access.log combined
<Directory /usr/local/www/openpne.force.pdns.jp/openpne36b6/web>
AllowOverride All
Allow from all
Order allow,deny
</Directory>
</VirtualHost>
設定が終わったら
/usr/local/etc/rc.d/apache22 restart
してApacheを再起動しておきます。
・OpenPNEの動作確認
ユーザログイン画面は「http://URL/」にアクセスします。
初期ユーザはメールアドレス「sns@example.com」、パスワード「password」となります。
不正アクセス防止のため、最低限パスワードは変更しておきましょう。常用するのであれば、「sns@example.com」アカウントは削除するべきでしょう。
管理画面は「http://URL/pc_backend.php」にアクセスします。
管理者でログインするにはアカウント「admin」、パスワード「password」となります。
管理画面が表示されれば、OpenPNEのインストールは終了です。不正アクセス防止のため、パスワードは必ず変更しておきます。
インストールサンプルは「http://openpne.force.pdns.jp/」で参照できますが、パスワード等を変更しているのでログイン画面しか見れませんのであしからず。
コメント