コラム

WordPress以外のCMSも使ってみよう!Drupalとは?

2015-03-12

RM STAFF

WRITER:

RM STAFF

エンジニアの戸田です。

 

Tech Blogを普段WordPressを使っている非エンジニア系の職種の人にも読んでもらいたいので、今回はコンテンツ管理システム(CMS)のDrupalについて書きます。 ビジネスでCMSを導入する際は、そのまま使うことはほどんどなく、多少のカスタマイズするとは思います。そこで今回は、CMSを選択する際に、エンジニアがカスタマイズしやすいCMSを紹介します。

 Drupalとは

drupal_branding_2012

 

 

WordPressはBlogがベースになっているCMSですが、Drupalは、PHPで作成されたCMSかつ、モジュラー式のフレームワークの様になっています。そのため、非常に柔軟性があり、拡張がしやすいです。国内でも導入実績が増えてきています。

インストール方法

1. PHPのモジュールをインストール。

[vagrant@drupal ~]$  sudo yum install -y php-devel php-pecl-apc php-pear php-gd php-dom

 

PHPの設定自体は割愛。

 

2.MySQLをインストール&DB作成。

 

MySQLインストール方法は割愛。

 

MySQLにログイン。

[vagrant@drupal ~]$ sudo mysql -u root -p

 

DBを作成。

create database drupal_db;

 

 

DBにアクセスするユーザーを作成。

grant all privileges on drupal_db.* to 'drupal'@'localhost' identified by 'パスワード';

 

 

3. Drupalをダウンロード&配置。

[vagrant@drupal ~]$  cd /var/www

[vagrant@drupal www]$ sudo wget http://ftp.drupal.org/files/projects/drupal-7.34.tar.gz

[vagrant@drupal www]$ sudo tar zxvf drupal-7.34.tar.gz

[vagrant@drupal www]$ sudo mv drupal-7.34 drupal

 

 

VirtualHostやHostsを設定。(詳細は割愛)

[vagrant@drupal ~]$ sudo vi /etc/httpd/conf.d/virtual.conf

[vagrant@drupal ~]$ sudo vi /etc/hosts

 

 

4. Drupal日本語化モジュールを配置。

[vagrant@drupal ~]$ sudo wget http://ftp.drupal.org/files/translations/7.x/drupal/drupal-7.34.ja.po

[vagrant@drupal ~]$ sudo mv drupal-7.34.ja.po /var/www/drupal/profiles/standard/translations/

 

 

5. Drupalのユーザーとグループを変更する。

[vagrant@drupal www]$ chown -R apache:apache drupal

 

 

6. 配置したDrupalにアクセス。

 

とりあえずStandardを選択。

select an installation profile

 

 

日本語を選択。

Choose language

 

 

先ほど作成したDB情報を入力。

データベースの設定

 

インストール待ち。

インストール中

 

 

各項目を入力。

サイト情報入力

 

タイムゾーンの情報も選択。デフォルトの国は『なし』にしました。

ロケーション情報を入力

 

これでインストール完了。

Drupal インストール完了

 

CMSなのでデザインテーマを変更したり、モジュールを導入することもできます。

Drupal テーマ変更

 

Drupal module導入

 

 

記事を登録するとこのように表示されます。

Drupal 記事表示

Drupal内部構造 モジュール

 

Drupal内部構造 モジュールはこのような感じに配置されています。

[vagrant@drupal modules]$ pwd

/var/www/drupal/modules

[vagrant@drupal modules]$ ls

README.txt color dblog forum node poll simpletest toolbar user aggregator comment field help openid profile statistics tracker block contact field_ui image overlay rdf syslog translation blog contextual file locale path search system trigger book dashboard filter menu php shortcut taxonomy update

 

 

サーチモジュールの中身は以下のとおり。

[vagrant@drupal modules]$ cd search/

[vagrant@drupal search]$ ls

search-block-form.tpl.php search-rtl.css search.css search.install search.test search-result.tpl.php search.admin.inc search.extender.inc search.module tests search-results.tpl.php search.api.php search.info search.pages.inc

 

 

ダッシュボードモジュールの中身は以下のとおり。

[vagrant@drupal modules]$ cd dashboard/

[vagrant@drupal dashboard]$ ls

dashboard-rtl.css dashboard.css dashboard.install dashboard.module dashboard.api.php dashboard.info dashboard.js dashboard.test

 

ちなみに、Moduleを自作するためには最低でも、infoファイルとmoduleファイルが必要です。

 

 

テーマはこのような感じに配置されています。

[vagrant@drupal themes]$ pwd

/var/www/drupal/themes

[vagrant@drupal themes]$ ls

README.txt bartik engines garland seven stark

 

 

sevenというテーマの配置は以下のとおり。

[vagrant@drupal themes]$ cd seven/

[vagrant@drupal seven]$ ls

ie.css jquery.ui.theme.css reset.css style.css ie6.css logo.png screenshot.png template.php ie7.css maintenance-page.tpl.php seven.info vertical-tabs-rtl.css images page.tpl.php style-rtl.css vertical-tabs.css

まとめ

Drupalの内部構造を見てみたところ、確かに拡張性が高いと感じました。ただし、日本語情報が少ないので、モジュールを作る際の学習コストは高いのではないでしょうか。しかし、CMSをプロジェクトで導入する際には、他のCMSのjoomla!concrete5と共に、導入を検討してみるのもいいかもしれません。

 

リッチメディアではお客様・ユーザーの課題解決のために技術を使えるエンジニアを募集しております。

 

【関連記事】

HTML5 Conferenceで学んだ”Extensible Web”という考え方

gitクライアント「tig」を使いこなすための最低限覚えるべき6つのコマンド

開発環境改善!ヘルシーなWEB開発環境に近づくまでの軌跡