Joomla! の話を聞いてみたくて… オープンソースカンファレンス 2009 Nagoya というのに参加してきました。
Joomla! オフィシャル日本語翻訳チームのプロジェクトマネージャーさん とお話をさせて頂き、その活動方針にとても共感… Geeklogさん、Drupalさん、Wordpressさん… 皆さんいらっしゃいましたが、一番好感持てました。
WordPress → Joomla! 引越しかな…
Joomla! じゃぱん( http://www.joomla.jp/ )
Joomla! の話を聞いてみたくて… オープンソースカンファレンス 2009 Nagoya というのに参加してきました。
Joomla! オフィシャル日本語翻訳チームのプロジェクトマネージャーさん とお話をさせて頂き、その活動方針にとても共感… Geeklogさん、Drupalさん、Wordpressさん… 皆さんいらっしゃいましたが、一番好感持てました。
WordPress → Joomla! 引越しかな…
Joomla! じゃぱん( http://www.joomla.jp/ )
新たに何らかサイトを立ち上げようと思った場合… オープンソースプロダクトを利用したほうが簡単。CMSは、Geeklogを使っていましたが、いろいろな面でWordpressのほうが簡単なので、本サイトはWordpressを採用しました。
オンラインショップは、Zencartで構築しようと作業をしております。このサイトデザインに合わせたZencart用のデザインテンプレートがほぼ完成しつつあり、あと少しという所まで来ているのですが… 最近になって、Joomla! & VirtueMart という組み合わせが良さそうに思えてきました。
ただ、Joomla! は、海外では他のCMSを蹴落とす勢いですが… 国内では、いまいちメジャーになりきれていない様子。 VirtueMartに至っては、国内での実績がなく日本語の情報がほとんど無い状態。 始めてしまった後は、それで走るしかないので… このまま ZenCartで進めるか?いっそ、乗り換えるか? 悩みどころです。
VirtueMart は、とても良さげなので、何らか貢献したいとは思うのですが… あれこれ手を伸ばし過ぎ!という気も… (汗)
Ebatech, IcadWeb… 過去に作成したコンテンツが沢山検索エンジンに載っています。サーバーを移転する過程で整理してしまったものが多く… 「404 Not Found」 となってしまうページがほとんどかもしれません。
情報として枯れてしまうスピードが速い業界… 有用なコンテンツは少ないとは思いますが… (歴史を振り返るという点では貴重な資料になるのかな?) 各サイトが 「SEO対策」に躍起となっている昨今、折角検索サイトに登録されている URL を捨ててしまうのは勿体無い話なのかもしれません。
ページを移動した際、これまで <META>タグの “reflesh” で新しいページに移動させていたのですが… 「この手法によるページ移動は、リダイレクトとは呼べない」 と解説しているサイトが多いようです。IT用語辞典 – HTTPリダイレクトとは (HTTP redirect)
MySQL データベースに暗号化された文字列が保存されていて、それを元の文字列に戻せないか?と調べておりました。
多くのCMSはPHP で作成されていますが、文字列を暗号化する場合には md5() 関数が利用されていることが多いようです。
<?php
$pass = “password”;
$md5_hash = md5($pass);
echo “元の文字列: ” . $pass . “<br>”;
echo “暗号文字列: ” . $md5_hash . “<br>”;
?>
結果
元の文字列: password
暗号文字列: 5f4dcc3b5aa765d61d8327deb882cf99
PHP 関連の FAQを調べますと… 「md5 によって暗号化された文字列は元に戻せません」というのが一般的な回答みたいです。
確かに、考えてみれば… 「暗号化」技術は、元の文字列に戻すこと(復号化)ができないほうが「安全」なので、「複合化」の手順は用意されていないほうが信頼性があります。
WEBサイト管理者としては… お客様が設定されたパスワードが(仮にシステム担当者に限定されたとしても)露出することは好ましくありませんので、暗号化された文字列は暗号化されたままの状態で保持しておくほうが懸命だと思いました。
パスワード忘れた>再発行 という手順を踏むと、設定されているパスワードをメールで返してくれるサイトが多いですが… 親切? 自分が設定したパスワードをデータベースに「閲覧可能な文字列」として保持していることになるんですね。
パスワードの再発行依頼に対して、「こちらのURLで再設定してください」というメールが届く場合は、おそらくパスワードを複合できない状態で保持しているからで、「いちいち面倒だなぁ~」とは思いますが… こちらのほうが信頼できるサイトと言えるのかもしれません。
最近のWebアプリケーションの技術を調べていくと、これにたどり着きます。Ajaxは、後付けてきな名前「= 非同期(Asynchronous) Java Script + XML」で、技術としては新しいものではありませんが、Googleが提供する各種サービス (Map,Document…) が、この技術を使っていることによって、一躍脚光を浴びることになりました。
Ajaxとは少し異なりますが… 私的には、同じくクライアント側で動作するアプリケーションを作成する手法として、Adobe Flex にかなり興味を持ってます。
オンラインショップを立ち上げてみようかと、目論んでます…
オープンソース徹底活用 Zen Cartによるオンラインショップ構築・運用テクニック (2008/04) Zen‐Cart.JP(Zen Cart日本語化プロジェクト) |
使えそうです。
Visual C# を使って Webアプリケーションを作成する場合、ASP.NET と組み合わせるのが普通ですが… 様々な理由があって、Webサーバーは、Windows版のApacheを使いたいということもあるかと思います。
実は、とても簡単に作ることができます。
標準出力にHTML文を出力するプログラムを作成するだけ!
具体的には…
(Visual C# 2008 Express Editionで説明します)
ファイル(F)> 新しいプロジェクト(P)> コンソールアプリケーション
プロジェクト名:ConsoleApp
プログラムソース(Program.cs)
namespace ConsoleApp { class Program { static void Main(string[] args) { Console.WriteLine("Content-type: text/htmln"); Console.WriteLine("<HTML>"); Console.WriteLine("<HEAD>"); Console.WriteLine("<TITLE>タイトル</TITLE>"); Console.WriteLine("</HEAD>"); Console.WriteLine("<BODY>"); Console.WriteLine("出力したいデータ"); Console.WriteLine("</BODY>"); Console.WriteLine("</HTML>"); } } }
基本的には、これでOK!
最初にヘッダ文字列(”Content-type: text/html”)と[空行]を出力する所がポイントで、あとは通常のHTMLデータが出力されるようにプログラムを組むことになります。
このプログラム(Console.exe)を、Apacheが稼動するサーバーのDosumentRoot下へ保存しますが、ファイルの拡張子が「.exe」のままではいけません。
Apacheの流儀にあわせて、拡張子を「.cgi」とします。
(ファイル名を変更するだけです ConsoleApp.exe → ConsoleApp.cgi)
動作しない場合は、Apacheの設定ファイル(http.conf)の以下の部分を確認します。
↓コメント(#)になっていたら、外して有効にする。
LoadModule cgi_module modules/mod_cgi.so
<Directory "プログラムを保存する場所">
Options ExecCGI を加える
</Directory>
↓コメント(#)になっていたら、外して有効にする。
AddHandler cgi-script .cgi
プログラムに引数を渡したい場合…
(続きを読む…)
PukiWikiサイトをメモ代わりに本格稼動させることにしました。
PHPが動作するWebサーバーがあれば、インストールはとても簡単です。しばらく、会社PCにインストールしてコンテンツを作っておりましたが… これ社内のコミュニケーションツールに使えるかも?ということで、社内LANから参照できるサーバーへ移動>でも、これ東京営業所からもアクセスしたいよね?ということで、結局、LANの外側に置かれたサーバーに認証をかけて置くことにしました。
外出先からもアクセスできます。
ローカルPC(Windowsマシン)に蓄積したデータをサーバー(Linux)に転送したわけですが… ちょっと困ったことに、ファイルを ftp転送すると、データの日付が全部「今日」になってしまいます。PukiWikiは、ファイルのタイムスタンプを見ているようで… 更新履歴がリセットされてしまうようです。
自分が使うftpソフトは、サーバーからダウンロードする際にタイムスタンプを保持する機能は付いておりましたが、サーバーへアップロードする際にタイムスタンプを保持する機能がありません。
そこで、思いついたのが、圧縮したファイルを転送してサーバー側で解凍するという方法なのですが… Windowsで一般的な、ZIP形式のファイルは、通常、Linuxでは使えないので少し工夫が要ります。Linux側で解凍できるファイル形式をWindowsで作成しなければなりません。
Linuxでは、拡張子 .gz のGZIP形式が一般的ですから、Windows で .gz 形式のファイルを作成できるソフトを物色しておりましたら… 普段から使っている、7-Zip で.tar ファイルを生成できることが判り、これを使いました。
7-Zip は、ZIPファイルを作成できるフリーソフトです。 コマンドラインで使えるので、バッチファイルで.ZIPファイルを生成するときに重宝しています。
hogehoge.tar ファイルを生成>Linuxサーバーへ転送
> tar xvf hogehoge.tar
無事、ディレクトリ構成毎、タイプスタンプを保持したファイル群が作成されました。(喜)
Eclipseは、Javaの開発環境としては、「標準」といってよいくらいに、とても有名なようですが… Javaを触る機会が無かったので知りませんでした。ところが、このツールは、Javaで開発を行わない人にとっても便利だと聞きました。
Subversionの解説書で紹介されていた(ソース管理と連携が取れる)ことと、PHPの開発環境として利用できるらしいということで、興味を持ちました。
Zend Debugger を使うと、サーバーと連携してPHPのデバック(ブレークポイントを設定したり、変数を参照したり)が出来る!とのことなので、とても魅力的です。
そこで、インストール方法を調べてるるうちに、この市販パッケージにたどり着きました。 EclipseをPHPの開発環境に利用する場合は、これを購入するのが一番簡単そうです。
> Zend Studio for Eclipse 日本語版
Web関係のアプリケーションは、あれこれプログラムを個別に入手して、独自に環境を作成する場合は「無償」ですが、例外なく?とても面倒なので、インストール&セットアップを簡単にした市販パッケージが存在します。
Zend という語は、PHP関連の文献で良く目にしていましたが… PHP を商用ビジネスにしているのが、Zend社というわけなんですね。日本法人は、Turbolinux社の傘下にあるようです。
※便利さと引き換えに自由度を失うという点では、Turbolinuxと同様、仕方が無い所ですね…
↓無償で手に入れるには?
英語サイト>Eclipse PDT (PHP Development Tools) が、ほぼ同じか…
最近は、本サイトで使っているWordpressみたいな、ブログ系のCMSが主流なのですが… あえてWiki を物色しています。 調べた事を静的なコンテンツとしてまとめ、それを情報として公開(配信)したいと考えた場合… メモ用途に便利!となると、Wikiなのかなと…
あれこれ物色した結果、PukiWiki を使うことにしました。
・国産である。
・解説本もでていて、有名である。
・PHPで書かれている。
・わりと少人数でやってる?手作り感が良い。
・外部DBを使わないので、インストール&メンテが簡単そう。
という点が気に入りました。
現在の最新版(1.4.7)> 2006-10-21 ということで、2年近く更新されておりません(既にプロジェクトは終焉?)が… PukiWiki開発サイト