こんにちは。
手嶋屋 技術サポートから、OpenPNEの運用・カスタマイズに役立つ情報をお届けします。
本日は、公式SNSでお問い合わせの多い OpenPNE-3.8.x のインストール方法 をお届けします。
OpenPNEのインストール方法については、OpenPNEのパッケージにも同梱されています。
https://raw.githubusercontent.com/openpne/OpenPNE3/OpenPNE-3.8.19/doc/ja/OpenPNE3_Setup_Guide.txt
OpenPNEのインストールはコマンド実行により行うため、コマンドを入力するツールが必要になります。
Windowsの場合は、TeraTerm や PuTTY など、Macの場合は、ターミナル や iTerm などを利用してください。
今回の手順は下記の環境にて動作確認しています。
ブラウザで http://sns.example.com にアクセスすると OpenPNE のログイン画面が表示され、初期アカウント情報でログインができる
Debian 8.2
Apache 2.4.10 * mod_rewrite 使用
PHP 5.6.14
MySQL 5.5.46
OpenPNE設置ディレクトリ: /var/www/sns.example.com
OS X 10.10.5
iTerm2
Firefox 45.0.2
3.8.19
opCommunityTopicPlugin 1.1.2.1
操作は、クライアント環境の iTerm2 上で行っています。
サーバにはSSHログインを行っておきます。
$ cd /var/www $ wget https://codeload.github.com/openpne/OpenPNE3/legacy.zip/OpenPNE-3.8.19 $ unzip OpenPNE-3.8.19 $ mv openpne-OpenPNE3-d3ed39e sns.example.com $ cd sns.example.com
設定ファイルは .sample ファイルをコピーします。
.sample ファイルは削除しないようにしてください。
OpenPNE は、sampleファイルの内容も参照することがあります。
$ cp config/ProjectConfiguration.class.php.sample config/ProjectConfiguration.class.php $ cp config/OpenPNE.yml.sample config/OpenPNE.yml $ vi config/OpenPNE.yml
OpenPNE.yml 変更箇所
7 base_url: "http://sns.example.com"
15 mail_domain: "sns.example.com"
$ php symfony openpne:install
下記の内容を聞かれるのでそれぞれ入力します。
Choose DBMS: - mysql - pgsql (unsupported) - sqlite (unsupported)
使用する DBMS の種類を入力します。
ここでは、「mysql」と入力します。
Type database username
データベースのユーザ名を入力します。
Type database password (optional)
データベースのパスワードを入力します。
Type database hostname
データベースサーバのホスト名を入力します。
Type database port number (optional)
データベースのポート番号を入力します。未入力の場合は DBMS ごとのデフォルト値が使用されます。
Type database name
データベース名を入力します。
ここでは例として「openpne3819」と入力します。
Type database socket path (optional)
データベース接続に使用するソケットのパスを入力します。
ホスト名とポート番号を使用して接続するため、特に指定する必要はありません。
The DBMS : mysql The Database Username : openpne The Database Password : ****** The Database Hostname : localhost The Database Port Number : The Database Name : openpne3819 The Database Socket : Is it OK to start this task? (Y/n)
最後に入力した内容の確認をします。問題なければ「y」を入力します。
インストール中に下記のエラーメッセージが表示されます。
>> doctrine SQLSTATE[HY000]: General error: 1008 Can't drop database 'openpne3819'; database doesn't exist. Failing Query: "DROP DATABASE openpne3819"
openpne:install タスクでは、クリーンインストール時にいったんデータベースの削除を行います。
このエラーメッセージは、指定したデータベースが存在していなかった場合にデータベースの削除ができないよというエラーメッセージです。
ですので、今回は特に対応は必要ありません。
下記のメッセージが表示されれば、インストール完了です。
>> installer installation is completed!
今回は、opCommunityTopicPlugin 1.1.2.1 をインストールします。
$ php symfony opPlugin:install opCommunityTopicPlugin -r 1.1.2.1
※ ご注意
PHP5.5以上の環境で opPlugin:install タスクにてプラグインをインストールする場合、下記のエラーメッセージが表示されます。
>> sfPearFrontendPlugin could not extract the package.xml file from >> sfPearFrontendPlugin "/var/www/sns.example.com/cache/.pear/opCommunityTopicPlugin-1.1.2.1.tgz" >> sfPearFrontendPlugin Download of >> sfPearFrontendPlugin "http://get.openpne.jp/opCommunityTopicPlugin-1.1.2.1.tgz" >> sfPearFrontendPlugin succeeded, but it is not a valid package archive >> sfPearFrontendPlugin Invalid or missing remote package file Plugin "opCommunityTopicPlugin" installation failed:
これは、プラグインの展開に失敗しているため表示されています。
この問題についての詳細は、https://redmine.openpne.jp/issues/3918 を確認してください。
この問題についての修正はまだリリースされていませんので、今回はチケットに記載の修正内容に従って Archive_Tar を更新したのち再度プラグインのインストールを行います。
下記のメッセージが表示されれば、インストール完了です。
>> opPluginManager Installation successful for plugin "opCommunityTopicPlugin" >> opPluginManager Installing web data for plugin
モデルとデータベースの更新をします。
$ php symfony openpne:migrate --target=opCommunityTopicPlugin
モデルとデータベースの更新中に下記のエラーメッセージが表示されます。
Failed to download plugin list.
これは、OpenPNE-3.6.x のころにはあった バンドルプラグインリスト が、OpenPNE-3.8.x では存在しないため表示されるメッセージですので、特に問題はありません。
Apache のVirtualHostの設定に下記の設定を追加します。
今回の環境では、/etc/apache2/sites-enabled/virtual.host.conf に追加します。
<VirtualHost *:80>
ServerName sns.example.com
VirtualDocumentRoot /var/www/sns.example.com/web
<Directory "/var/www/sns.example.com/*">
Options FollowSymLinks ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Apacheを再起動します。
$ sudo apachectl restart
クライアント環境のブラウザから「http://sns.example.com/」にアクセスして OpenPNE 3 のログイン画面が表示されれば OK です。
初期アカウントはセットアップガイドにある通り、sns@example.com / password となっています。変更して使ってください。
また、管理画面は「http://sns.example.com/pc_backend.php」へアクセスすれば表示されます。
初期アカウントはセットアップガイドにある通り、admin / password となっています。変更して使ってください。
ログイン画面が表示されたものの、アカウント情報を入力してログインボタンを押下すると「Not Found」が表示されることがあります。
この場合は、mod_rewrite を有効にします。
$ sudo a2enmod rewrite
Apacheを再起動します。
$ sudo apachectl restart
画面操作中に下記のメッセージが表示されることがあります。
現在、サーバが混み合っているか、メンテナンス中です。 ご迷惑をおかけいたしますが、しばらく時間を空けて再度アクセスしてください。 Currently, our service is too busy or is under maintenance. We're sorry and please retry accessing later.
このメッセージが表示された場合、サーバでは何らかの問題が発生しています。
この問題を解決するために下記を確認します。
1. pc_frontend_dev.php 経由でアクセスする
「http://sns.example.com/community/1」を表示しようとした際に、問題が発生した場合は、
「http://sns.example.com/pc_frontend_dev.php/community/1」にアクセスします。
画面上にエラーメッセージが表示されるので、解決のための手助けにしてください。
2. apacheのエラーログを確認する
apacheのエラーログにもエラーメッセージが出力されていますので、解決のための手助けにしてください。
今回の情報は以上です。
■公式SNS
https://sns.openpne.jp/
OpenPNEユーザーの皆さんが気軽にコミュニケーションができるQ&Aサイトです。
どなたでも無料で利用できます。(facebook、google、twitter の各アカウントでログインが可能です。)
■技術サポートサービス
http://support.pne.jp/
OpenPNE開発元の手嶋屋が提供しているサービスです。
有料になりますがこちらにお申し込みいただきますと弊社のOpenPNE開発エンジニアがOpenPNEの様々なトラブルについて、調査・サポートさせていただきます。
今後とも、OpenPNE 技術サポートをよろしくお願いいたします。
OpenPNEの専門家があなたのSNSをサポート