社長BLOG
ssh無しでOpenPNE3をインストールするには?(課題編)
- 2011-01-11 (火)
- 社長BLOG
OpenPNE3はソーシャルプラットフォームとして、かなり優れたソフトウエアなのだけど、
一方で、OpenPNE2や他のオープンソースソフトウエアに比べてインストールが難しくなっている。
現在ではsshが使えないレンタルサーバではインストールが一切できない状況だ。
「ssh?そんなん入っているに決まってるでしょ」なんて甘えていては、「OpenPNEですべての組織を進化させる」ミッションを果たすことができない。
sshなし、すなわちFTPとWEBブラウザのみでインストールするためにはどうしたら良いだろうか?
これを簡単に考えると
「sshでログインして行う作業を、install.phpなどのPHPから走らせればいいんじゃないか?」
と思いつく。以下のようなファイルを作って、WEBから実行すればいい。これができればかなり簡単にsshを回避できる。
※これは、OpenPNE mini版(実験中)を前提にしたコマンド。
自分の手元の環境では、条件さえ揃えればこれでうまくいく。
しかし、レンタルサーバなどのあらゆる環境で動作させるためには、以下のような課題をクリアしなければならない。
パーミッション問題
OpenPNE3は通常symfonyコマンドでインストールを行う。このsmyfonyコマンドがファイルやフォルダのパーミッションを変更してくれるので、正しくインストールできる。逆に言えばパーミッションが設定可能な状況じゃないと、インストール出来ない。FTPとWEBブラウザでのインストールの場合、あらかじめ手動でパーミッションを変更しておかなければならない。
レンタルサーバにはパーミッション(実行権限)について大体2種類ある
・FTPのユーザー権限と、WEB実行のユーザー権限が同じ
この場合は、パーミッション問題は発生しない。
・FTPのユーザー権限と、WEB実行のユーザー権限が異なる
この場合は、パーミッション問題が発生する。あらかじめFTPにより、手動でパーミッションを変更する必要がある。
symfonyコマンド実行問題
レンタルサーバによっては、セキュリティ対策のためPHPプログラムからシステムのコマンドを実行する、execが許可されていないことがある。
この場合は、symfonyコマンドによるインストール自体を大幅に見なおさなければならない。
今回の記事は(課題編)とした。次の(解決編)でssh無しインストールについての答えを出したい。