2014年11月23日

Joomla!コアデータの重複エイリアスの解消(ユニーク化)

Joomla! 1.5のコアデータの重複エイリアスをデータテーブルごとに解消(ユニーク化)するのに、Joomla! 1.5の管理画面から記事、カテゴリー、セクションを一つ一つ開いていくのはあまりにも非効率です。

重複エイリアスを見つけるには、お使いのサーバの管理画面からPhpMyAdminにログインして、データベースの各データテーブルの一覧表示を使うと便利です。

例えば、記事の重複エイリアスを見つけるには、データベースのjos_contentを開きます。「表示」タブでaliasをクリックして、エイリアスを昇順に並べ替えます。
こうすると重複エイリアスがひと目で見つけられます。重複エイリアスを見つけたら、URLが変わってもよい(比較的重要ではない)ほうのエイリアスを修正します。
記事(jos_content)、カテゴリー(jos_categories)、セクション(jos_sections)ごとに重複エイリアスをチェックして、重複エイリアスがあればユニーク化していきます。

カテゴリーのエイリアス

セクションが数字でないものは、コンポーネントのカテゴリーです。
J2XMLはコンポーネントのデータまでマイグレート(移行)しません。J2XMLでマイグレート(移行)する場合は、セクションが数字のものに限って重複エイリアスをユニーク化しておけば問題ありません。

2014年10月4日

お名前.com管理ドメインのメールをさくらのサーバで使う

複数のサイトを運営するなら、ドメインとサーバについてそれぞれ別の会社を使い分けると、無駄なお金を払わずに済みます。総じてドメイン管理料の安いところはサーバ利用料が高く、サーバ利用料が安いところはドメイン管理料が高かったりします。

ドメインをお名前.comに、サーバをさくらインターネットさくらインターネットにすると両方の安いとこ取りができます。その場合、厄介なのが設定です。両社の設定方法の説明ページをそれぞれ読みながら、設定していくことになります。

ここでは、お名前.comで管理しているドメインをお名前.comに、サーバをさくらインターネットのサーバで使う設定を備忘録的にまとめます。

と言っても、さくらインターネットの説明ページがわかりやすいので、お名前.comに、サーバをさくらインターネットさくらインターネットのサーバの設定は、そこのStep1からStep3までをご参照ください。

Step4. お名前.comの管理画面の設定

ドメインNaviにログインして「ネームサーバー」を「変更する」。
「他のネームサーバーを利用」タブで、「プライマリネームサーバ」に「ns1.dns.ne.jp」、「セカンダリネームサーバ」に「ns2.dns.ne.jp」と入力して「確認画面に進む」。
確認画面で「設定する」。
「ネームサーバー変更」「完了」と表示されたら、「ログアウト」。
と言っても、ネームサーバー変更の設定がすぐに反映されるわけではなく、早くて2~3時間、遅くて2~3日ほどかかります。

なお、お名前.comでメール転送Plusを使っていると、ネームサーバーがお名前.comに設定されていて、ネームサーバーの変更ができません。その場合は、メール転送Plusを解約する必要があります。

無事にネームサーバーの変更ができたら、さくらインターネットでメールアドレスを設定しましょう。

2014年9月7日

独自ドメインのメールをGmailで使う

Value-Domainお名前.comで管理しているドメインのメールアドレスをGmailで使う方法の続きです。

Gmailにアクセスし、歯車メニューの「設定」を開き、「アカウント」タブの「メールアドレスを追加
名前」にFromに表示したい名前を、「メールアドレス」に独自ドメインのメールアドレスを入力して、「次のステップ
ここまでが受信設定で、ここからが送信設定。「SMTPサーバー経由でメールを送信しますか?」の画面で「次のステップ
確認メールの送信
Gmailに確認メールが届いたら、その本文中のリンク(URL)を開きます。
確認が完了したら、確認画面を閉じ、確認メールを削除します。
最後に「アカウント」タブの独自ドメインのメールアドレスの右側にある「デフォルト設定
ここまでの設定でGmailから独自ドメインメールアドレスで送受信できるようになります。

2014年8月17日

お名前.com管理ドメインのメールをGmailで使う

お名前.comで管理しているドメインのメールアドレスは、Gmailなど無料で普段使っているメールアドレスに転送することができます。 「ホームページを作るかどうかわからないけど、とりあえずメールアドレスだけ独自ドメインにしたい」というときには、レンタルサーバを借りなくてもよくなるので、この機能は非常に便利です。

ドメインNAVIの設定

この機能を使うためには、まず「ドメインNAVI」にログインして、メール転送したいドメインの「ネームサーバ」を「設定する」。

転送Plus・DNS設定」を「設定する」。
ネームサーバ情報を「設定する」。
お名前.comのアカウントに登録したメールアドレスに「[お名前.com]ネームサーバー情報変更完了通知」が届いたら、「オプション設定」に進みましょう。

オプション設定

お名前.comの「ドメインNavi」にログインし、「オプション設定」の「メール転送設定」へ。
ドメインの右側の「設定する
お名前.comで初めてメール転送を設定するときは、「ドメインのネームサーバーを変更」します。
転送元メールアドレス」に独自ドメインのメールアドレスを、「転送先メールアドレス」にGmailのメールアドレスを入力し、「確認画面に進む
設定内容を確認し、「設定する
Gmailに「[お名前.com]メール転送Plus転送 完了通知」というメールが届くのを待ちます。ネームサーバーを変更した場合は、「[お名前.com]ネームサーバー情報変更 完了通知」というメールも届きます。
上記のメールが届いてから、Gmailで独自ドメインメールを送受信できるように設定します。

2014年7月6日

CoreserverでJoomla!サイトに500 Internal Server Errorが出たら

2014年7月1日のCoreserverの仕様変更でJoomla!サイトが500 Internal Server Errorで表示できない問題の解決策をまとめます。
この原因は、Coreserverのモジュール版のPHPがセーフモードONからセーフモードOFFに仕様が変更されたことにあります。

以前のCoreserverでは、モジュール版PHPでJoomla!サイトを組むために、.htaccessにセーフモード用のコードを書く必要がありました。今回の仕様変更で、逆にこのコードが悪さをしてエラーを引き起こしたようです。

解決策としては、.htaccessに下記の行があれば、#でコメントアウトするか削除します。
php_flag display_errors Off
php_flag register_globals Off
php_value mbstring.language neutral

2014年5月2日

Joomla!サイトの引越し(移転)手順

Joomla!サイトを別のサーバに移転する場合のデータベースのエクスポート設定と移転先サーバのパーミッション設定、インポート、各種設定についてまとめます。

1. ファイルのFTP転送

移転元サーバの全ファイルを移転先サーバにFTPで転送します。通常はいったんFTPソフトでローカルのPCにダウンロードしてから、移転先サーバにアップロードします。お使いのサーバにサーバ間コピー機能があれば、その機能を使うとローカルPCを経由せずに転送することができます。

例)Coreserverのサーバ間転送

  1. 管理画面から「サーバー間コピー
  2. 転送元のFTPユーザー名を入力
  3. 転送元のFTPパスワードを入力
  4. 転送元のFTPサーバー名を入力
  5. 転送元のディレクトリを入力
  6. 転送先のディレクトリを入力
  7. 選択
  8. 変更」して設定を確認(設定に誤りがあると既存のサイトを壊しかねないので厳重にご確認を)
  9. 実行

2. 移転先のデータベースの作成・設定

移転先サーバでデータベースを作成します。テキストエンコーディングはUNICODEに。

FTPソフトで移転先サーバの「Joomla!サイトのディレクトリ」にアクセスして、configuration.phpを開き、データベースに関する4項目を編集、保存します。
  1. var $host = ' 移転先のデータベースのホスト '
  2. var $user = ' 移転先のデータベースのユーザー名 '
  3. var $db = ' 移転先のデータベース名 '
  4. var $password = ' 移転先のデータベースのパスワード '
【注意】データベースの設定を怠ると、移転先サイトも移転元のデータベースに接続します。

3. データベースの転送

移転元サーバのphpMyAdminからデータベースにアクセスします。
  1. データベースを選択
  2. エクスポート
  3. エクスポートするテーブルが全選択されていることを確認
  4. SQLが選択されていることを確認
  5. DROP TABLE / DROP VIEWを追加」、「IF NOT EXISTSを追加」にチェック
  6. ファイルを保存する」にチェック
  7. 実行する
ここまでが移転元の設定です。次に、Joomla!サイトを別のサーバに引っ越す(移転)する場合の移転先サーバの設定をまとめます。

4. データベースのインポート

移転先サーバのphpMyAdminからデータベースにアクセスし、インポート先のデータベースを選択。
インポート」タブを開きます。「インポート」画面で「アップロードファイル」に前述の操作で書き出したSQLファイルを指定し、デフォルトの設定のまま「実行」。

5. 移転先サーバでのJoomla!サイトと管理画面へのアクセス

移転先サーバのURLでアクセスします。このとき、間違えて移転元のURLでログインしがちですが、移転先サーバのURLをきちんと確認してアクセスしましょう。
移転先サーバのURL http:// [レンタルサーバから割り当てられたドメイン名] / [ディレクトリ名]
エラーが出たら、configuration.phpの設定を見直しましょう。それなりに表示されている場合は、そのURLの末尾に /administrator を追加して管理画面にアクセスしましょう。

管理画面で設定を確認しながら、「ディレクトリのパーミッション設定」と「グローバル設定」を変更しましょう。

6. パーミッション設定

Joomla!サイトを別のサーバに引っ越すときに問題になるのが、フォルダやファイルのパーミッションの再設定です。再設定が必要になる理由は、パーミッションが引越し先のサーバのデフォルトになるためです。

Joomlaは豊富なエクステンション(機能拡張)が魅力のCMSです。エクステンションの中には、作業領域のパーミッション設定を伴うものがあります。その設定を一元的に管理しておけば引っ越しの時は楽ですが、(私も含めて)多くのJoomla!サイトのオーナーは引っ越しなど想定しません。そのため、パーミッション設定の必要なエクステンション探しは不可避です。

ここからは、パーミッション再設定と、その必要な箇所の探し方をまとめます。
サイト全体 管理画面の「ヘルプ」→「システム情報」→「ディレクトリ・パーミッション」
テンプレート 管理画面の「テンプレート」から、お使いのテンプレートを開いて、パーミッションに関する注意書きがあれば、それに従って設定しましょう。
コンポーネント 画像や動画を自動生成するコンポーネントやサイトのデータをバックアップするコンポーネント(例:AkeebaBackup)では作業領域のパーミッション設定を伴うことがあります。そのようなコンポーネントをお使いでしたら、管理画面の「コンポーネント」から、お使いのコンポーネントを開いて、パーミッションに関する注意書きがあれば、それに従って設定しましょう。
モジュール 画像や動画を自動生成するモジュール(例:JSN Image Show)では作業用のディレクトリのパーミッション設定を伴うことがあります。そのようなモジュールをお使いでしたら、管理画面の「モジュール管理」から、お使いのモジュールを開いて、パーミッションに関する注意書きがあれば、それに従って設定しましょう。

7. 基本設定

管理画面にアクセスし、「基本設定」→「サーバ」→「サーバ設定」のうち、「Tempフォルダーパス」「FTPホスト」「FTPユーザ名」「FTPパスワード」「FTPルート」を引越し(移転)先サーバの設定に変更して保存
移転先サーバのURLでJoomla!サイトの動作を確認しましょう。移転元のURLを移転先に割り当てる場合は、最後にドメイン管理サイトの管理画面でDNSレコード設定を書き換える必要があります。

8. 動作確認とDNSレコード設定の切り替え

移転先サーバのURLでJoomla!サイトの動作を確認しましょう。移転元のURLを移転先に割り当てる場合は、ドメイン管理会社の管理画面にアクセスして、DNSレコード設定を書き換えます。

移転先サーバをメールサーバとしても利用している場合は、予め移転先サーバのメール関連の設定も済ませておく必要があります。DNSレコードを書き換える前にメールサーバが設定できていないと、DNS切り替え後にメールの送受信ができなくなります

DNSレコードは設定してもすぐには反映されません。ドメイン管理会社やドメインの種類にもよりますが、だいたい3~12時間程度かかります。商用サイトの場合は、DNSレコードを深夜に設定し、翌朝に反映されるよう狙います。(下図は、Value-domainの例)

2014年3月2日

CMS比較(WordPress / Joomla! / MODX)

WordPress, Joomla!, MODXのCMS(コンテンツ・マネジメント・システム)の違いを比較し、サイトの用途に応じたCMSの選び方をまとめます。
WordPressJoomla!MODX Evolution
適性 ブログ(時系列に記事を並べるウェブサイト、タグで記事をジャンル分けするウェブサイト) ポータルサイト、会員制サイト(ログインの必要なサイト)、100ページ以上になることが想定されるサイト 数十ページの小規模なウェブサイト。デザイン的自由度の高いサイト。HTMLホームページからのCMS化。
利用実績 海外、国内ともにトップシェアのCMS 海外ではWordPressと人気を二分するCMS 後発のため、海外、国内ともにシェアが低い
テンプレート WordPress用テンプレートは豊富。HTMLからのテンプレート化はスキルが必要。 海外ではJoomla!用テンプレートが豊富。HTMLからのテンプレート化はスキルが必要。 MODX用テンプレートは不要(ほとんどのHTMLテンプレートが利用可能)。HTMLからのテンプレート化が容易
デザイン性 ページごとのレイアウト変更、同一サイト内での複数テンプレート利用にはPHPの編集が必要。 ページごとのレイアウト変更が容易。Ver.2.5以降、同一サイト内での複数テンプレート利用が可能。 ページごとのレイアウト変更が容易同一サイト内での複数テンプレート利用が容易
会員
管理
(排他制御)
管理画面の排他制御が可能。ユーザーの排他制御機能はない。 管理画面、ユーザー画面ともに細かい排他制御が設定できる。サードパーティ製エクステンションの使用で、ログインユーザー専用のメルマガ機能やSNS機能を実装可能。 管理画面、ユーザー画面ともに細かい排他制御が設定できる。サードパーティ製スニペットが少ないため、ログインユーザー機能の高度化には専門知識が必要。
カスタマイズ性 標準機能だけではできることが少ない。サードパーティ製の拡張機能が豊富。(ただし、カスタマイズにはPHPの編集が必要なケースが多い。) 標準で会員管理(ログイン制御)機能や問い合わせフォーム生成機能がある。サードパーティ製エクステンションが豊富。(英語が読めればPHPの知識がなくても高度な機能を実装できる。) バックアップ機能、問い合わせフォーム生成機能、RSS生成機能、メニュー自動生成機能が標準で揃っている反面、サードパーティの拡張機能は少ない。入力欄を自由に追加できる(複数の入力欄を持てる)
内部リンクの強さ 固定ページについては、URLを変えるとリンクが切れる。投稿ページは、リンクをIDで指定すれば、URLを変えてもリンクが切れない。 エディタでリンク先を参照することで、リンク先をIDで指定できるため、URL(ディレクトリ構造)を変更してもリンクが切れにくい リンク先をIDで指定するため、URL(ディレクトリ構造)を変更してもリンクが切れにくい
引越し

(サーバ
移行・
移設・
移転)
他のCMSよりも煩雑。データベース(MySQL)とFTPのデータ転送、パーミッションの設定変更、wp-config.phpの設定変更に加えて、修正すべき箇所が多い。さらに、使用するプラグインごとに確認が必要で、プラグイン数によって修正すべき箇所が増える。 標準機能だけならば、データベース(MySQL)とFTPのデータ転送、パーミッションの設定変更、configuration.phpの設定変更ぐらい。使用するコンポーネントごとに確認が必要で、コンポーネント数によって修正すべき箇所が増える。 他のCMSに比べて容易。データベース(MySQL)とFTPのデータ転送、パーミッションの設定変更、config.inc.phpの設定変更ぐらい。
必要なスキル HTML, CSS, PHP (カスタマイズにはPHPの知識が必須) HTML, CSS(PHPの知識があれば早く使いこなせるが、なくても困らない。) HTML, CSS (PHPがわからなくてもカスタマイズ可能。)

補足

MODXのスニペットに相当するコンポーネントやモジュールの種類がJoomla!は圧倒的に豊富で、かつ高機能なものが多いです。例えば、ログイン制御(会員管理)、SNS機能、メルマガ配信機能、スマートフォン対応表示など、将来的に機能を拡張する予定があればMODXよりもJoomla!のほうが適しています。ただし、Joomla!はその機能性の高さから習得に時間がかかります。また、デザイン的な制約を受けるため、既存のHTMLサイトをCMSに移行するには不向きです。

WordPressとMODX Evolutionの管理画面に見る違い

WordPressの管理画面では、「トップページ」、「時系列表示しないページ」、「時系列表示するページ」を別々に管理します。
  • トップページ:テーマ編集 > インデックスページのテンプレート
  • 時系列表示しないページ:固定ページ
  • 時系列表示するページ:投稿
WordPressは、もともとブログ用に時系列表示しやすく設計されました。時系列表示しないページの作成機能やトップページのカスタマイズ機能は後付けされたために、このような構造になりました。
これに対して、MODXの管理画面は上図のようにすべてのページをツリー状に表示します。
MODXの管理画面は、直感的に操作できるようにサイトマップ的なインターフェースになっているのが特徴です。HTMLホームページからWordPressに移行しようとすると、「固定ページ」にするか「投稿」にするかという時系列表示の制約に縛られます。その点、MODXはもともと時系列の制約がなく、サイトマップ的なインターフェースになっているため、HTMLで組んだホームページのCMS化にも適しています。

2014年2月22日

FFFTPを使いやすくする設定

FTPソフトにFFFTPを使う際は、ビューワにTeraPadなどのテキストエディタを登録しておくと、さらに便利になります。

ベクターのFFFTPのページからダウンロードします。

インストーラを実行してインストールします。

FFFTPを起動します。

「新規ホスト」でサーバのFTP環境を設定します。

「オプション」メニューの「環境設定」を開きます。

「ビューワ」タブを開いて、「ビューワ2」の右側のボタンをクリックします。
テキストエディタの実行ファイル(下図の例ではTeraPad.exe)を参照して「開く」
「ビューワ2」にTeraPad.exeが追加されたことを確認して、「OK」。
    これで、FFFTP上でTeraPadを指定してファイルを開くことができるようになります。