質問: ホームページ作成について 仕事でとある企業のHPをPHPで作成する事になりました。 自分は今まで、Windowsプログラム(C#, Delphi)でのシステム構築が主で PHPは基本的な事(GET, POST)ぐらいしか分かりません。 以下のような要件が出ており、どのように作成していったよいか分からず 困っております。 ・トップページに会員ID,パスワードの入力欄を設けて会員がログインすると 会員専用のポータルサイトが見れる。 ・会員専用ポータルサイトからは会員限定のブログと会員限定の動作が見れる。 また会員限定のオンラインショップで買い物ができる。 自分で調査した範囲では、ブログはWORLDPRESSを使用する、 オンラインショップではEC-CUBEなどのパッケージを使用すればできそうな 感じですが、どのように作成していったら良い分からず困っております。 抽象的な質問ですが、よろしくお願いします。
回答: まとまりのない文章ですが、以下の通り質問に回答します。 1.CMSについて Webサイトは、本サイトをMODx Evolution(以下)、会員専用サイトをNetCommonsで構築するのが良いと思います。 * MODX 日本公式サイト * NetCommons2公式サイト MODxは静的なWebサイト(HTML,CSS,画像ファイルで構成された、CMSを使わないWebサイト)の構築を行った経験があれば、CMSを用いたWebサイトを簡単に構築することができます。 また、実行可能なPHPコードを部品化できる「スニペット」やHTMLやCSS等を部品化できる「チャンク」といった機能、そしてMODxの機能にPHPでアクセス可能なAPIが用意されていますので、これらを駆使することで高度なWebサイトを構築することもできます。 他のCMSと比べて自由度は高く、また圧倒的に学習コストは低いといえます。 なお、会員管理機能はありませんので、会員向けコンテンツに関する機能は、自分で実装するか、後述するNetCommons等の会員管理機能を有する(あるいはプラグインで実装可能な)CMSを利用する必要があります。認証情報は共通で良いと言う場合は、簡単なPHPスクリプトあるいはhtaccess等でBasic認証を実装する程度でも良いかもしれません。 NetCommonsは標準で高機能な会員管理機能を持ち、細かなロールを設定することが可能ですので、会員専用サイトの構築に適しています。もちろん、NetCommonsだけでWebサイト一式を作成することもできます。また、極端ですがHTML,CSS,PHPを理解していなくても、NetCommonsであればデザインはともかくCMSを使ったWebサイトを簡単に構築できます。(NetCommons自体、文教をターゲットとしたCMSですので、小中高校のWord,Excelが使える程度の先生でも使えるような操作性となっていますので、操作は非常に直感的かつ簡単です) Wordpressをお勧めできない理由は、テーマ(テンプレート)を構築するための技術習得にコストがかかるためです。Wordpressに用意されている標準テーマでは、基本的にはBlogサイトの構築しかできません。したがって、自分でテーマファイルを作成するか、BizVektor()等のテーマををカスタマイズして対応するかという感じになります。ただし、それでもHTML,CSS,PHPを理解していることは当然として、Wordpress独自の関数等をある程度理解しておく必要はありますので、これらの理解が浅い状態でWordpressによるWebサイト構築は無謀であるといえます。 なお、どうしてもWordpressで構築されたいという場合(勉強を兼ねて進められたい場合)は、以下の書籍を参考に進められるのが良いでしょう。 * !WordPressユーザーのためのPHP入門 はじめから、ていねいに。](http://ecx.images-amazon.com/images/I/51tWda%2BGjML._SL160_.jpg "WordPressユーザーのためのPHP入門 はじめから、ていねいに。")WordPressユーザーのためのPHP入門 はじめから、ていねいに。 + 作者: 水野史土 + 出版社/メーカー: エムディエヌコーポレーション + 発売日: 2014/03/25 + メディア: 単行本 + この商品を含むブログ (1件) を見る * ![WordPressをちゃんと使うための教科書WordPressをちゃんと使うための教科書 + 作者: たにぐちまこと + 出版社/メーカー: マイナビ + 発売日: 2013/08/28 + メディア: 単行本(ソフトカバー) + この商品を含むブログ (1件) を見る それから、会員情報を扱うサイトを構築される場合は、WebサイトのHTTPS(SSL)対応は必ず行ってください。HTTPはデータが平文でやりとりされるため、IDやパスワード、個人情報等が経路上で盗聴される可能性があります。Facebook等のSNSやAmazon等のECサイトを見ていただければ、全体あるいは一部(認証時等)HTTPSであることが分かると思います。 なお、証明書は以下のサイトで購入可能です。とりあえずWebサイトを暗号化したいという目的であれば990円/年の証明書で十分です。 * 年額790円(税抜)からの格安SSL証明書サービス SSLボックス 2.オンラインショップ(EC)の構築 オンラインショップについては、カラーミーショップ等の外部サービスを利用した方が良いです。カラーミーショップであれば、ご所望の会員制のオンラインショップを構築できます。 カラーミーショップ - ネットショップ運営サービス 外部サービスを利用することで、また、クレジットカード番号や会員情報等のセンシティブな情報の管理、SSL接続(暗号化接続)、OSのセキュリティパッチ適用やシステムに不具合や脆弱性があった場合の修正、サーバ管理(死活監視等)等々、オンラインショップの運営に掛かる手間を大幅に軽減することができます。 EC-CUBE等をサーバにインストールして管理することについては、セキュリティ対応やサーバのメンテナンスをしっかり行える自信がなければお勧めできません。また、セキュリティ対策には結構コストがかかります。 基本的な対策の1つとして、WAF(Webアプリケーションファイアウォール)の導入が挙げられますが、商用製品で定評のあるJP-SecureのSiteGuardLite()は、導入時費用が252,000 円(税別)です。これが高いと感じる(セキュリティに金をかけられない)場合は、自前での運用はおすすめしません。 Webシステムの怖いところは、システムの利用者全員が善意の利用者でないということです。システムの脆弱性を突いて会員情報やクレジットカード番号等を窃取しようと試みるような悪意のあるアクセスもあり、それはあなたが思っている以上に多いものと考えてください。 また、もしシステムの脆弱性を突かれて情報が漏洩した際には必ず責任問題が発生します。最悪の場合、損害賠償請求されることもあります。反面、外部サービスを利用すればそのような問題を回避できる(外部サービス運営側の責任とすることができる)、あるいは自力で管理する場合と比べて軽減できるでしょう。そのようなリスクを冒してまで、また高いコストをかけて自力でオンラインショップを管理するのが適当であるか考えてみてください。 3.Webサーバーについて Webサーバについては、共有サーバや専有型のマネージドサーバを利用するのが良いでしょう。 * レンタルサーバー 高速・高機能・高安定性の【エックスサーバー】 * レンタルサーバー|さくらインターネット - 無料お試し実施中 専用サーバやVPS等はサーバ管理が必要になりますので、自分でサーバを管理できる自信がなければお勧めしません。(CMSやPHPのスキルとは別に、RHEL,CentOSあるいはUbuntu等のLinuxサーバのスキル、LAMP環境の構築および運用に関するスキルが必要になります)また、サーバ管理にかけられるメンテナンス費用を確保できない場合は、専用サーバやVPSは選択肢から外れるでしょう。 4.Webサイトの運用について 当該案件ですが、クライアントとのメンテナンス契約はどのようになっていますか? クライアントにも理解してもらう必要はありますが、CMSはインストールして終わりではありません。継続的なCMSのバージョンアップやPHPのバージョンアップによってCMSが正常動作しなくなった際の調整作業のためのメンテナンスが必要になります。健全にWebサイトを運用していくうえで、メンテナンス契約を結ぶことは非常に重要なことです。 CMSはバージョンアップしなくても一応動作しますが、バージョンアップ=脆弱性対応という場合が殆どですので、バージョンアップせずに利用することはセキュリティリスクになります。 クライアントが自力で対応可能である場合はクライアントに任せるということもありますが、そのようなクライアントの場合は人に頼まず内製でCMSを用いたWebサイトを作成するはずですので、それができないからあなたに仕事を発注されたのだと思います。 もし、本件にメンテナンスが含まれていない場合は含めるべきでしょう。もしメンテナンスを含めることが出来ない場合は、本案件を受けるべきで無いといえます。 なお、Linuxサーバの構築経験が無い、LAMP環境の構築経験が無い、CMSのインストール無い、PHPの知識が薄いという場合は、メンテナンス出来ないと思いますので、この案件受けるべきでないですが、あなたのスキルがどの程度かはわかりませんが、そのあたりはいかがですか? 5.その他 スキル面で対応が難しい場合や、メンテナンス費用を確保できないがWebサイトは構築したいという場合は、JimdoやWiX,Weebly、ネットコモンズクラウド等のSaaS型のCMSを利用するのが良いでしょう。 私自身、メンテナンス費用を払えないクライアント向けの案件はこれらのサービスを利用しています。 * Weebly Website Builder: Create a Free Website, Store or Blog * ホームページ作成 | 無料ホームページの作り方 | WIX * ホームページ作成サービス - Jimdo(ジンドゥー) * EDLサービスポータル for NetCommons