Top / lucid / test / Drupal_pkg2

CMSのDrupalのインストール(パッケージで入れる場合編)2

etch/test/Drupal

前提条件

まずは、mysql-serverのインストール

$ sudo apt-get install mysql-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16
  libnet-daemon-perl libplrpc-perl mysql-client-5.1 mysql-client-core-5.1
  mysql-common mysql-server-5.1 mysql-server-core-5.1
提案パッケージ:
  dbishell libipc-sharedcache-perl tinyca mailx
以下のパッケージが新たにインストールされます:
  libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16
  libnet-daemon-perl libplrpc-perl mysql-client-5.1 mysql-client-core-5.1
  mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1
アップグレード: 0 個、新規インストール: 12 個、削除: 0 個、保留: 1 個。
23.2MB のアーカイブを取得する必要があります。
この操作後に追加で 54.8MB のディスク容量が消費されます。
続行しますか [Y/n]?
mysql-server-5.1 を設定しています
強制ではありませんが、MySQL を管理する "root" ユーザのパスワードを設定することを強くお勧めします。
MySQL の "root" ユーザに対する新しいパスワード:

を入力する。先ほど入力した mysqlのrootユーザーでDBにログインして一覧を確認する。

# mysql -u root -p
Enter password:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)

apache2とphp5をインストールする。

$ sudo apt-get install apache2 php5
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common
  libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap php5-common ssl-cert
提案パッケージ:
  apache2-doc apache2-suexec apache2-suexec-custom php-pear php5-suhosin
以下のパッケージが新たにインストールされます:
  apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common
  libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap php5 php5-common ssl-cert
アップグレード: 0 個、新規インストール: 13 個、削除: 0 個、保留: 1 個。
6,716kB のアーカイブを取得する必要があります。
この操作後に追加で 19.0MB のディスク容量が消費されます。
続行しますか [Y/n]?

インストール後に、一度apacheをリスタートする。(そうでないとPHPを認識しないことがある。) /var/www/index.phpにphpinfoを設置してみて、IPアドレスでアクセスをしてPHPが動作しているかを確認する。

次に、phpmyadminをインストール

$ sudo apt-get install phpmyadmin
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  dbconfig-common fontconfig-config javascript-common libfontconfig1
  libgd2-xpm libjpeg62 libjs-mootools libmcrypt4 libt1-5 libxpm4 php5-gd
  php5-mcrypt php5-mysql ttf-dejavu-core wwwconfig-common
提案パッケージ:
  libgd-tools libmcrypt-dev mcrypt postgresql-client apache apache-ssl
以下のパッケージが新たにインストールされます:
  dbconfig-common fontconfig-config javascript-common libfontconfig1
  libgd2-xpm libjpeg62 libjs-mootools libmcrypt4 libt1-5 libxpm4 php5-gd
  php5-mcrypt php5-mysql phpmyadmin ttf-dejavu-core wwwconfig-common
アップグレード: 0 個、新規インストール: 16 個、削除: 0 個、保留: 1 個。
7,460kB のアーカイブを取得する必要があります。
この操作後に追加で 26.2MB のディスク容量が消費されます。
続行しますか [Y/n]?
phpmyadmin のデータベースを dbconfig-common で設定しますか?     

については、「いいえ」としてみる。

http://SERVERIP/phpmyadmin にアクセスすれば、phpmyadminにアクセスが可能。

phpmyadminでDBをまず作成する。 その後、作成したDBを左のフレームから選択する。特権からあたらしいユーザーを作成する。ユーザーは、下記のように作成してみる。

ユーザー名dtest
ホストローカル▼
ユーザ専用データベース◎Grant all privileges on database "dtest"

あとは、そのまま「実行する」

drupalのインストール

drupalのインストール

$ sudo apt-get install drupal6
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  bsd-mailx curl exim4 exim4-base exim4-config exim4-daemon-light libcurl3
提案パッケージ:
  mail-reader eximon4 exim4-doc-html exim4-doc-info libmail-spf-query-perl
  swaks
推奨パッケージ:
  mailx
以下のパッケージが新たにインストールされます:
  bsd-mailx curl drupal6 exim4 exim4-base exim4-config exim4-daemon-light
  libcurl3
アップグレード: 0 個、新規インストール: 8 個、削除: 0 個、保留: 1 個。
3,591kB のアーカイブを取得する必要があります。
この操作後に追加で 10.2MB のディスク容量が消費されます。
続行しますか [Y/n]?
drupal6 データベースを dbconfig-common で設定しますか?     

「いいえ」とした。

その後、あえて

$ dpkg-reconfigure drupal6

を実行して、drupal6用のDBを作成する。UNIXドメインでmysqlを選択し、DB名とパスワードを入れた。

http://drupal.org/node/11118/release から日本語モジュールをダウンロードする。バージョン番号が等しいものをとってくる。ダウンロード後は、

$ mkdir drupal6-ja
$ cd drupal6-ja/

その後はrootで

# tar xvfz ../ja-6.x-1.6.tar.gz
# cp -rp modules/* /usr/share/drupal6/modules/
# cp -rp profiles/* /usr/share/drupal6/profiles/
# cp -rp themes/* /usr/share/drupal6/themes/

http://IPアドレス/drupal6/install.phpを実行して、環境を構築する。

その後、下記のコマンドを実行してmultisiteを作成する。

# cd /usr/share/drupal6/sites
# cp -rp default/ example.jp
# cd example.jp

example.jpディレクトに行き、dbconfig.phpを編集する。

phpadminでそのDBを作成する。

この後、 http://example.jp/drupal6/install.phpを実行して、環境を構築する。

これで、別の環境が2つできた。

クリーンURLの設定

apacheのmod_rewriteを有効にする。

$ sudo a2enmod rewrite
$ sudo /etc/init.d/apache2 restart

次に、drupalの .htaccessの設定を変更する。

# diff -uN htaccess.bk  htaccess
--- htaccess.bk 2010-04-12 22:18:17.000000000 +0900
+++ htaccess    2010-07-03 23:49:02.147161728 +0900
@@ -101,6 +101,7 @@
   # For example if your site is at http://example.com/drupal uncomment and
   # modify the following line:
   # RewriteBase /drupal
+  RewriteBase /drupal6
   #
   # If your site is running in a VirtualDocumentRoot at http://example.com/,
   # uncomment the following line:

drupalのディレクトリが /durpal6 の場合には、上記のように変える。 /の場合には、/にする。

Document Rootをdrupalにする

デフォルトのドメイン(IP)は、他の設定等の関係があるので、drupalをDocument Rootにする場合には、バーチャルドメインを使用したほうが良いかもしれない。

まずは、apacheのバーチャルドメインの設定を行う。

# cd /etc/apache2/sites-available
# vi kensukeweb
(内容は下記のように)
<VirtualHost *:80>
       ServerAdmin webmaster@localhost
       ServerName kensukeweb.local.kensuke.jp
       DocumentRoot /usr/share/drupal6
       ErrorLog /var/log/apache2/error.log

       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn

       CustomLog /var/log/apache2/access.log combined
  <Directory /usr/share/drupal6/>
       Options +FollowSymLinks
       AllowOverride All
       order allow,deny
       allow from all
  </Directory>
</VirtualHost>

drupalをdocumentrootにしても、drupal側で、サイト毎のコンテンツを提供するのでok (site/ ディクトリのルールに従って提供される。)

必要に応じて、logなどを変更

また、document rootをdrupalにした場合には、RewriteBaseも下記のように変更する。

RewriteBase /

logとcronの処理

まだやっていないが、2つめ以降のlogとcronの処理を設定が必要。

moduleとthemeの追加

/usr/share/doc/drupal6/README.Debian.gzによると、moduleとthemeの追加は、 /usr/local 以下において lnikを張るのが良いと書いてある。(dpkgで更新されないために)

そもそも、追加のmoduleとかはsite以下に保存するのが基本なので、心配しなくとも良い。(site以下は、実体が/etc/いかにあるので安全)

そして、サーバーで共通のmoduleとかを置くためのディレクトリを以下のように作成する。

# cd /usr/share/drupal6/sites/
# mkdir all
# mkdir all/modules
# mkdir all/themes

admin menu

管理者で入ったときにのみ、上に管理用のメニューが表示される。日本語リソースあり(公式)

展開して、メニューでonにするだけ。

switchtheme

携帯対応にするための準備

展開して、メニューでonにするだけ。日本語リソースあり(http://ftp.drupal.org/files/translations/6.x/) あとで、誰がthemeを変更できるのかの権限設定が必要。

複数のテーマをonにして、ブロック指定でswitchthmeを有効にして表示させる。

JapaneseMobile

Japanese Mobileモジュールを使用してみる。 まずは、依存しているURL alter モジュールをインストールする。

URL alterはここ http://drupal.org/project/url_alter から、ダウンロード ここに 日本語訳poがある (http://ftp.drupal.org/files/translations/6.x/

次に、Japanese Mobileテーマと、japanese_mobile_helperモジュールをインストールする。(ダウンロードはここから http://drupal.org/project/jp_mobile )

判りにくいが、tgzを展開すると手で来るのは、テーマなのでthemeディレクトリに入れる。そして中にあるjp_mobile_helperをディレクトリごと modulesディレクトリにcopyする。

その後、settings.phpを README.txtに従って変更する。

switchthemeで、japanese mobileを選択して、携帯向けに表示されることを確認する。

次に、browscap(http://drupal.org/project/browscap 日本語po http://ftp.drupal.org/files/translations/6.x/browscap/) を使用して、User-Agentごとに切り替わるようにする。 stableのモジュールは古くてPHP5.3に対応していないので、dev版を利用する。

インストール後には、browscapの設定画面で、ブラウザキャプチャデータを[今すぐ更新]をクリックして、「ブラウザを監視」をチェックをする。

browsecapをインストールすると、

ホーム - 管理セクション - サイトの環境設定 - テーマ切り替え

のメニューにbrowserごとにテーマを設定する設定が出る。そこで、User-agentごとの設定をする。

Calender表示

まずは、CCKモジュールをダウンロードしてmodulesに展開、 ( モジュール: http://drupal.org/project/cck 日本語: http://ftp.drupal.org/files/translations/6.x/cck/ )

viewsモジュールをダウンロードしてmodulesに展開、 ( モジュール: http://drupal.org/project/views 日本語: http://ftp.drupal.org/files/translations/6.x/views/ )

Calendarモジュールをダウンロードしてmodulesに展開、 ( モジュール: http://drupal.org/project/calendar 日本語: http://ftp.drupal.org/files/translations/6.x/calendar/ )

Dataモジュールをダウンロードしてmodulesに展開 ( モジュール: http://drupal.org/project/date 日本語: http://ftp.drupal.org/files/translations/6.x/date/ )

うまくいくかわからないが、 http://drupal.org/node/326061#comment-1077193 に従ってcalenderを実現してみる。

http://drupal.org/node/797042にも従ってやると良い。

Calenderモジュールをenableにする。すると warningが表示される。(devを使用しても良いかも) http://drupal.org/node/549884 の#10 に従ってpatchを当てる。

# cd sites/all/modules/calendar
# patch -p0 < /home/kensuke/drupal6-download/calendar-6.x-2.2-613528-5.patch

Advanced helpモジュールをダウンロードして展開 (モジュール: http://drupal.org/project/advanced_help 日本語: http://ftp.drupal.org/files/translations/6.x/advanced_help/ )

Advanced helpモジュールもenableにする。

設定

ホーム - 管理セクション - サイトの環境設定 - 日付と時刻

でタイムゾーンと書式の両方を設定する。

ホーム - 管理セクション - コンテンツの管理 - コンテンツタイプ - コンテンツタイプの追加

で、Under Identification section fill the following fields. Without the “ ”.

Name = “Group Event”
Type = “event”
Description = “Create a new event to appear on the sites calendar of upcoming events”
Under Submission form settings 
Title = “Event”
Body = “Details” (本文)

あとは、自由に自分のサイトに合わせて設定する。

作成したタイプの、「フィールドの管理」を開く (出ていない場合には、Dateモジュールが有効か確認する。)

Label = “Date”
Field name = “date”
Type of data to store = “Date”
Form element to edit the data (Widget type) = “Select List”

を入力して、「保存」

次のsettings sectionでは、 デフォルト値を now にして、その他は適当に。

Global settings sectionでは、 Check Required option(必須にチェック). To Dateの項目は「任意」に、残りの設定はそのままで、「フィールド設定を保存」

イベントの追加

ホーム - コンテンツの作成 - イベントの作成

からイベントを一つ作成する。To DateとFrom Dateをいれて。

Calendar Viewの設定

(Views UIがenableになっているかを確認)
ホーム - 管理セクション - サイトの構築 - 表示

の画面から、「デフォルト ノード view: calendar (Calendar) 」を有効にする。

calendar (Calendar)を編集を行う。

フィールドの右側の + button をクリックして、フィールドの追加を行う。

追加の項目の中の Date (field_date) - From date optionをチェックして、 Click on Add button.

次の画面は、そのまま何もせずに、「更新」

フィールドパネルの Node: Updated date link. をクリックして、「削除」ボタンをクリックする。 (なんだかwarningが出るが)、Saveする。

次に、「引数」パネルで Click on Date: Date (node) link.

Uncheck Node: Update date option.

Check Content: Date (field_date) - From date

Click on Update button.

次に、Filters panel click the + button to add a new filter.

check Node: Type option. Click on Add button.

オペレーターの 「いずれか」、ノードタイプを「イベント」を選択して、updateする。

Sort criteria panel click the + to add a new criteria.

check Content: Date (field_date) - From date option. Click on Add button. 次の画面では、「昇順」を選択し、Update。

最後に「保存」をクリック。

View "Calendar page"をクリックして、確認して正しく表示されていればOK。

GUIなエディタ

CKEditor と IMCE を使用して、GUIなエディタを構築する。

まず、CKEditorのモジュールをダウンロードして、展開する。 ( http://drupal.org/project/ckeditor 日本語: http://ftp.drupal.org/files/translations/6.x/ckeditor/ ) 次に、http://ckeditor.com/ から ckeditor_3.5.tar.gzをダウンロードする。

sites/all/modules/ckeditor でckeditor_3.5.tar.gz を展開する。 ckeditor自体は、sites/all/modules/ckeditor/ckeditor という具合にインストールされる。 you can skip uploading "_samples" and "_source" folders. ということなので、削除する。

次に、IMCEをインストールする。

IMCEモジュールをダウンロードして展開する。今回は、6.x-2.0-rc2 を利用 ( モジュール: http://drupal.org/project/imce 日本語: http://ftp.drupal.org/files/translations/6.x/imce/ )

Drupalの画面で、CKEditorをenableにして、権限で認証済みのユーザーのみ使用できるように設定する。 それだけで、使用できるようになるが、文字の大きさや色などを変更するパネルが出ないので、そこをカスタマイズしないといけない。

ホーム - 管理セクション - サイトの環境設定 - CKEditor - CKEditorプロフィールを編集

でそれぞれの権限ごとにCKEditorの動き、ツールバーの状態などを設定する。

IMCEのモジュールをenableにする。

IMCEのプロファイルごとの設定をすることによって、画像の最大サイズやディレクトリなどを制限できるようだが、とりあえず後回し。

まず、CKEditorでIMCEを利用できるように設定する。

ホーム - 管理セクション - サイトの環境設定 - CKEditor - CKEditorプロフィールを編集

ファイルブラウザの設定の部分に、IMCEと指定する。

次に、IMCEのディレクトリ設定にあるように、filesを各サイトごとに作成し(drupalのパッケージのdefaultをcopyしたままだと共通になっている)、パーミッションに気をつける必要がある(apache2が動作している権限で書き込めるようにする必要があるとおもったら、うまくいかない。<- ちがうmultisiteで試したら問題なかった。)

menu breadcrumb

メニューに従ったパンくずリスト http://drupal.org/project/menu_breadcrumb 日本語はl10で入らないので http://ftp.drupal.org/files/translations/6.x/menu_breadcrumb/ から入れる。

インストールして、モジュールの設定でチェックを入れるだけで、簡単にメニューに従ったパンくずリストができる。

設定するときに、CKEditorが<p>を入れてしまうので、プレーンにして外してあげないとエラーが出る。

path_access

pathを使用して、アクセス制限を行う。 membersに、特定のユーザー/グループのみアクセスを可能にする。

Localization update

http://drupal.org/project/l10n_update より、ダウンロードしてインストールすると、日本語の翻訳ファイルをオンラインから、ワンクリックでインストール・アップデートしてくれる。

No request new password

http://drupal.org/project/noreqnewpass より、ダウンロードしてインストールすると、「パスワードの再発行」が表示されなくなる。


conf.dの下のファイル名順にapacheは読むみたい。 phpadmin.confを 0phpadmin.confみたいに先に読み込まれるようにすると、 バッティングしないみたい。

どんなdrupal的なドメインでも、apacheの設定はひとつなので、どのドメインで アクセスしても、phpmyadminが見られる。 これはこれで、困ったことにもなる。

アクセスログも分離できない。 なので、バーチャルドメインの設定をすることに。


Calender表示

うまくいくかわからないが、 http://drupal.org/node/326061#comment-1077193 に従ってcalenderを実現してみる。 まずは、CCKモジュールをダウンロードしてmodulesに展開、viewsモジュールをダウンロードしてmodulesに展開、Calendarモジュールをダウンロードしてmodulesに展開、Dataモジュールをダウンロードしてmodulesに展開

http://drupal.org/node/797042にも従ってやると良い。

Calenderモジュールをenableにする。すると warningが表示される。 http://drupal.org/node/549884 の#10 に従ってpatchを当てる。

# cd sites/all/modules/calendar
# patch -p0 < /home/kensuke/drupal6-download/calendar-6.x-2.2-613528-5.patch

掲示板

guestbookモジュールを試したが、ユーザー名などがdurpalのログインユーザー名が自動的に入る仕組みになっている。自分で入れる項目が無いのがちょっと残念。 それ以外は、そこそこ良いのだが。でも、他に良いのがないのでこれで行くか。

Revision Moderation

http://drupal.org/project/revision_moderation よりダウンロードしてインストールすると、ノードなどの更新時に、リビジョンを指定して、「modrate」するようにしておくと、(他の人でも)確認してから公開させるようにすることができる。

その他のモジュール

今まで使用しているdrupalに入っているモジュールの紹介

  • Advanced help
  • nodewords
  • Google Analytics
  • CKEditor
  • IMCE
  • CCK
  • Data/Time
  • Views
  • Browscap
  • Guestbook
  • JP mobile helper
  • Switchtheme

入れたいと思うモジュール

  • XMLsitemap
  • Menu Breadcrumb メニューに従ってパンくずリスト
  • http://drupal.6krpm.jp/node/25 にしたがってパンくずリストにページ名を出す
  • Scheduler
  • Text Resize
  • Site map
  • Admin Menu 画面の上に管理者用のメニューバーを表示。便利。
  • Admin Role モジュールを追加したときに管理者権限を自動的に追加。
  • Advanced Help ヘルプの拡張。
  • Backup and Migrate バックアップおよび他のマシンへの引越しのためのデータを吐き出すモジュール。
  • Blog Addons ブログ用アドオン。 ページに表示するブロガーの数やページごとのブログ記事の数などを設定できる。
  • Blog Info アカウント情報のページにブログ用のフィールドを追加。うまく動作していないみたい?
  • Blog Theme ブログに特定のテーマを適用。
  • Calendar カレンダーの表示。
  • CCK 言わずと知れたコンテンツコンストラクションキット。これがなければコンテンツタイプを追加するのはめんどくさくてしょうがない。
  • Date 日付管理用モジュール。
  • Embedded Media Field ページにメディアを埋め込むフィールドを追加する。
  • Event イベント管理用モジュール。
  • Fast Gallery 大量の写真を効率的にアップロード・管理する。
  • File Field ファイルアップロード用フィールドを追加。
  • Flash Node Flashを使ったノードを利用可能にする。
  • HTML Purifier HTMLのチェックと修正。不正なタグを自動的に直してくれる。
  • Image 画像処理用モジュール。
  • Image Cache イメージの操作、サムネール作成など。
  • IMCE 画像やファイルなどのアップロード/管理のためのモジュール。管理画面で画像/ファイルの一括登録や管理ができて便利。
  • IMCE Mkdir IMCEでディレクトリを作るモジュール。
  • Image Assist ノードに手軽に画像を挿入できようにするモジュール。
  • Link リンクノード作成。
  • Markdown マークダウンの入力フィルタ。Textileより細かく操作できる。
  • Mobile Theme モバイルデバイスからのアクセスに適したテーマ。
  • Node Clone ノードのクローンを作る。同じようなページを作るときに便利。
  • Node Access ノード単位のアクセスコントロール。
  • Panels ページを複数のパネルに分け、各パネルにコンテンツを追加できる。
  • Pathauto タイトルから自動的に適当なパスを生成。
  • Statistics Advanced 詳細なアクセス統計の表示。
  • Textile Textileを使った入力フィルタ。XHTML的にきれいなコードを吐く。
  • Theme Setter コンテンツタイプやロールごとに特定のテーマをセット。
  • TinyTiny MCE WYSIWYG入力。うざったいので使っていない。
  • Uploadpath ファイルをアップロードするパスを指定。
  • Views 条件を指定してコンテンツを表示。
  • Web Form フォーム作成用モジュール。簡単なフォーム作りには便利。
  • XML Sitemap Googleにサイト情報を送信する。
  • Global Redirect aliasで指定したURLに自動的に飛んでいくらしい。

テーマ(theme)

なるべく固定幅ではない、tableを使用しないテーマが良かったので、下記のものを利用した。

各こべつのドメイン毎のディレクトリにインストールする場合には、site/www.example.com/theme をさくせいして、その中に展開する。


トップ   一覧 単語検索   最終更新のRSS
Last-modified: 2010-12-22 (水) 23:01:03 (2740d)