Atelierで“Xserver”タグの付いているブログ記事

2018年12月10日

隠居のPC備忘録:Xserver - Movable Type 7 での指定時投稿の方法

Movable Type をバージョンアップする前(MT4.0) にはできていたのに、7 にアップしてから指定日時投稿ができなくなった。普段あまりそのようなことをすることはないのだが、年賀状の記事投稿を元旦の早朝に上げるような時に使っていた。今年は 9月に Movable Type をバージョンアップしているので、一度試しておこうとテストしてみた。が、うまくいかない。
 MT の記事編集画面で公開日時を指定し、サーバー上で同時に(私は、MovableType の運用は、レンタル・サーバーの Xserver を使っている。)cron 設定で日時を指定することまでは覚えていた。cron を使う方法は変わっていないと思うのだが、以前は見よう見まねで、どこからかひらってきたコマンドでうまくいっていたのだ。こうなると基本的な知識がないから、原因がさっぱり検討がつかない。
 このようなページで、cronとは何かの学習から始めなければならなかったが、なんとか自力で公開日時投稿ができるようになったので、備忘録として記録しておきたい。歳とともに、記憶力は極端に減衰してきている。

【MT の記事編集画面で公開日時を指定する】
 編集画面の右カラムで、【公開】の「ステータス」で 日時指定 を選択する。その下の「公開する」で日付ボックスをクリックするとカレンダーが表示されるので、記事をアップしたい日付を選ぶ。その下の時刻表示では、時間(24時間):分(2桁):秒(2桁)で設定する。
【保存】ボタンをクリックして保存する。MT の記事編集画面でする作業はこれだけである。

【Xserver での cron 設定】

  • Xserverのサーバーパネルにログインする。
  • 【アカウント】のグループにある「⇒Cron設定」を選択する。
  • 【Cron設定】画面で、「CRON一覧」タブの、「予約投稿テスト」の「変更」ボタンをクリックする。
    一般的な解説ページでは、「CRON追加」タブを選択し、新たに、日時指定と実行するコマンドを入力するように説明されているが、一回限りの日時指定投稿では、すでに作成しているコマンドを利用する方が楽ちんである。
  • 出てきた画面で、下の表のルールで日時指定をする。例えば、1月1日午前1時ちょうどならば、分:0 時間:1 日:1 月:1 曜日:* という風に設定する。* は何曜日でも適応される。 

    cron-04.JPG

  • コマンド欄には、次のように入力する。
    cd /home/ユーザ名/ドメイン/public_html/cgi/mt77; ./tools/run-periodic-tasks
    「変更」の場合には、コマンドはすでに表示されているから、編集する必要はない。実は、つまづいたのはこの部分である。指定日時投稿を実行する run-periodic-tasks というスクリプトは、MT アプリケーションファイルが収納されているフォルダー(私の場合:/public_html/cgi/mt77 )にある tools というフォルダーにある。このフォルダーへのパスである /home/ユーザ名/ドメイン/public_html/cgi/mt77 の後ろに /(trailing slash) をつけているとうまくいかない。それと、./tools/run-periodic-tasks へのつなぎ(;)もよく理解できていない。Linux script の書き方らしいが。マネするしかしかたない。

    cron-03.JPG


【FTPで、run-periodic-tasks のパーミッション設定】
FFFTPを使って、ファイル [run-periodic-tasks] のパーミッションを 755 に設定した。ネットサーチをしていると、そのような記述があったので、修正しておいた。

この記事も、実験的に、12月10日13時に、予約投稿にしてみた。

2018年10月22日

ご迷惑をおかけしました。

 9月のはじめに台風21号が関西地方を襲ったあたりから、13年間ほど続けてきた Movable Type でのブログが不調になった。文字化けしたり、PHPエラ-が起こって、新しくブログが投稿できない。乏しい知識でいろいろと調査してみたが、原因が分からない。
 レンタル・サーバー先である Xserver に質問を投げかけたが、少しはましになったが、解決しない。テンプレートを導入した【小粋空間】を運営している荒木勇次郎さんという方にも質問を投げかけたが、調査はしてくれているようだが返答はない。
 困り果てた。
 

 3人の老人が原稿を書いてきた、MovableTypeで続けてきたブログは、10年以上になったので、1500あまりの記事や多くの写真がが蓄積されている。この財産はあまりにも大きいので、MovableTypeを取り扱うプロ(大阪のトリックスター)に、お願いした。何回かのメールでのやり取りの結果、文字化け対策と文字化けの間接的要因になったMovable Type のバージョン(4.1)を最新(7.0)にしてもらう契約を、年金生活者でも払える程度の金額で引き受けてもらった。トラブルが起こってから、1か月もたった10月のはじめである。
 その後、技術担当者とメールでやり取りして、ようやく最近になって、元の形に回復してきた。さすがプロである。トラブル中に誤って消してしまったものや、カスタマイズしていたものは、再度学習をし直して、まだ、修復中であるが、あとは時間をかけるだけになった。老人ボケ対策にはいいかもしれない。

 

この間に折角訪問していただいた方には、もうしわけなかったが、過去の財産を生かしながら、新たに喜寿を越えた老人のブログを継続していくつもりである。

2017年1月 6日

隠居のブログ:XServerでMovable Typeの日時指定投稿を設定する方法(備忘録)

MT4 で投稿日時指定をするときに、いつも「どのようにするんだっけ」と手さぐりになるので、手順を備忘録として残しておきたい。
  1. レンタル・サーバー Xserver のCon設定画面を開ける。(Xserver へのログインは、サーバーパネルからである)
  2. MT自動投稿とコメントしているコマンドはそのままで、日時を変更する。
    投稿月日を例えば、1月1日1時5分と指定したい時は、以下のように行う。曜日は、月曜が1で土曜日が6だが、日曜日は、0か7である。しかし、*印を入力すれば、何曜日でもOKである。

    cron01.JPG

  3. コマンドについては、以下のようなページを参考にしたようであるが、変更は不要である。
    XServerでMovable Typeの日時指定投稿を設定する方法

2016年4月15日

隠居のパソコン備忘録:Google Picasa3 で作ったアルバムをウェブアルバムとしてアップロードする

先日高校同期のウオーキング・飲み仲間と、花見を目的に、阪神香櫨園から阪急西宮北口まで歩いて、北口の居酒屋で一杯した。
 平坦なところを歩くというので持って行った SONY α7Ⅱ で撮った写真を仲間にも見てもらおうと共有する方法を考えた。昨秋、別の集まりで和倉温泉・金沢に旅したときの写真をウェブアルバムとして共有したことを思い出し、今回もその方法で思ったが、どうしても思い出せない。かなり簡単な方法であったとは覚えているが、その方法に辿りつけない。痴呆は進行しているようだ。
 ネットでのサーチや自分のブログの記録にないかと探したがヒットしない。その時にやり取りしたメールを辿って行くと、どうやら Google Picasa3 でアルバムを作成し、ブログ用のレンタルサーバーにアップロードしたと分かった。分かってみれば、それほど難しい作業ではないが、たどり着くのに時間がかかったので、次回同じような作業をする場合に備えて、方法を備忘録として記録しておきたい。
 私は、基本的に写真の整理は、Google Picasa3 を使っているので、これを前提として記述する。
 Google Picasa3 の導入については、Googleの写真編集ソフトを参照ください。

 
  1. 新規にアルバムを作成するには、Picasa3 ツールバー「ファイル(F)」から{新規アルバム}を選択する。【アルバム プロパティ】画面が出てくるので、ここにアルバム名などを入力し、OK する。と新規アルバムが作成される。こ

    album-02.JPG
    album-03.JPG

    ここでは、新しいアルバムとして、上のように、「花の文化園:2016/4/6」を作成した例を示したい。 新しくアルバムが作成されると、Picasa3 の画面左カラムに、下のように新アルバム名が表示される。

    album-04.JPG

  2. アルバムに収載したい写真を Picasa3 から選択し、(サムネイルからでも、一枚ずつ表示しながらでも)右クリックすると次のような画面が出てくるので、作成してあるアルバムを選択すると該当するアルバムに写真が追加される。

    album-05.JPG

    追加した写真の枚数は、下のように、アルバム名の後の( )内に数字が表示されるとともに、写真のサムネイルが表示される。

    album-06.JPG

  3. このアルバムをウェブアルバムとして共有するには、アルバム名を右クリックすると出てくる画面で、「HTMLページとしてエクスポート」を選択する。

    album-07.JPG

    すると、エクスポートするURL ページの詳細を決める画面が出てくるので、アルバムに掲載される写真の大きさを指定したり、PCに保存するフォルダーや画面の体裁(選択肢はあまりないが)を選択して、エクスポートすると指定したフォルダーに保存される。

    album-08.JPG
    どのようなページになっているかの確認は、エクスポート保存したファイルをクリックすれば、ブラウザーに表示される。

  4. 後は、ウエブサーバーにアップロードするだけである。アップロードは、作成保存したフォルダーまるごとをサーバーに転送すればよい。
    私の場合、ウエブサーバーは、ブログ用にレンタルしている Xserver で、アップロード(FTP)は、FFFTP を使っている。

    album-10.JPG


 なお、この用例に使用したアルバムは下のURLで確認できます。内容は全くありません。
 http://n-shuhei.net/photo/花の文化園:201646/index.html
 写真を見てもらう人には、このURL (フォルダーの)をメールで送信すれば良い。メールで写真を送付するのが、一番簡便であるが、量に制限がある。この方法なら、かなりの量の写真も見てもらうことができる。
 なお、掲載した写真の中から、自分用に特定の写真をダウンロードしたい場合は、ページ上の該当写真を右クリックすると出る画面で、「名前をつけて画像を保存」を選択することで、パソコン内に取り込むことができる。

2015年8月 8日

隠居のパソコン備忘録: 500 Internal Server Error の修復

ブログが突如開けなくなったと、当サイトの YAMAKO さんからメールが入った。あわてて自分のブログ(n-shuhei.net/atelier/)にアクセスすると、下のように同じ 500 error がでる。
 レンタル・サーバー先の Xserver のサポートの助けがあって、なんとか修復できたので、備忘録として記録しておきたい。

Error500-01.JPG

"Internal Server Error xserver" (xerver はサイトを置いているレンタル・サーバーである)で原因をネットで探ってみると、次のような回答があった。

Error500-02.JPG

新しいプラグインを設定するなど何も弄っていないので、原因は「CGIやPHPの同時接続数が多くなり、アカウント単位のリソース制限となっている」ぐらいしか考えられないが、急激にアクセスが増えたとは思われない。知識が少ない老人には解決できそうにない。思い余って、xserver のサポートに助けを求めた。

本件はお客様のサーバーアカウントにおきましてプログラム負荷が高まったため、一時的なリソース制限が行われその影響で500エラーが発生しているようです。

当サービスではPHPやCGIプログラムの実行、FTP接続、IMAP接続など全ての動作における合計に「同時稼動数」の上限を設けております。

「同時稼動数」が上限に達しますとPHPやCGIの実行で500エラーや503エラーが発生したり、IMAP接続に失敗するという状況が発生します。

そのような状況下で500エラーが発生している場合はサーバーパネル「ログファイル」にてエラーログを確認していただければリソース制限によるものかどうかをある程度確認することが可能です。

エラーログには以下のようなログが発生しますのでご参考にしていただければと存じます。
------------------------------------
Resource temporarily unavailable(PHP実行時)
suexec policy violation: see suexec log for more details(CGI実行時)
------------------------------------
Premature end of script headers
という旨のエラーメッセージが表示されている場合は、CGIの同時起動数が多くなり、 アカウント単位のリソース制限がかかっている可能性がございます。

(ご参考:突然、または断続的にCGIやPHPが500エラーで動作しない。)
http://www.xserver.ne.jp/faq_service_php.php#11

お客様の場合はCGIプログラムが、この「同時稼動数」を圧迫し、WEBサイト上のPHPなどの実行にも影響を及ぼしております。

大変お手数ですが、お客様が構築なされたプログラムについて構成の見直しを行っていただくことや、該当プログラムを一時削除いただく、またはパーミッション値を000等に変更し無効化することで症状が改善されるかなどお試しいただきましたら幸いです。

自分で分かる範囲で、指示された事項をいじってみたがうまくいかない。それで、"Xserver 500 error" で更にググってみると、次のようなページがヒットした。
http://net10man.com/archives/1836/
ここに書かれているPHP高速化設定(FastCGI化)を XserverPanel で実行してみると、ホームページへのアクセスは出来るようになった。が、MovableType の管理・編集画面でも同じような 500 Internal Server Error が出て、新たにブログを編集することができない。

再び、Xserver サポートに助けを求めた。次のような回答があり、今回の原因は悪質なクローラーが絨毯爆撃的に、robot でクロールしていたことが原因らしいと分かった。

サポートにて確認いたしましたところ、このたびのリソース制限の原因でございますが、お客様設置の【mt-search.cgi】というプログラムが多数稼動しサーバーアカウントにてご利用可能なリソースを大きく圧迫しておりました。

取り急ぎサポートにて該当プロセスを強制終了しましたので、再度状況をご確認くださいますようお願いいたします。

また、これまでと同様のホームページ運用を行っている場合、いずれ同様の500エラーが発生してしまいます。

・該当プログラムへのサーチエンジンロボット(クローラー)からの過剰なアクセスがある場合にはアクセスを拒否する
など、適切なご対応をいただきますようお願いいたします。

 ※mt-search.cgiはMovableTypeにて作成した記事の「全文検索」を行うためのプログラムかと存じます。こちらのプログラムへ集中アクセスが起きた場合、この度のようなリソース制限の原因となってしまいます。

悪質クローラーからのアクセスを拒否する方法について、xserver サポートに問い合わせて見ると、次のような回答があった。以下に記すように、ブログへのアクセス解析サービス Artisan lite を導入しているので、方法をよく考えて実施したいと思う。それにしても、たくさんのクローラー(検索エンジンBot)がネット上では動いているのだ。

検索エンジンBotのアクセス制限につきましては、サーバーパネル「アクセス拒否」設定等にて設定を行っていただければと存じます。
 ※アクセスログ等にて過剰なアクセスがないか等、ご確認ください。
なお、主要な検索エンジンのクローラーからのアクセスを拒否しても問題がないようでございましたら、[public_html]フォルダ直下の[.htaccess]に、下記の記述を追加していただくことで拒否が可能でございます。
########################################
Deny from env=blockbot

SetEnvIf User-Agent "Googlebot" blockbot
SetEnvIf User-Agent "Slurp" blockbot
SetEnvIf User-Agent "bingbot" blockbot
SetEnvIf User-Agent "Yeti" blockbot
SetEnvIf User-Agent "Baiduspider" blockbot
SetEnvIf User-Agent "DotBot" blockbot
SetEnvIf User-Agent "AhrefsBot" blockbot
SetEnvIf User-Agent "bingbot" blockbot
SetEnvIf User-Agent "TweetmemeBot" blockbot
SetEnvIf User-Agent "FlipboardProxy" blockbot
SetEnvIf User-Agent "QuerySeekerSpider" blockbot
SetEnvIf User-Agent "PaperLiBot" blockbot
SetEnvIf User-Agent "Google-HTTP-Java-Client" blockbot
SetEnvIf User-Agent "EveryoneSocialBot" blockbot
SetEnvIf User-Agent "LongURL API" blockbot
SetEnvIf User-Agent "LivelapBot" blockbot
SetEnvIf User-Agent "FlipboardProxy" blockbot
SetEnvIf User-Agent "Twitterbot" blockbot
SetEnvIf User-Agent "help@dataminr.com" blockbot
SetEnvIf User-Agent "MetaURI API/2.0 +metauri.com" blockbot
SetEnvIf User-Agent "Applebot" blockbot
SetEnvIf User-Agent "Jakarta Commons-HttpClient/3.0.1" blockbot
SetEnvIf User-Agent "ShortLinkTranslate" blockbot
SetEnvIf User-Agent "EveryoneSocialBot" blockbot
SetEnvIf User-Agent "OpenHoseBot" blockbot
SetEnvIf User-Agent "MetaURI" blockbot
SetEnvIf User-Agent "ceron.jp" blockbot
SetEnvIf User-Agent "FlipboardProxy" blockbot
SetEnvIf User-Agent "Go 1.1 package http" blockbot
SetEnvIf User-Agent "Applebot" blockbot
SetEnvIf User-Agent "Sogou web spider" blockbot
SetEnvIf User-Agent "YodaoBot" blockbot
SetEnvIf User-Agent "msnbot" blockbot
########################################

おかげで、MovableType のブログ編集画面も元に修復したが、設定している xserver の設定を見直すと、しばらくほってあったので、PHPやデータベース MYSQL のバージョンなどが低くなっている。これらのバージョンをUPすると、今度は ブログへのアクセス内容を解析するサービス Artisan lite が稼働しなくなった。
 5年前にArtisan lite を設定してから、これも見なおしていなかったので、バージョンが上がるなど問題が発生している。色々と修復を試みたが、うまくいかず、仕方なく新たにインストールしなおしたら、ようやく動くようになった。Artisan Lite のインストールについては、別のエントリーで記録しておきたいと思う。

2012年1月 3日

隠居のMT 備忘録:記事を日時指定してアップロードする

 年賀のブログを、1月1日の0時すぎにアップロードしたいと思い、【ブログ記事の編集】画面の右メニュウにある【公開ー公開状態】で、【未公開(原稿):公開:日時指定】と選択肢の中から 日時指定 を選択して、公開する日時を 2012-01-01 00:10:00 (2012年1月1日 0時10分)と設定した。これでうまくいくはずと思っていたが、元旦の未明にトイレに起きて確認すると公開ができていない。原因を探るのは後回しにして、とりあえずいつもの方法で公開した。

 上手く行かなかった原因をググッてみると、どうやら cron 設定をしなければならないということが分かった。cron 設定は、よく理解出来ないまま、アクセス解析サービス(Research Artisan Lite) を導入した時に、した覚えがある。
参照:隠居のパソコン備忘録:アクセス解析サービス(Research Artisan Lite) の導入について(続)
 このときは、Research Artisan Lite のインストール・マニュアルにお世話になり、分からない部分は開発者に質問を出して教えてもらった。
 今回も私の環境(レンタルサーバーは Xserver、ブログソフトは、Movable Type 4)も踏まえて【Xserver MT4 cron設定】のような言葉でネットサーチしてみると、【エックスサーバーでのMT(ムーバブルタイプ)自動投稿cronの設定方法】というページがヒットした。
 Xserver には、Cron 設定というサービスが提供されている。このサービスの中に、コマンドを入力する欄がある。このページに書かれているコマンド例は、次のようになっている。
コマンド:cd /home/【サーバーID】/【mtがインストールされているドメイン】/mt/; ./tools/run-periodic-tasks

この例示通りに、【サーバーID】/【mtがインストールされているドメイン】を入力しても上手くいかない。先のResearch Artisan Lite のインストールをしたときに設定したコマンドと比べてみると、私の場合 /mt/ へ至るパスが異なることがわかった。実際には、以下のように入力してみると、上手く動くことが分かった。
cd /home/【サーバーID】/【mtがインストールされているドメイン】/public_html/cgi/mt/; ./tools/run-periodic-tasks 

このように設定しておくと、今後は Xserver のインフォパネルを開いて日時の数字を変え、ブログ編集画面で日時指定を行えば、投稿日時を指定することができる。
試しに、この記事を2012年1月3日朝6時に、アップロードする指定にして見ることにした。

(追記:2012/1/3) 今朝確認すると、朝6時に公開されていた。あまり、公開日時を指定するような記事を書くことはないが、MT での技がひとつ増えたと思っている。

2011年3月27日

隠居のMovableType:データベースをMySQL4 から MySQL5 へ 


 今までのブログ以外にサイトを開設する気になった。新しいサイトをつくるにあたっては、最新の MovableType5(MT5) を導入して見ようと考えた。MT5 では、ブログだけでなくウェブページも管理しやすくなっているらしい。早速、【基本からしっかりわかる Movable Type 5】という参考書を購入して、これに倣ってトライしてみることにした。

 新しいサイトのために、独自ドメインをレンタル・サーバー先の Xserver から取得した。サーバーは、今のところに余裕があるので、これを使うことにした。
 MT5 の導入については、また別のエントリーで記録することにして、今回は MT5 で使用する推奨データベース MySQL5 を設定したときに気をつけねばならない事項を備忘録として記録することにした。
 Xserver では、ドメインが異なっても、同一アカウントではデータベース MySQL のバージョンは複数では運用できないようだ。同じサーバーを使うのだから当然なのかもしれないが。
 知識のない人間がデータベースをいじるので、いささか勇気がいるが、Xserver には MySQL4 から MySQL5 への移行サービスがあるので、これを使って移行した。
 移行の結果、ブログのページを見ると、一見うまく移行しているように見えたが、次のページへリンクできなくなっていた。
  • ブログ内で作成した Webpage
  • ブログ編集画面が開かない
  • アクセス解析の Research Artisan Lite の表示(再設定を求められる)

 対処をネットでググってみると、MT4 のインストール以降いじったことのない mt-config.cgi というファイルにある DATABASE SETTINGS で指定しているデータベース MySql の項にある DBHost をXserver で移行したときに示されたホスト名(私の場合、localhost ⇒ mysql14.xsever.jp )に変更しなければならないことが分かった。
 FFFTP でホストにある mt-config.cgi ファイルを ローカルにダウンロードして、【秀丸】で該当箇所を修正して、再度ホストにアップロードした。すると、今までのブログ編集画面( http://xxxxxx/cgi/mt/mt.cgi )が開くようになった。ここで、ブログごとに再構築を行うと、Webpage へのリンクは復活した。
 また、再設定を求められる Research Artisan Lite は、【「public_html(ドキュメントルート)」ディレクトリの下の階層にある「setting」ディレクトリ】のアクセス権(パーミッション)を書き込み可能("777")に変更する必要があるが、再設定画面でホスト名を変更(他の項目は変更なし)すると、結果が表示されるようになった。
 DB を移行すると文字化けがよく起こるようであるが、文字コードを MT の基本である UTF8 に指定したためか、今のところ文字化けは起こっていない。
 今後も、いろいろと問題が起こるかもしれないが、それぞれで対処していくことになるだろう。これで、MT5 を設定する環境は整った。

   
基本からしっかりわかるMovable Type 5 (Web Designing BOOKS)
田口和裕
毎日コミュニケーションズ
売り上げランキング: 53216
 

2010年10月14日

隠居のパソコン備忘録:Xserver での FFFTP の使い方

 レンタルサーバー(私の場合、Xserver) に、ブログからリンクしているHTMLで作成したGoogle Maps API の地図ページや音楽ファイルなどをアップロードするには、ファイル転送ソフト FFFTP を使っている。最近になって突如サーバー側のフォルダー・ファイルが表示されなくなった。
 FFFTP が何かの拍子に具合が悪くなったと思って、FFFTP を再インストールしようとFFFTP のサイトを訪ねてみると、 FFFTP のセキュリティ度を高めるためにFTP 制限設定をしたほうがいいとリコメンドされていた。
 FFFTP をXsrver が用意しているマニュアル通り再インストールし FTP 制限設定してみたが、やはり、サーバー側のフォルダー・ファイルが表示されない。
Xserver に質問メールをだすと、次のような回答があった。
確認を行わせて頂きましたところ、現在許可IPに設定されているIPは、お知らせ頂きましたIPとは異なるものでございました。
お手数ではございますが、再度「■サーバーアカウント共通設定」と「■ドメイン設定」の箇所へと、「119.230.xx.xx」をご設定いただき、FTP接続をお試しいただけますでしょうか。


この接続を許可する IP と入力するところがよくわからなかった。いろいろと探ってみると、【Xserver パネル】⇒【FTP制限設定】⇒■サーバーアカウント共通設定にある接続許可IPに、【 FTP接続許可IPの追加】のページに表示されている【※お客様の現在のIPアドレスは「 119.230.xx.xx 」です。】のIPアドレスを入力すればよいことが分かった。
私が接続している ISP がXserver に接続しているグローバルIP が、ときどき変更になるためらしい。変更後のアドレスは、Xserver の上のページに表示される。
 また接続されなくなった時のために、備忘録として書いておきたい。歳をとって、忘却が激しい。
(追記:2011/8/20):入力する IPアドレスの後ろにブランクが入らないように、注意しなければならない。

2009年4月 2日

隠居のHP:ページへのアクセス制限を .htaccess で設定する

 著作権の問題などで、以前にアクセス制限をかけたページを作成していた。
今回、公開したくないページを自分用につくりたかったので、以前に設定したときの方法を歳をとって衰えた記憶を頼りにたぐってみたが、細かい点までなかなか思い出せない。
再学習して新たにアクセス制限を設定したので、備忘録として記録しておきたい。
 今回参照させていただいたのは、ChamaNet というサイトが無償で提供しているベーシック認証である。詳細はこのページに詳しいが、記録はリンク切れになったときの用心のためである。

 アクセス制限は、.htaccess ファイル内に記述する。 .htaccess はMovable Type のバージョンアップにともないブログのURL を変更したときにも使った。詳しくは、<.htaccess で移転先URLページへ誘導する:MT4.1 >にアップしている。

 ページにアクセス制限をかける方法は、FTP を使い慣れておればそれほど時間はかからない。
Chamanet が提供してくれている次のようなテキスト・ファイルを Notepad かなにかで(私の場合は、秀丸を使っている)作成し、htaccess.txt とする。(FTP に FFFTP を使っている場合は、.htaccess というファイル名もOKである)
AuthUserFile /home/xxxxxx/n-shuhei.net/public_html/xxxxxxx/.htpasswd
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
    deny from all
</Files>

/home/xxxxxx/n-shuhei.net/public_html/xxxxxxx/ の部分はサーバーのルートディレクトリからアクセス制限をするディレクトリまでのフルパスである。

 .htpasswd は、ID(ユーザ名)とパスワードを:で区切った1行のファイルである。例えば、次のような表現になる。
nshuhei:KRQF6dfVUaeqo
パスワードは、base64 で暗号化されている。パスワードを base64 で暗号化するサービスは、上のベーシック認証のようないろいろなページで提供されている。
この .htpasswd ファイルをアクセス制限をしようとするディレクトリー(フォルダー)に、.htaccess ファイルとともに置けばよい。

 このような設定をしたあと、私がレンタルしているサーバーの Xserver を覗いてみると、ユティリティとして「アクセス制限」が提供されていることが判明した。自分が設定したフォルダー名一覧が表示され、フォルダー毎のアクセス制限の on off を切り替えるだけでアクセス制限を設定できる。この方法で上で設定したフォルダーのアクセス制限を on にして .htaccess ファイルの中味をみると 上述したコードが重複して書かれていた。
 レンタル・サーバーも、どんどん進化しているようである。このような作業をする場合には、先ず第一にレンタル・サーバーのユティリティを覗いてみる必要がある。

2008年5月18日

隠居、MT3.3 でのDB 移行:SQlite→MySQL

  Movable Type 4.1 を勉強しようとMovable Typeの世界ではそうそうたるメンバーが執筆した「Movable Type プロフェッショナル・スタイル」を奮発して購入した。テンプレートなどを使わせてもらっている「小粋空間」の管理者 荒木勇次郎さんも一部を執筆されている。

 この本の最後の章「設置・運用に関するTIPS」(Online Digital Clock Works:丹羽章さん担当)に、
セキュリティやパフォーマンス、管理ツールの充実度で MySQL を推奨します。
とある。MT4.1 では、データベースは MySQL がいいらしい。
MT3.3 から MT4.1 へのアップグレードの準備として、現在使用している MT3.3 でのデータベース移行を実施した。
移行手順を自分用の備忘録として書いておきたい。

 上の丹羽章さんの「設置・運用に関するTIPS」では、小川宏高さんの移行ユティリティ(MTデータベースの相互変換CGI スクリプト)が紹介されている。データベース変換をググッテみると、皆さん、このスクリプトを使用されている。私の場合、レンタル・サーバーはXserver なので、この環境での実施順を書き留めておく。実際は試行錯誤したが。

1. まず、Xserver のサーバーパネルにログインし、「DATABASE」→「MySQLの設定」を選択し、新たに MySQL Database を設定する。MySQL Database の設定は、小川宏高さんのインストール手順にはない。そんなことは、当然のことかもしれない。

2. 「MySQLの追加」で、例えば nshuhei_mt33 を追加する。

3. 「MySQLユーザーの追加」で、例えば nshuhei_mt33 を追加する。ホスト名は、localhost をそのまま使う。(変えない) 適宜なパスワードを設定する。

4. 「MTデータベースの相互変換CGI スクリプト」で指示されている方法で、[mt-db-convert.cgi] をFFTP で mt.cgi と同じディレクトリーにアップロードする。FFTP では、名前を変えてアップロードするという機能があるので、[mt-db-convert33.cgi]の"33"部分をはずしてUPし、パーミッション(属性)を 700 とする。

5. ブラウザーのアドレス部分に、[http://xxxxxxxx.xxx/cgi/mt/mt-db-convert.cgi] を入力し実行すると左のスクリーンショット(クリックすると大きな図で別画面に表示されます)のような画面が現れる。(この画面は、レタッチソフトでいじっている)

6. 画面の指示に従って、必要な事項を入力する。Source DB が SQLite の場合、フルパスが既に表示されている。DBUser, DBPassword, DBHost は入力しない(できない)。

7. 右側のDestination DB には、MySQL を選択し、DataSource 欄は空欄のまま(入力できない)で、DataBase, DBUser, DBPassword, DBHost をそれぞれXserver のサーバーパネルで MySQL を設定したときの name などを使う。DBHost は、 Xserver では、初期値が localhost となっているのでそのまま使用した。

8. 左下の [convert] ボタンをクリックすると変換が始まる。何か設定が間違っている場合は、エラー・メッセージが表示され変換は中止する。
 途中で、Warning がでたりするが大丈夫のようだ。上手くいくと "Done copying data from DBI::sqlite to DBI::mysql! All went well." というようなメッセージがでる。

9. 無事にデータ移行が完了したようなので、mt/mt-config.cgi を「秀丸」で修正してアップロードした。修正する部分は、MySQL Configuration の設定と SQLite DB をコメントアウトするところである。それぞれ以下のように修正する。
### MySQL Configuration - Add the name of your database, username
# password and, optionally database host given to you by your web
# hosting provider.
#
ObjectDriver DBI::mysql
Database nshuhei_mt33
DBUser nshuhei_mt33
DBPassword xxxxxxxxxx
DBHost localhost

### SQLite Configuration - SQLite requires only the path to your SQLite
# database file.
#
#ObjectDriver DBI::sqlite
#Database /home/xxxxxxxx/n-shuhei.net/public_html/cgi/mt/db/sqlite.db

 これで完了である。見た目は変わらないが、ページ展開などが早くなったような気がしている。なによりも、MT4.1へのアップグレード準備が一つできたので喜んでいる。歳をとっての作業はなにをしても時間がかかる。困ったもんだ。

 なお、DB変換にあたっては、「MOvableType備忘録」の下のページを参考にさせて頂いた。ありがとうございました。http://bizcaz.com/archives/2006/08/02-065216.php#復旧手順