coreserverにOpenPNE3.6.3をインストールする、けど失敗した

coreserverにopenPNEをインストールします。
手順は、実際に進めた手順通りに記載しています。

ちなみに、この記事は、
coreserverにOpenPNE3.6.0をインストール(速度はともかくxreaも同手順で可)
を見ながら進めました。

○ドメインを取得する
既に取得済みであったり、取得済みのサブドメインなどで運用する場合は不要です。
ここでは、このサイトのドメインであるpenlaboのサブドメイン、openpen.penlabo.netで運用することにします。

○ドメインのDNSを設定する
ドメインのDNS設定画面から、openpne.penlabo.netの参照先に、coreserverのipアドレスを指定します。
ここでは、s102鯖を使用しますので、202.172.28.103を指定します。
DNSの設定が浸透するまで、多少の時間がかかります。

○coreserverのドメイン情報(Web)を設定する
DNSを設定したら、鯖側で受信できるように設定する必要があります。
coreserverの管理メニューにログインして、メニューのドメインウェブから設定します。
先程設定したドメイン名、ここではopenpne.penlabo.netを入力し、DNSの逆引きができないとエラーになるので強制にチェックを入れて送信します。

○coreserverのFTPを設定する
サブFTPアカウントに、ドメイン情報と同じドメインで設定を追加します。
ここではユーザ名を、サブドメインと同じopenpneに設定します。
ディレクトリはさっき設定したドメイン情報を候補から選択すると自動で入力されます。
パスワードは任意で入力して、送信します。

○SSHを使用する準備をする
coreserverでSSHを使用するには、リモート側の登録が必要です。
ホスト情報登録より、SSH登録を行います。
一度登録すると30日間有効になりますが、都度登録するようにしておくといいでしょう。

○SSHで接続する
Windowsから操作しているので、SSHクライアントにはPuTTYを使用します。
接続先にs102.coreserver.jpを指定して、ログイン名、パスワードを入力してログインします。
さっきの登録が反映されるまで多少の時間が必要かもしれません。

○ソースのURIを確認する
openPNEのダウンロードページに移動します。
zipファイルを使用しますので、リンク先のURIを取得してください。
主に右クリックからコピーできると思います。
リンク先は最新版になっているはずですが、3.xであれば、おそらくこちらの解説の方法でインストールできるはずです。
現時点では、記事のタイトル通りの3.6.3です。

○ソースをダウンロードする
SSHからwgetを利用してソースをダウンロードします。
ダウンロード先は$HOMEです。
一度、public_htmlの下層でインストールしたら失敗したので、ルートでやります。
リンク先がSSLで取得に失敗する場合は、「–no-check-certificate」スイッチを追加します。

> wget --no-check-certificate https://nodeload.github.com/openpne/OpenPNE3/zipball/OpenPNE-3.6.3
--2012-05-13 21:32:50--  https://nodeload.github.com/openpne/OpenPNE3/zipball/OpenPNE-3.6.3
Resolving nodeload.github.com... 207.97.227.252
Connecting to nodeload.github.com|207.97.227.252|:443... connected.
WARNING: cannot verify nodeload.github.com's certificate, issued by `/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance CA-3':
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 200 OK
Length: 11101788 (11M) [application/octet-stream]
Saving to: `OpenPNE-3.6.3'

100%[=======================================>] 11,101,788  2.07M/s   in 7.1s

2012-05-13 21:33:00 (1.48 MB/s) - `OpenPNE-3.6.3' saved [11101788/11101788]

○ソースを確認する
lsでファイルを確認します。
ダウンロードに成功していたら、拡張子なしのzipファイルが作成されています。

> ls
OpenPNE-3.6.3

○zipファイルを解凍する
SSHからunzipを実行します。
大量にプロセスログが表示されますので、転記は省略します。

> unzip OpenPNE-3.6.3

プロセス完了後に、lsで確認します。

> ls
OpenPNE-3.6.3  openpne-OpenPNE3-079f26e

このままでは扱いづらいので、リネームします。

> mv openpne-OpenPNE3-079f26e openpne3.6

○設定を開始する
zipファイルを解凍した中にconfigディレクトリがあるので、移動します。

> cd openpen3.6/config

設定ファイルのサンプルがあるので、リネームコピーします。

cp OpenPNE.yml.sample OpenPNE.yml
cp ProjectConfiguration.class.php.sample ProjectConfiguration.class.php

○DBを準備する
データベースを用意します。
coreserverの管理メニューから、データベースを選択します。
データベースはMySQLを使用します。
ユーザ名はわかりやすいようにopenpne、文字コードはunicode、パスワードを設定して、ラジオボタンを選択して作成で送信します。
少し時間を空けてから、phpMyAdminでログインできることを確認します

○OpenPNEのインストールを開始する
システムのルートに移動します。

cd ../

OpenPNEはsymfonyを使用しています。
以下のように、インストールコマンドを実行します。

php symfony openpne:install

以降、問答形式でプロセスが進みます。

データベースを選択します。
MySQLしかサポートしていませんので、mysqlを入力します。

データベースのユーザ名を入力します。
さっき登録したものを入力します。

パスワードを入力します。
さっき登録したものを入力します。

ホストを入力します。
ローカルホスト(localhost)です。

ポート番号を入力します。
空のままで大丈夫です。

データベース名を入力します。
coreserverでは、ユーザ名と同じです。

ソケットパスを入力します。
空のままで大丈夫です。

最期に入力を確認してきますので、問題なければYを入力します。
全てのプロセスが完了する前に、時間がかかりすぎてKilledされるかもしれません。
その場合は、何度かinstallを繰り返せばそのうち完了します。

> installer installation is completed!

ちなみに、失敗した一回目は4回目で完了しましたが、2度目はやり直すことなく一回で完了しました。

○シンボリックリンクを設定する
インストールが完了すると、システムのルートはopenpne3.6/web/になります。
このままではWebでアクセスするときにhttp://openpne.penlabo.net/web/と不恰好になるので、http://openpne.penlabo.net/でアクセスできるようにシンボリックリンクを設定します。

ln -s $HOME/openpne3.6/web $HOME/public_html/openpne.penlabo.net

○.htaccessを設定する
coreserverの場合、safemodeで動かさないと制限があるため、MIMEを設定します。

AddHandler application/x-httpd-php5cgi .php

モジュールも切ります。

mod_gzip_on Off

○動作を確認する
お疲れ様でした。
これでインストールは完了です、と思いきや、openpne.penlabo.netにアクセスすると404になります。
もしやとおもい、openpne.penlabo.net/webにアクセスすると、ログイン画面が表示されました。
どうも、ちゃんとwebの中を見に行けてないみたいなのですが、シンボリックリンクの設定はこれであっているはずです。

さて、どうしたものか…