こんにちは。プログラマーの山中です。

今年の滋賀の冬は暖かいですねー。今年の雪はまだ1,2回ほどしか見ていません。通勤に使用する自家用車にはスタッドレスタイヤを履かせていないのでありがたいです。

さて、今回は SNS サイト構築に便利な Drupal Commons の紹介とインストール方法を紹介します。

Drupal commons とは?

Drupal の人気のディストリビューション(いわゆるインストールパッケージ)の一つで、 主に SNS サイト開発に使用されるディストリビューションです。 Drupal Commons の主要な機能であるグループ機能は、「 Drupal SNS 」のキーワードで検索すると言ったらほぼ必ず出てくる Organic Group モジュールの機能によるものです。

最初から以下の機能が有効化されています。

  • ユーザーや投稿のフォロー
    • フォローユーザーや投稿の更新通知機能
  • 友達機能(Add as trusted contact = 信頼できる連絡先として追加)
  • コンテンツ作成機能
    • オーソドックスな投稿(Facebookの近況やTwitter のつぶやきに近いでしょうか)
    • Wiki
    • アンケート
    • Q&A
    • イベント
  • グループ機能
    • グループ内のユーザー管理
    • グループごとに独立した役割・権限設定
    • グループ限定のコンテンツ作成
  • 不適切なコンテンツの報告
  • オリジナルのいいね!ボタン(+1 ボタン)
  • 最新の投稿の表示
  • コメント
  • 最近のアクティビティの表示
  • 友達同士のプライベートメッセージ送信
  • ユーザーとコンテンツの検索
  • デフォルトテーマはレスポンシブデザイン対応

以上の機能がデフォルトでセットアップされた状態でインストールされます。 見ていただくと分かる通り、これだけで SNS サイトの一通りの機能を用意することができますね。

管理面でも以下の仕組みがデフォルトの状態で使用可能になります。

  • Panals モジュールの機能を使った各ページのレイアウトと表示コンテンツの変更
  • Media モジュールによるメディア管理
  • 管理画面の見た目が Drupal 8 ※ Ember テーマ と Nav bar モジュール によるもの
  • CKeditor が有効化されている
  • Module filter モジュールでモジュール一覧が見やすい

システム要件

Drupal Commons は通常の Drupal の動作環境 に加えて以下の要件を必要とします。

  • GDグラフィックライブラリが使用可能でなければなりません。
  • php.ini のファイルには以下のPHPの設定が必要です。
    • max_execution_time: 120秒以上
    • memory_limit: 128MB 以上( 190MB を推奨)
    • mod_rewrite: 有効にする必要があります
    • apc.shm_size: 96MB 以上(APCを使用している場合のみ必要)
      • サーバ環境のパフォーマンスを向上させることができますので APC と代替可能な opcode cache の使用をおすすめします。

参考: System requirements for Drupal Commons | Acquia Help Center

それではインストールしてみましょう。

インストール

まずは通常の Drupal と同じ方法でインストール画面を開きます。

http://[サイトアドレス]/install.php にアクセス!

サーバの動作条件を満たす

上記キャプチャのような画面が出てこなかった方はスルーして次のセクションへどうぞ。

「PHP Max Execution Time」 が足りないなどといったエラーメッセージが表示されましたので php.ini で設定を変更します。

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30

↓ max_execution_time の記述は以下の様に変更しましょう。

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
; max_execution_time = 30
max_execution_time = 120

ちなみに私の環境では opcode cache がサーバーにインストールされていたため「 opcode cache memory は 96 以上にしてください。」といったエラーメッセージも表示されました。この場合もPHPの設定ファイルで該当する設定を変更します。(Mac の Homebrew で opcode cache をインストールしている場合 ext-opcache.ini にある内容を変更する必要があるかもしれません。)

次はデータベースの設定を行います。

データベースとサイトの設定

通常の Drupal と同じようにデータベースの情報を入力して、しばらく待てばサイトの設定画面が表示されます。ここも基本的には通常の Drupal と同じように設定するのですが、 Acquia Network Connector は利用する予定がないのでチェックをはずしておきます。

項目の入力が完了したら次へ進みます。

テーマの色の選択

Drupal Commons ではインストールの時点でテーマの色が選択できます。私は緑が好きなので緑を選択して次へ進みます。

ちなみにこの設定はあとからテーマの設定から変更できますので適当に選んでも問題はありません。

ウェルカムメッセージの設定

サイトにログインする前のページのテキストを設定することができます。 特に他人に見せるサイトではないのでテキストはそのままにして、テストコンテンツがあった方が雰囲気がつかみやすいので「Install example content」にはチェックを入れたままにします。 「Enable private group support」にもチェックを入れてプライベートグループ機能を有効にして次へ進みます。

最初のグループを設定する

最初に作成するグループの設定を行います。こちらも特に他人に見せるサイトではないのでテキストはそのままにして次へすすむとインストールが完了します。

インストールが完了したらサイトのTOPページが表示されます。インストールが完了したらすぐに SNS の機能を使うことができます。

終わりに

いかがでしたでしょうか? SNS サイトを簡単ですぐに構築することができる Drupal Commons の紹介でした。

インストール画面は最初のシステム要件の画面さえ越えてしまえば、丁寧で画像が多くて比較的わかりやすいインストール画面だと思います。

一から SNS サイト構築を試そうと思っている方、他の SNS サイト構築のCMSを試そうと思っている方、一度 Drupal Commons もお試しください。


共に働く新しい仲間を
募集しています

スタジオ・ウミは「Drupal」に特化したサービスを提供する Drupal のエキスパートチーム。
フルリモート&フレックス制だから、働く場所を選ばず時間の使い方も自由です。
そんなワークライフバランスの整った環境で、当ブログに書かれているような
様々な技術を共に学びながら、Drupalサイト開発に携わってみたい方を募集しています。
まずはお話だけでも大歓迎!ぜひお気軽にご連絡ください。