Home arrow Link arrow Joomla! CMS

Joomla! サイトのローカルコピーを作成

diggに追加!

サイトを運営していると新しいエクステンションをテストしたり、表示を確かめることってありますよね。Joomla!の場合オンライン上で記事を書き、また編集できちゃうので以前のローカルでテストしてということをされていない方もおられるのではないでしょうか。

サイトのローカルコピーを先日再作成したときの手順を書いてみます。

必要なもの

  • FileZilla FTP Client
    これは、いつも使っているFTPクライアントでOKです。なぜFileZillaかは、以前の記事 に書いたように多重接続ができるからです。また、サーバー側でバーチャルシェル機能(サーバー側で圧縮展開できる)などがある場合は、また別です。
  • phpMyAdmin
    データベースをバックアップできればなんでも良い。
  • テキストエディタ
  • ローカルWebサーバ環境
    XAMPPなどで環境を作成してください。

ファイルのコピー

まずは、サーバー上のファイルをすべてローカルWebサーバー上のXAMPPならhtdocs以下の任意のフォルダにコピーします。

XAMPPをインストールしたフォルダ D:\xampp

サーバー上のファイルを入れるフォルダ D:\xampp\htdocs\example
この中にすべてのファイルを入れる。(htdocs直下を使っても良いが、XAMPPのファイルと重複したりするので注意。)

configuration.phpを編集

  • $mosConfig_absolute_path = 'D:/xampp/htdocs/example';
    \マークがスラッシュになっていることに注意してください。
  • $mosConfig_cachepath = 'D:/xampp/htdocs/example/cache';
    \マークがスラッシュになっていることに注意してください。
  • $mosConfig_db = 'あなたのこれから作るローカルデータベース名';
  • $mosConfig_user = 'あなたのローカルDBユーザ名';
  • $mosConfig_password = 'あなたのローカルDBパスワード';

データベースをコピー

phpmyadmin.jpgサーバー上のphpMyAdminを使いエクスポートを選択。
サーバーによって異なりますがデータベースを表示している場合は、テーブルすべてを選択。データベース名を選択できる場合は、該当のデータベース名を選択します。(イメージ参照)

そして以下にチェックをいれます。
(これは、チェックしなくても問題ないですが、失敗したときや個別にテーブルをインポートするときなどに便利です。)

  • DROP TABLE / DROP VIEWを追加
  • IF NOT EXISTS を追加

最後にファイルに保存するにチェックを入れそのまま実行するボタンを押し、ローカルPCのどこかにファイルを保存します。

localhost.sql (ファイル名は、環境により異なりデータベース名だったりします。)

これで、ローカルPCにデータベースのデータがコピーできました。

XAMPPのphpMyAdminを開く

  • http://localhost/phpmyadmin

database_create.jpgデータベースをインポート

サーバー上と同じデータベース名(異なっても構いません。上の「これから作るローカルデータベース名」のこと)でデータベースを作成する。
このとき、照合順序に注意してください。

※そして必ずチェックしてください。上記で作成したローカルPCにコピーしたsqlファイルを開き、下記のような部分が無いかチェックしてください。
(ファイルのはじめに一カ所しかありません。)

  • database_caution.jpgDROP DATABASE `あなたのデータベース名`;
    「あなたのデータベース名」というデータベースがあれば削除します。

  • CREATE DATABASE `あなたのデータベース名`;
    「あなたのデータベース名」というデータベースを作成します。

  • USE あなたのデータベース名;
    「あなたのデータベース名」というデータベースを使用するよう指示します。


DROP DATABASEの行とCREATE DATABASEの行は、削除してください。そしてUSE~の行があれば上で作成したデータベース名を書けば良いのですが、今回は削除しましょう。
※sqlファイルを開くとき文字コードに注意してください。Joomla!の場合大抵UTF-8です。保存するとき異なる文字コードで保存してしまうと壊れます。

作成した空のデータベースをphpMyAdminで表示します。
空なのでテーブルがありませんと表示されています。

database_in.jpg上のメニューから「インポート」をクリック。先ほどのsqlファイルを指定し、実行するボタンを押下。

しばらく待ってインポート完了。


http://localhost/exampleを開く

※MySQLのサーバーとローカルでのバージョン違いなどでエラーが出る場合があります。その時は、そのエラーを見て該当する部分を修正しないといけないこともありますのでご注意ください。

 

Related Articles

mod WebLink Infoを公開しました : Joomla!1.5
Joomla! 1.5用 モジュール WebLink Infoを先日作成したBetaから少し変更し、正式に公開しました。 このモジュールは、Joomla!1.5のWeb Linkに登録されているア...
カテゴリの追加と移動:Joomla!
Joomla!って本当に便利ですね。 先日カスタムテンプレートを公開しましたが、docmanではカテゴリを作成していたのですが、エクステンションメニューにテンプレートのカテゴリを作成していなかったの...
5分でつくるJoomla! モジュール
Joomla!のエクステンションで一番簡単に作成できるのがモジュールだと思います。もちろん、複雑な処理をするものも作成できるのですが簡単なものならすぐにできます。簡単なモジュールを作ってみましょう。...
Wavelog
携帯でノキアを使っている方ならWavelogというソフトでブログに投稿できるそうだ。 WordPress (v 2.3.1 and higher)** and Drupal (v 5.6 and ...
Joomla!1.5 with greybox : Hack
少し改造してみた。 http://demo.joomler.net/ 各記事上のPDFアイコンとE-Mailアイコンをクリックしてみてください。 GreyBoxを使って表示するようにしてみました。 ...
時々サーバーに接続できないと言われる
たまにリンクが切れているとかサイトが見られないなどとメールが来るのだが、何が原因なのか不明です。もしかするとJavascript?などと考えてみたりもするが、わかりません。リンク切れの多くは、exte...
KoebiStudio PHP エディタ
PHP エディタで「KoebiStudio」ってのを知りました。 サイト:KoebiStudio 「無償でありながら優れたエディタであり、”プログラマの負担を軽減する...
エクステンションに隠しリンク
エクステンションの隠しリンク(広告)は、やめようよ。 Joomler!.netのエクステンションには隠しリンクは、ありません。 リンクは、表示しています。消すのは自由です。それは、Joomla.o...
Google AJAX APIs
Google Ajax APIsはすでにみなさんはご存じかと思います。Joomla!のコンポーネントやモジュール、マンボットなどでもたくさんこのAPIを使ったものが見受けられます。他サイトの...
htaccessのサンプル
Joomlaのadministratorフォルダとxmlrpcフォルダに.htaccessでアクセス制限をかけましょう。 以下は、サンプル。※指定したIPアドレスなら認証をスルーします。ご注意を。 ...
GreyBoxが動かない: GreyBox Show plugin
Web Links
NASAのサイトがすごくなりそうです
Joomla!1.5の最新リビジョンで異なるDatabase Charsetを試してみた
アップデートしました:Joomla! MovableType XML-RPC Plugin
SyntaxHighlighter Plugin : アップデートしました Update !!
Joomla! 1.5 Stableにアップグレードした
extensions.joomla.orgがアップデートされていますよ
Joomla! 1.0.14 RC1へ
PHPのチュートリアル

C_square_trans.png Components
Joomla! Extensions
M_square_trans.png Modules
Joomla! Extensions
P_square_trans.png Plugins
Joomla! Extensions
Templates
Joomla! Extensions
a_delphi.gif Delphi for PHP
Delphi for PHP related