<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja">
<title>レンタルサーバーさくらインターネットを使いこなす 中級ＨＰ作成講座</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/" />
<modified>2007-06-26T03:41:15Z</modified>
<tagline></tagline>
<id>tag:midilin.sakura.ne.jp,2011:/sakura//3</id>
<generator url="http://www.movabletype.org/" version="3.151-ja">Movable Type</generator>
<copyright>Copyright (c) 2007, midilin</copyright>
<entry>
<title>phpMyAdminの使い方（データベースのバックアップ）</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2007/06/26-1235.html" />
<modified>2007-06-26T03:41:15Z</modified>
<issued>2007-06-26T03:35:14Z</issued>
<id>tag:midilin.sakura.ne.jp,2007:/sakura//3.39</id>
<created>2007-06-26T03:35:14Z</created>
<summary type="text/plain">第１９回 phpMyAdminの使い方（データベースのバックアップ） 前回、さく...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>050_phpMyAdmin</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第１９回 phpMyAdminの使い方（データベースのバックアップ）</p>

<p>前回、さくらインターネットにデフォルトインストールされている<br />
データベース管理ツールのphpMyAdminというものがあり、<br />
それを使うことで、SQLを実際に打ち込むことができるということを話しました。</p>

<p>今回はphpMyAdminについて、他にどんな機能があるのかをご紹介します。</p>

<p>・データベースのバックアップができる</p>

<p>大切なデータが、壊れてしまったら大変ですよね。<br />
phpMyAdminでは、「エクスポート」機能を使うことでバックアップができます。<br />
右メニューの「エクスポート」というボタンをクリックします。</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/phpmyadmin005.gif" alt="エクスポートボタン"></p>

<p>するとエクスポートを出力する画面がでてきます。</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/phpmyadmin006.gif" alt="エクスポート画面"></p>

<p>出力するテーブルやどのような形でSQLを出力するかなどが選べます。<br />
（テーブル名は一応黒塗りにしていますが、別に怪しいテーブル名とかはありません（笑））</p>

<p><br />
下のほうに「ファイルで保存する」というチェックボックスがあるので<br />
ここにチェックをつけて、エクスポート出力して、後は日付おきにバックアップなどしておくというのでも良いでしょう。</p>]]>

</content>
</entry>
<entry>
<title>データベース管理ツール「phpMyAdmin」</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2007/05/17-1226.html" />
<modified>2007-05-17T03:27:42Z</modified>
<issued>2007-05-17T03:26:07Z</issued>
<id>tag:midilin.sakura.ne.jp,2007:/sakura//3.38</id>
<created>2007-05-17T03:26:07Z</created>
<summary type="text/plain">第１８回　データベース管理ツール「phpMyAdmin」 前回、前々回はPerl...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>050_phpMyAdmin</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第１８回　データベース管理ツール「phpMyAdmin」</p>

<p>前回、前々回はPerl（CGI）、PHPでデータベースにアクセスする話を掲載しました。<br />
ただ、いきなりプログラムの中にSQLを打ち込んで、サーバーにアップをして<br />
動作を確認するという行為は危険なので、<br />
SQLが実際に動くかどうか、事前にチェックする必要があります。</p>

<p>そこで、さくらインターネットには「phpMyAdmin」というデータベース管理ツールが使えます。<br />
コントロールパネルにログインをして<br />
「データベースの設定」をクリック</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/db001.gif" alt="データベースの設定画面"></p>

<p><br />
データベースと管理ツールが開くので、</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/db002.gif" alt="データベースパスワード変更の設定画面"></p>

<p>管理ツール「phpMyAdmin」というところをクリックしましょう。<br />
すると、phpMyAdminのログイン画面が開きます。</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/phpmyadmin001.gif" alt="phpMyAdminログイン画面"></p>

<p>IDなど黒塗りにしてありますが、これらを入れてログインします。</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/phpmyadmin002.gif" alt="phpMyAdminログイン後の画面"></p>

<p>左側のデータベースで、自分のデータベースを選んで上げます。<br />
そうすると左にテーブル一覧、右側に選択したテーブルの内容がでてきます。<br />
右側のメニューに「ＳＱＬ」というボタンがあります。</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/phpmyadmin003.gif" alt="SQLボタン"></p>

<p><br />
SQLボタンをクリックすると、SQLを入力するフィールドがでてきます。</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/phpmyadmin004.gif" alt="SQL入力画面"></p>

<p><br />
ここに実際にプログラムで使うSQLを入れてみて、実行できるか確かめることができます。<br />
またSQLファイルをテキストファイルとして保存して、参照ボタンを使うことで、実行もできます。</p>

<p>使い道としては、大量のデータ（掲示板のログ1000件とか）をデータベースにいれるとき<br />
手動ではとても入れられないので、Insert文のSQLをExcelなどの表計算で1000本作って<br />
この参照ボタンを押して、テキストデータからSQLを流し込むという方法もありますね。</p>

<p><br />
このようにさくらインターネットでは、DBを管理する「phpMyAdmin」がインストールされているので<br />
気軽にデータベースでSQLを流すことができます。</p>]]>

</content>
</entry>
<entry>
<title>PHPを使ったDBアクセス</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2007/04/20-1602.html" />
<modified>2007-04-20T07:12:21Z</modified>
<issued>2007-04-20T07:02:30Z</issued>
<id>tag:midilin.sakura.ne.jp,2007:/sakura//3.37</id>
<created>2007-04-20T07:02:30Z</created>
<summary type="text/plain">第１７回　PHPを使ったDBアクセス 前回はPerl（CGI）を使ったDBアクセ...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>060_php</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第１７回　PHPを使ったDBアクセス</p>

<p>前回はPerl（CGI）を使ったDBアクセスを説明しました。<br />
今回はPHPを使ったDBのアクセスの仕方を説明します。</p>

<p>ちなみに、PHPとはなんなの？という方もいらっしゃいますでしょうから<br />
簡単に説明いたしますが、PHPとは「Hypertext Preprocessor」の略で、<br />
JavaScriptやASP（Active Server Page）のようにHTMLファイルの中に書き込むスクリプト言語です。</p>

<p>ファイルの拡張子はphpで、さくらインターネットではアクセス権限を755にして使用します。<br />
ファイルの作り方はとても簡単で、HTMLファイルの拡張子をphpにして</p>

<p>「&lt;?php」という単語ではじまって、<br />
「?&gt;」という単語でとじて、この間にPHPのプログラムを書きます。</p>

<p>極端な例を言えば、htmlファイルをphpにしてアップするだけでもHTMLと同じ動きをします。<br />
そこでデータベースなどアクセスするところなどを記述するのに<br />
&lt;?php<br />
～<br />
?&gt;<br />
と記述するわけですね。</p>

<p>具体的にPHPにアクセスするサンプルスクリプトを書いてみましょう。<br />
さくらインターネットでは、スタンダードプラン以上だと、Mysqlという<br />
データベースが使えます。<br />
今回は、Mysqlにアクセスする方法を掲載します。</p>

<p><br />
access.phpというファイルを作るとします。<br />
&lt;?php　　<br />
<p>　　//DB名<br><br />
  　　$dbname = &quot;■■■&quot;;<br><br />
  　　//ホスト名<br><br />
  　　$hostname = &quot;ドメイン名&quot;;<br><br />
  　　//userid<br><br />
  　　$userid = &quot;●●●&quot;;<br><br />
  　　//password<br><br />
  　　$passwd = &quot;▲▲▲&quot;;　　<br><br />
　　</p><br />
<p>　　$db_key = db_property();//DB設定値の読み込み<br><br />
  　　//データベースに接続<br><br />
  　　if(!$con=mysql_connect($hostname,$userid,$passwd)){<br><br />
  　　　　echo &quot;接続失敗&quot;;<br><br />
  　　　　exit;<br><br />
  　　}<br><br />
  　　<br><br />
  　　//データベースを選択<br><br />
  　　$row=mysql_select_db($dbname,$con);</p><br />
<p>　　$sql = &quot;SQL&quot;;<br><br />
  　　<br><br />
  　　//select文を実行<br><br />
  　　if(!$res=mysql_query($sql)){<br><br />
  　　　　echo &quot;SQL失敗&quot;;<br><br />
  　　　　mysql_close($con);//データベースを切断　　　　<br><br />
  　　　　exit;<br><br />
  　　}</p><br />
<p>　　if (!($rs = mysql_query($sql))) {<br><br />
  　　　　die;<br><br />
  　　}</p><br />
<p><br><br />
  　　&quot;HTMLを表示したりする&quot;<br><br />
　　　　</p><br />
<p>　　//データベースを切断<br><br />
  　　mysql_close($con);　　<br><br />
  　　<br><br />
  　　　　<br><br />
  }<br><br />
  ?&gt;</p></p>

<p><br />
こんな感じになるでしょうか。</p>

<p>PerlでDBアクセスするときにも記述しましたが<br />
●●●のところは、DBにアクセスするユーザ名、▲▲▲のところはパスワード、<br />
それと「ＤＢ名:ドメイン名」のところにはＤＢ名のドメインが入ります。</p>

<p>ちなみに、dbnameとは、データベースの名称を入れるところなのですが<br />
さくらインターネットの場合、データベースは１つしか作れないので<br />
（テーブルは何個でも作れます）<br />
テーブル名称＝idだと思いますので、たぶんuseridと同じものを入れれば、動きます。</p>

<p><br />
これでPerl、PHPを使ってデータベースにアクセスする方法はわかりましたね。<br />
ただSQLを書くにあたって、サーバーにphpやらcgiにSQLを記述したものをいきなり使ってしまうと<br />
不具合があるかもしれません。</p>

<p>そのため、自分が書いたSQLがあっているかどうかを検査する必要があります。</p>

<p>次回は、プログラムを使わないで直接Mysqlを操作する方法を掲載いたします。</p>]]>

</content>
</entry>
<entry>
<title>Perlを使ったDBアクセス</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2006/06/13-1215.html" />
<modified>2006-06-13T03:32:49Z</modified>
<issued>2006-06-13T03:15:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2006:/sakura//3.36</id>
<created>2006-06-13T03:15:00Z</created>
<summary type="text/plain">第１６回   Perlを使ったDBアクセス 今回はPerlを使ったDBアクセスの...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>040_Mysql</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第１６回   Perlを使ったDBアクセス</p>

<p>今回はPerlを使ったDBアクセスの説明をします。<br />
その前に基本的な事項として、さくらインターネットでPerlを使うときのパスとして</p>

<p>#!/usr/bin/perl</p>

<p>これがプログラムの先頭に必要です。<br />
無料で配られている掲示板のスクリプトなどを見ると<br />
Perlの設定をしているところが必ずあると思いますが<br />
さくらインターネットでPerlを使う場合は、一番上を上記のようにしてみてください。</p>

<p><br />
で、データベースを使うには<br />
実はさくらインターネットのマニュアルにPerlを使った<br />
データベースのアクセスの仕方は掲載されていません。<br />
（PHPを使ったＤＢアクセスの方法も載っていません）</p>

<p>Mysqlは自己責任で使うものという規定がありますので<br />
基本的にMysqlで何か起きたとしてもさくらインターネットに問い合わせはしないほうがよいかと思います。</p>

<p>Perlを使ってMysqlにアクセスするには具体的には「DBI」というものを使います。<br />
DBIとは、Perlからデータベースにアクセスするためのアプリケーション・プログラミング・インターフェース(API)で<br />
このDBIに関数、変数、規約などが定義されており、使用するデータベースに依存しない一貫性のある<br />
データベース・インターフェースを提供してくれます。</p>

<p>例えば、Windowsにはそれを実現する手段としてODBCというものがあったり、<br />
Javaの場合にはJDBCというものがありますが、<br />
Perlの場合は、DBIというものを使うわけです。</p>

<p><br />
PerlでＤＢ（Mysql）にアクセスする<br />
サンプルプログラムとしては以下のようになります。</p>

<p>use DBI;</p>

<p>$user = '●●●';<br />
$passwd = '▲▲▲';<br />
$db = DBI->connect('DBI:mysql:ＤＢ名:ドメイン名', $user, $passwd);</p>

<p>#SQL文<br />
$sth = $db->prepare("SQL文");<br />
$sth_in ->execute;</p>

<p>$sth->finish;<br />
$db->disconnect;</p>

<p><br />
●●●のところは、DBにアクセスするユーザ名、▲▲▲のところはパスワード、<br />
それと「ＤＢ名:ドメイン名」のところにはＤＢ名のドメインが入ります。</p>

<p>ちなみにここで注意しておかなければいけないのがパスワードのところで、<br />
このパスワードは、さくらインターネットのコントロールパネルにログインするときの<br />
パスワードとは異なります。</p>

<p>具体的にはコントロールパネルのところに<br />
データベースのパスワードを設定するところがあります。</p>

<p>コントロールパネルにログインをして<br />
「データベースの設定」をクリック</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/db001.gif" alt="データベースの設定画面"></p>

<p><br />
データベースと管理ツールが開くので、</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/db002.gif" alt="データベースパスワード変更の設定画面"></p>

<p>そこでデータベース接続パスワードを設定します。<br />
また、「ＤＢ名:ドメイン名」は黒塗りでつぶして有りますが<br />
「データベース サーバ」というものが入ります。</p>

<p>あとは、<br />
$sth = $db->prepare("SQL文");<br />
のところで具体的なSQL文を書けばDBにアクセスが行えます。</p>

<p>この方法で、今まで使っていたCGIの掲示板のログ形式をデータベースに変えて<br />
Mysqlを使った掲示板なんて作るのも面白いでしょうね。</p>

<p>私が具体的にPerl→Mysqlのアクセスとして使っているのは<br />
「<a href="http://www004.upp.so-net.ne.jp/makoto1/index.htm">パステル・ミディリン</a>」の音楽の投稿フォームでCGIを使用しており<br />
投稿読者さんが曲ファイルの添付ファイルを送信フォームから送信すると、<br />
Mysqlにアクセスし、データをインサートして<br />
現在誰の音楽ファイルが未更新であるかをわかるようなシステムを組んでおります。</p>

<p>PHPを使って一から添付ファイル送信フォームを作るのが面倒くさかったので<br />
Perlのフリースクリプトを拾ってきて、Perlスクリプトを改造して<br />
音楽送信と同時にさくらインターネットのDBにアクセスして<br />
送信履歴を残すというプログラムを追記しました。</p>

<p><br />
そして音楽送信履歴を見て、音楽更新係さんがPHPで作ったシステムで<br />
条件にあっているものは、採用するので、登録をするというようなシステムを作ったのですが<br />
さくらインターネットでは、Perl、PHP、どちらでもデータベースアクセスができるので<br />
既存のCGIを手軽にMysqlを使ったものに変えられるので便利ですね。</p>

<p>次回はPHPを使ったDBアクセスを説明します。</p>]]>

</content>
</entry>
<entry>
<title>Mysqlにアクセスできるプログラム：Perl（CGI）、PHP</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2006/04/18-1200.html" />
<modified>2006-04-18T02:57:00Z</modified>
<issued>2006-04-18T03:00:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2006:/sakura//3.35</id>
<created>2006-04-18T03:00:00Z</created>
<summary type="text/plain">第１５回 今まで、Mysqlを使うことでの利点、それとSQLを使って、どのように...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>040_Mysql</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第１５回</p>

<p>今まで、Mysqlを使うことでの利点、それとSQLを使って、どのようにデータを検索するかという話をしてきました。<br />
さて具体的なSQLは記述しましたが、どこにSQLを埋め込めばいいの？<br />
HTMLにSQLを埋めれば、いいの？<br />
まったくデータベースを触ったことがない方にはもしかしたら今までの話はチンプンカンプンだったかもしれません。</p>

<p>具体的にはMysqlには、Perl（CGI）やPHPと呼ばれるプログラムの中にSQLを埋め込んでアクセスをします。<br />
掲示板を設置したことがある方には、CGIはおなじみのものかもしれませんね。</p>

<p><br />
----------access.cgi、access.php----------<br />
プログラム<br />
DBアクセスするためのSQLを埋め込む</p>

<p>-------------------------------------------</p>

<p>流れとしては<br />
ユーザが、CGIもしくはPHPにアクセスする<br />
↓<br />
プログラムが実行<br />
↓<br />
プログラムの中でSQLが実行され、結果を取得する<br />
↓<br />
取得した内容をプログラムでブラウザに表示<br />
↓<br />
ユーザが結果を見る</p>

<p>という形ですね。</p>

<p><br />
CGIやPHPのプログラムをいじるの？<br />
すごく難しそう！！<br />
無理だよ、そう思われる方もいらっしゃるかもしれませんが<br />
やり方さえ覚えてしまえば、そんなに難しくはありません。</p>

<p>では、PerlやPHPを使ってどうやってMysqlにアクセスしていくかを次回以降見ていきましょう。</p>]]>

</content>
</entry>
<entry>
<title>PostgreSQLが使えない</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2006/04/05-0950.html" />
<modified>2006-04-05T00:53:54Z</modified>
<issued>2006-04-05T00:50:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2006:/sakura//3.34</id>
<created>2006-04-05T00:50:00Z</created>
<summary type="text/plain">第14回 前回まで、さくらインターネットではMysqlというデータベースが使える...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>090_Disadvantage</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第14回</p>

<p>前回まで、さくらインターネットではMysqlというデータベースが使えるという話をしました。<br />
ところでデータベースって、他にどういうものがあるのでしょうか。</p>

<p>一般的に有名なのだと企業ではOracle社のOracle、IBMのDB2、<br />
あとフリーの有名どころだとPostgreSQLなどがあります。</p>

<p>今回、デメリットとして１つ挙げると<br />
PostgreSQLがさくらインターネットでは使えないという点があります。<br />
私は仕事では、主にDB2を使っていたのでMysqlもPostgreSQLも触ったことがなかったのですが<br />
独学で少しPostgreSQLを勉強しました。</p>

<p>で、さくらインターネットでデータベースが使える！<br />
ということになってさっそく、新しいサービスに乗り換えたのですが<br />
Mysqlの知識がないため、一から勉強することになってしまいました。</p>

<p>SQLそのものは、Mysqlであれ、PostgreSQLであれ、DB2であれ、Oracleであれ<br />
簡単なselect文などはかわらないのですが<br />
SQLを埋め込むプログラムが、MysqlやPostgreSQLはそれぞれ独自にあるので<br />
そこを一から調べるのが最初手間取りました。</p>

<p>といっても、1日、2日あれば大丈夫なのですが、<br />
できれば、MysqlとPostgreSQL両方が使えて、<br />
ユーザーが好きなデータベースを使えるようにしてもらえると<br />
自由度が高いと感じました。</p>]]>

</content>
</entry>
<entry>
<title>Mysqlが必要か？データベースの利点：総計・条件抽出</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2006/01/30-0920.html" />
<modified>2006-04-05T00:54:38Z</modified>
<issued>2006-01-30T00:20:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2006:/sakura//3.33</id>
<created>2006-01-30T00:20:00Z</created>
<summary type="text/plain">第１３回 第１１回「Mysqlが必要か？データの抽出を行いたいか」 第１２回「M...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>040_Mysql</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第１３回</p>

<p>第１１回「<a href="http://midilin.sakura.ne.jp/sakura/archives/2005/11/05-1100.html">Mysqlが必要か？データの抽出を行いたいか</a>」<br />
第１２回「<a href="http://midilin.sakura.ne.jp/sakura/archives/2005/12/14-0920.html">Mysqlが必要か？データの並び替えをしたいかどうか</a>」<br />
で、データベースを使うと<br />
曲の検索がとてもスムーズにできたり、降順、昇順の並び替えが行えるという話をしました。<br />
他にどんなことができますでしょうか。</p>

<p>また例によって、音楽データベースで例を進めていきます。</p>

<p>（音楽データベース）<br />
投稿者の名前、メールアドレス、ホームページのＵＲＬ、曲名、曲ＵＲＬ、ファイル名、音楽のジャンル、更新日など・・・・</p>

<p><br />
例えば、曲の全部の数を知りたいとき、<br />
掲示板のログのようなファイルにデータが格納されていたら、一行一行読み込みを始め、<br />
最終行まで読み込んだものをカウントしておかなければいけません。<br />
しかしＳＱＬを使えば</p>

<p>select count(*)  from　音楽データベース</p>

<p>これでデータベースに入っている曲数がわかります。<br />
（ちなみに「*」は全部と言う意味で、<br />
　select count(ファイル名)  from　音楽データベース<br />
　とやっても同じ結果が帰ってきます）<br />
　<br />
さらに、高度なことをやってみましょう。<br />
音楽データベースには、いろいろな投稿者の方の曲が入っているとします。<br />
Aさん、Bさん、Cさん、・・・・Zさん、<br />
これらの曲数の総計は上記のSQLでわかりますが、Bさんだけの曲数を調べたいときは<br />
どういうSQLを書くのでしょうか。</p>

<p><br />
select count(*)  from　音楽データベース where 投稿者の名前 = 'Bさん'</p>

<p>where区に条件を追加するだけで、数がわかります。<br />
最初ＳＱＬに慣れるまで取っつきにくいこともあるかもしれませんが<br />
慣れてしまえば、大量のデータを処理するのに非常に役立ってくれます。</p>

<p><br />
商用サイトでしたらデータベースは必須の機能ですし<br />
個人のサイトでもデータを扱うのであれば、とても役立ちます。</p>

<p>さくらインターネットではこれらの機能をサポートしています。</p>]]>

</content>
</entry>
<entry>
<title>Mysqlが必要か？データの並び替えをしたいかどうか</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2005/12/14-0920.html" />
<modified>2005-12-14T00:19:54Z</modified>
<issued>2005-12-14T00:20:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2005:/sakura//3.32</id>
<created>2005-12-14T00:20:00Z</created>
<summary type="text/plain">第１２回 前回、データベースを使うと、項目の抽出が簡単にできるという話しをしまし...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>040_Mysql</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第１２回</p>

<p>前回、データベースを使うと、項目の抽出が簡単にできるという話しをしました。</p>

<p><br />
（音楽データベース）<br />
投稿者の名前、メールアドレス、ホームページのＵＲＬ、曲名、曲ＵＲＬ、ファイル名、音楽のジャンル、更新日など・・・・</p>

<p><br />
データベースにアクセスするにはＳＱＬというものを使うという話もしました。<br />
曲名を抜き出したのなら</p>

<p>select 曲名 from　音楽データベース</p>

<p>ファイル名を抜き出したかったら</p>

<p>select ファイル名 from　音楽データベース</p>

<p>簡単ですね。</p>

<p>では、曲名をローマ字順に並べたいなんていうときどうしますか？<br />
これは、普通にテキスト形式で取得すると<br />
１つ１つデータを取得した後、先頭文字を比較して、並び替えるという作業が必要で<br />
プログラムも複雑になりますし、動作も非常に遅くなります。<br />
（技術的には、メモリも大量にくいます。<br />
　並び替えるには、メモリ内にデータを格納してもっているので）</p>

<p>しかし、ＳＱＬを使えば</p>

<p>select ファイル名 from　音楽データベース order by ファイル名</p>

<p>これだけですみます。<br />
上記のSQLは昇順に並び替えをしますが、降順に並び替えたい場合は</p>

<p><br />
select ファイル名 from　音楽データベース order by ファイル名 DESC</p>

<p>とDESCを使うだけで良いのです。</p>

<p>SQLを使えば、並び替えが容易に、しかも膨大なデータがあっても並び替えが可能です。</p>]]>

</content>
</entry>
<entry>
<title>Mysqlが必要か？データの抽出を行いたいか</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2005/11/05-1100.html" />
<modified>2007-07-25T04:42:00Z</modified>
<issued>2005-11-05T02:00:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2005:/sakura//3.31</id>
<created>2005-11-05T02:00:00Z</created>
<summary type="text/plain">第１１回 前回、Mysqlが必要かどうかは、あなたのホームページに 大量のデータ...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>040_Mysql</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第１１回</p>

<p>前回、Mysqlが必要かどうかは、あなたのホームページに<br />
大量のデータを扱うかどうかで考えたほうがよいという話しをしました。</p>

<p>では、データ量が少なければMysqlは必要ないのでしょうか。<br />
実はそうとも言いきれません。</p>

<p>私のホームページ「パステル・ミディリン」では<br />
音楽の投稿を受けつけていて、その音楽の検索システムを<br />
Mysqlを使って構築しています。</p>

<p><a href="http://midilin.sakura.ne.jp/midilin/php/music_search/music_index.php">http://midilin.sakura.ne.jp/midilin/php/music_search/music_index.php</a></p>

<p>この画面では、検索しか行えませんが<br />
別の画面で、音楽更新係さんが曲を登録するシステムも<br />
他にMysqlで作ってあります。</p>

<p>曲の数は全曲あわせて、４００曲程度です。<br />
データとしてはそれほど多くありません。でもMysqlを使っています。</p>

<p>具体的に、テキストデータとMysqlを使ったシステムではどう違うのか考えてみましょう。<br />
テキストデータの場合、検索をはじめると、１行１行テキストを読みにファイルの検索を全部検索しにいきます。<br />
だから処理が遅いのですね。</p>

<p>１つのテキストデータとして、音楽の投稿をつくるとこんな感じになるでしょうか。</p>

<p>（音楽データベース）<br />
投稿者の名前、メールアドレス、ホームページのＵＲＬ、曲名、曲ＵＲＬ、ファイル名、音楽のジャンル、更新日など・・・・</p>

<p>もし、この中から曲名を抜き出したいなんていうことがあったらどう処理しますか？</p>

<p>処理の概要としては、<br />
・曲名が何番目にあるかを定義<br />
・ファイルを先頭から読みこみ<br />
・４番目が曲名なのでそれを抽出</p>

<p>なんていう流れになります。<br />
これが１００曲あったら、この処理を１００回ぐるぐるまわして、<br />
それを表示するということになるのですが、<br />
どのデータが何番目にあるかとか、覚えていなければいけませんし大変です。</p>

<p>データベースを利用すると、そのわずらさしさがありません。<br />
データベースにアクセスするにはＳＱＬというプログラミング言語を使うのですが</p>

<p>select 曲名 from　音楽データベース</p>

<p>これだけで曲名がずらっと抽出できるのです。<br />
何番目に曲があるかなんて意識しなくてもよいですよね。</p>

<p>もし６番目にあるファイル名を抜き出したかったら</p>

<p>select ファイル名 from　音楽データベース where 6番目</p>

<p>これで終わりです。<br />
簡単でしょう？</p>

<p>複数の項目があって、それを抽出したい場合にデータベースは力を発揮します。<br />
他にはデータベースを使ってどういうことが可能なのでしょうか。<br />
次回、掲載しますね。</p>]]>

</content>
</entry>
<entry>
<title>Mysqlが必要か？大量のデータ処理</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2005/10/12-0900.html" />
<modified>2005-10-12T00:23:57Z</modified>
<issued>2005-10-12T00:00:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2005:/sakura//3.30</id>
<created>2005-10-12T00:00:00Z</created>
<summary type="text/plain">第１０回 Mysqlとはフリーのデータベースです。 データベースの簡単な説明は第...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>040_Mysql</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第１０回</p>

<p>Mysqlとはフリーのデータベースです。<br />
データベースの簡単な説明は第８回のときにしましたが<br />
この機能があるかどうかは、あなたのサイトによって変わってくると思います。</p>

<p>データベースの利便性は、詰めこんだデータを瞬時に検索することや<br />
データの並び替えなどが行えることです。<br />
（もちろん、データの登録や削除も行えます）</p>

<p>一番簡単なデータベースの例を言うと、「掲示板」ですね。<br />
これも文字データを詰めこんだデータベースです。</p>

<p>掲示板などのデータは、通常テキストファイル（カンマ区切りのCSVファイル）という<br />
形式で格納されていることが多いです。</p>

<p>テキストファイルから読みこむのと、<br />
Mysqlなどのデータベースを読みこむのとどう違うかというと<br />
スピードが全然違います。<br />
１００件、２００件程度なら、掲示板のようなテキストファイルによるデータを<br />
登録・修正・検索・削除でもよいのですが<br />
これが１０００件、２０００件となると、処理をするときに<br />
サーバーに付加がかかりすぎて実行ができなくなります。</p>

<p>以前、メーリングリストを運営していたことがあって<br />
メーリングリストの内容をテキストに変換したものを公開、<br />
それを掲示板のログをキーワードで検索するのと同じ仕組みで<br />
検索できるようにしていたのですが、１０００件を越えたら検索ができなくなってしまいました。</p>

<p>掲示板の過去ログも同様に、１０００件越えたあたりから検索ができなくなってしまいます。<br />
しかし、Mysqlを使えば１００００件あろうが、２００００件あろうが検索はできます。</p>

<p>自分のサイトが大量のデータを扱うことがあるのであれば<br />
データベースを使える方がよいでしょう。<br />
テキストデータだけでなく<br />
イラストや写真を何百枚、何千枚も公開していて<br />
それを検索するというのにも使えるでしょうね。<br />
こういう場合は、イラスト１枚１枚に名前をつけて、<br />
その名前のテキストデータをデータベースに入れて検索をするという方法をとれば可能になります。</p>]]>

</content>
</entry>
<entry>
<title>ライトプランでは、Mysqlが使えない！</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2005/08/12-2300.html" />
<modified>2005-08-13T07:31:52Z</modified>
<issued>2005-08-12T14:00:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2005:/sakura//3.29</id>
<created>2005-08-12T14:00:00Z</created>
<summary type="text/plain">第９回 今まで、さくらインターネットを使うことでどのようなメリットがあるかという...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>090_Disadvantage</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第９回</p>

<p>今まで、さくらインターネットを使うことでどのようなメリットがあるかというのと<br />
前回は値段と容量の説明をしました。</p>

<p>ところで前回、申し込み期間中にプランを１つあげたと書いたのですが<br />
容量の問題だけでなく、他にある機能が使えなかったから上のプランに乗り換えたというのが<br />
大きな理由です。</p>

<p>それは、ライトプランではMysql（データベース）が使えない！<br />
ということです。<br />
さくらインターネットでのデメリットを１つですね。</p>

<p>まぁ、年間１５００円でデータベースを利用しようとするのが間違っているのかもしれませんが。<br />
もし、こちらで使えたら５０００円のプランではなく、１５００円のプランで申し込もうという方が多くなるでしょうからね。</p>

<p>さて、そもそもデータベースとはどんなものかというと<br />
「データの集合」のことのことを言いますが、これだとイメージがつきにくいので<br />
ちょっと例を挙げて説明をしますね。</p>

<p><br />
一般的な知識をまず説明しますが、自分のＰＣを「クライアント」といい、<br />
ＨＴＭＬや、プログラムなど、ＦＴＰでアップしているＰＣを「サーバー」<br />
というのですが、</p>

<p>読者さんがホームページを見ようとURLをアクセスすると<br />
私が所有している個人のＰＣの中にある「クライアント」のハードディスクを見るのではなく、<br />
ＦＴＰでアップした「サーバー」の方のページをブラウザで見ていることになります。</p>

<p>サーバーには、作成したＨＴＭＬやプログラムなどをＦＴＰでアップしてあるところと説明しましたが<br />
例えば掲示板にＣＧＩを使っていて、掲示板に誰かが書き込んだとき、どういう動作をするかと言いますと</p>

<p>●読者さんが掲示板にアクセスする<br />
↓<br />
●サーバーに置いてあるＣＧＩプログラム（～.cgiや～.plなど）が作動する<br />
↓<br />
●掲示板に読者さんが書き込みをする<br />
↓<br />
●サーバーのＣＧＩプログラム（～.cgiや～.plなど）が作動して、<br />
　書き込んだ内容をログで書き出す（例～.logなど）<br />
↓<br />
●CGIが書き出したlogファイルをHTML表示して、<br />
　読者さんのブラウザに表示</p>

<p><br />
こうして、読者さんは掲示板の書き込みをして<br />
内容を見ることができます。</p>

<p>これが掲示板の仕組みですね。</p>

<p>この、logの部分、つまり皆さんが書き込んだデータの集まりをまとめて<br />
DB（データーベース）と呼ぶのですね。<br />
少しはイメージがつかめたでしょうか。</p>

<p>で、このデータベースがあなたのサイトで必要かどうかを見分ける必要があります。<br />
その話を次回詳しく掲載いたします。</p>]]>

</content>
</entry>
<entry>
<title>さくらインターネットの価格と容量</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2005/07/21-0000.html" />
<modified>2005-07-20T15:01:26Z</modified>
<issued>2005-07-20T15:00:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2005:/sakura//3.28</id>
<created>2005-07-20T15:00:00Z</created>
<summary type="text/plain">第８回 本当は最初の第１回に、この文章が来るはずなのですが、 どうしても「自動投...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>100_sakuraall</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第８回</p>

<p>本当は最初の第１回に、この文章が来るはずなのですが、<br />
どうしても「自動投稿ができる！！！！」<br />
という部分を言いたかったので最初に、cronとMovableTypeの記事を書いてしまいました。</p>

<p>順序が逆ですが、さくらインターネットの概略を説明します。<br />
この記事は、さくらインターネットをまだ借りていない方への記事ですね。</p>

<p>さくらインターネットには３つのプランがあります。</p>

<p>ライト：300M（年間1500円）<br />
スタンダード：1G＋PHP、Mysql、cronサポート（年間5000円）<br />
プレミアム：3G＋PHP、Mysqll、cronサポート（年間1万5000円）<br />
（PHP、Mysqlについては後に詳しく記述します）</p>

<p><br />
私は読者さんにWebスペースを貸してもらっているので<br />
ほぼ無限に容量を使うことができるため、容量はそれほど気にしていなかったのですね。</p>

<p>旧さくらインターネットも契約当時は１００Ｍだったのですが、<br />
途中で１５０Ｍに拡張され、<br />
ＨＰの容量も当時は７０Ｍくらいだったので<br />
乗り換えで一番安い３００Ｍに申し込んだのですが、<br />
ある機能（Mysqlやcronなど）が使えないことを後で知って<br />
さくらインターネットにメールを出しましたら、<br />
返答が来まして変えてくれました。</p>

<p>私が借りているときは２週間ほどお試し期間があり、その時に変更依頼を出したので変えてくれました。<br />
一度契約をしてしまうと、後で変えられるかはわかりません。<br />
サポートセンターに問い合わせしてみてください。</p>

<p>私は真ん中の１Ｇのものを借りました。<br />
もうファイル上げ放題ですね（笑）</p>

<p>テキスト関係中心のサイトなら、３００Ｍでも充分すぎるでしょうが<br />
私の場合は読者さんからのイラスト投稿や、複数のＨＰを運営していることから<br />
先のことも考えて真ん中のプランにしました。<br />
それでも以前年間１００００円だったのが、５０００円になったので<br />
月４２０円くらいですからね。<br />
（ちなみに写真素材も私はサイトで扱っているのですが<br />
　それは読者さんからお借りしているＨＰに置いています）</p>

<p>今回は値段と容量、プランによって何が使えるかという概略を説明しました。</p>]]>

</content>
</entry>
<entry>
<title>シェルスクリプトを使ってcronを一括実行</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2005/06/26-0010.html" />
<modified>2005-06-25T15:10:14Z</modified>
<issued>2005-06-25T15:10:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2005:/sakura//3.27</id>
<created>2005-06-25T15:10:00Z</created>
<summary type="text/plain">第７回 前回、cronが5つまでしか設定できないので cronの命令をずらずら後...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>070_shell</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第７回</p>

<p>前回、cronが5つまでしか設定できないので<br />
cronの命令をずらずら後ろに並べてまとめることで複数のcronを1回に実行できるという話をしました。<br />
ただ、この方法だと、1行に書くのでとても見にくいです。<br />
そこでシェルスクリプトを使ってcronをまとめて実行する方法を掲載いたします。</p>

<p>シェルスクリプトとは、複数の処理をまとめて行なう(バッチ処理)ときに使われるのですが<br />
起動するコマンドを集めてテキストファイルに保存し<br />
そのファイルに実行権を与えることによって、順次指定したコマンドを起動することができます。</p>

<p>さくらインターネットは、シェルスクリプトもサポートしています。</p>

<p>では、シェルスクリプトはどういうふうにしたらよいのでしょう。</p>

<p></p>

<p>#!/bin/sh<br />
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin<br />
cd /home/midilin/www/MT/<br />
./tools/run-periodic-tasks</p>

<p>というテキストファイルを作ります。<br />
これで1行目はシェルスクリプトを使うための宣言（お約束とでも思ってください）<br />
次の2行目のPATH、これも同じお約束で、さくらインターネットでシェルスクリプトを実行する為に<br />
読み込む関数みたいなものです。<br />
3行目、4行目は<br />
MovableTypeでcronを実行するときに指定したもの<br />
「cd /home/midilin/www/MT/; ./tools/run-periodic-tasks」<br />
を2行に分けて書きました。</p>

<p>上記のファイルを、テキストファイルとして保存します。<br />
ファイル名は何でもよいですが、cronというフォルダを作成して、cron1.shに保存したとします。</p>

<p>で、cronの設定では<br />
「cd /home/midilin/www/MT/; ./tools/run-periodic-tasks」<br />
と今まで指定していたところを<br />
このテキストファイルを指定してあげます。</p>

<p>/home/midilin/www/cron/cron.sh</p>

<p>こうすると、cronフォルダにあるcron.shを実行してくれるので<br />
同じMovableTypeを自動実行してくれます。</p>

<p><br />
これを応用して、MovableTypeのcronの設定と他のcronの設定をまとめて書いてしまえばよいわけです。</p>

<p>#!/bin/sh<br />
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin<br />
cronA<br />
cronB<br />
cronC<br />
cronD<br />
cronE<br />
cronF<br />
cd /home/midilin/www/MT/<br />
./tools/run-periodic-tasks</p>

<p><br />
これをcron.shというファイルで保存して、<br />
1つのcronを実行させてあげれば、一気に実行させることができます。</p>

<p>ただし、あまり負荷のかかるプログラムの実行をcronで行うのは辞めましょう。<br />
cronは他の方も使われている共通のところで行われるため、あまり負荷がかかるものを使用すると<br />
強制削除される可能性もあります。<br />
常識の範囲で使われることをお勧めします。</p>

<p>また、cronの設定は1時間に2個以上の場合強制削除される可能性もあると<br />
さくらインターネットに記述してあるので、1時間に一回あたりの設定がよいと思います。</p>]]>

</content>
</entry>
<entry>
<title>cronが5つまでしか設定できない！</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2005/06/13-1300.html" />
<modified>2005-06-13T04:01:08Z</modified>
<issued>2005-06-13T04:00:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2005:/sakura//3.26</id>
<created>2005-06-13T04:00:00Z</created>
<summary type="text/plain">第６回 前回まではcronによりMovableTypeを使うことでblogの自動...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>090_Disadvantage</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第６回</p>

<p>前回まではcronによりMovableTypeを使うことでblogの自動更新ができるという話をしてきました。<br />
さて、今回は１つデメリットを挙げさせていただきます。</p>

<p>このcronなのですが、さくらインターネットでは5つまでしか設定できないというデメリットがあります。<br />
もっともcronをサポートしているところ自体が少ないので、デメリットになるかどうかといえば疑問でありますが<br />
無限に設定できると思われるとまずいので、今回記述いたしました。</p>

<p>しかしここで１つ勘違いしていただきたくないのは、<br />
MovableTypeの更新が自動で５つまでしかできないというわけではないのです。<br />
MovableTypeの場合、１つのcronの命令で、すべてのblogに指示がいくので</p>

<p>例えばMovableTypeで作成した10個のblogを所有していましたら、1つcronを設定するだけで<br />
10個のblogに自動更新をさせることはできます。</p>

<p>5個までcronが設定できないというのは<br />
MovableTypeを含めて、5つまで設定できるということ<br />
（MovableTypeで1つ使っているので、後4つまでcronの設定ができるということ）<br />
です。</p>

<p>普通にサイトを運営されている方であれば、5つもcronが埋まるということはあまりないとは思うのですけれどね。</p>

<p>あとどうしても、自動設定を6つ以上行いたいという方がいれば、<br />
同時間に実行させるというのであれば、増やすことができるちょっとした裏技（？）があります。</p>

<p>(1)AというサイトでcronA<br />
(2)BというサイトでcronB<br />
(3)CというサイトでcronC<br />
(4)DというサイトでcronD<br />
(5)EというサイトでcronE<br />
(6)FというサイトでcronF</p>

<p><br />
例えば、このような6つのcronを実行させたいとします。</p>

<p>もし、AとBが同時間に行われるcronであれば、<br />
(1)AというサイトでcronA、BというサイトでcronB<br />
(2)CというサイトでcronC<br />
(3)DというサイトでcronD<br />
(4)EというサイトでcronE<br />
(5)FというサイトでcronF</p>

<p>のように、1つのcronの設定で2つの内容を書いてしまえばよいのです。</p>

<p>MovableTypeのcronを起動するとき<br />
cd /home/midilin/www/MT/; ./tools/run-periodic-tasks<br />
のようにcronを設定するという話をしましたが<br />
これも元々は2つのコマンドを組み合わせていまして<br />
実際は<br />
cd /home/midilin/www/MT/<br />
./tools/run-periodic-tasks<br />
この2つを「;」という区切りをつけて、くっつけて実行しているだけなのですね。</p>

<p>これと同じで、全部のスクリプトを後ろにずらずら書けば<br />
複数のcronを1つにまとめてしまえるので、cronの節約になるわけです。</p>

<p>ただ、1つのcronの設定にずらずら書くとわかりにくいので「シェルスクリプト」という方法を使い、<br />
実行できます。<br />
シェルスクリプトについては次回説明いたします。</p>]]>

</content>
</entry>
<entry>
<title>「MovableType」によるブログの自動更新</title>
<link rel="alternate" type="text/html" href="http://midilin.sakura.ne.jp/sakura/archives/2005/06/04-2040.html" />
<modified>2005-06-04T11:37:50Z</modified>
<issued>2005-06-04T11:40:00Z</issued>
<id>tag:midilin.sakura.ne.jp,2005:/sakura//3.25</id>
<created>2005-06-04T11:40:00Z</created>
<summary type="text/plain">第５回 前回はさくらインターネットでのMovableTypeのインストールの仕方...</summary>
<author>
<name>midilin</name>

<email>makoto1@js7.so-net.ne.jp</email>
</author>
<dc:subject>030_MovableType</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://midilin.sakura.ne.jp/sakura/">
<![CDATA[<p>第５回</p>

<p>前回はさくらインターネットでのMovableTypeのインストールの仕方を書きました。<br />
今回は、いよいよ自動更新の話です。<br />
cronというものを使って自動更新をするという話は書いたのですが<br />
cronをどの画面でまず設定するかというと、<br />
さくらインターネットのコントロールパネルです。</p>

<p>https://secure.sakura.ad.jp/rscontrol/</p>

<p>ここで、契約ドメイン名とパスワードを入れると<br />
コントロールパネルにログインができます。</p>

<p>ログインをしたら<br />
左メニューの「サーバ設定と状態確認」に<br />
「CRON設定ファイルの編集」<br />
という画面があるので、そこをクリックします。</p>

<p><br />
「CRON設定ファイルの編集」という画面にうつるので<br />
そこで「新規項目の追加」ボタンを押すと<br />
以下のような画面にかわります。</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/cron001.gif" alt="cronの設定画面"></p>

<p>ここで、月、日、時をそれぞれ「*」として、<br />
分に、好きな時間を入れます。<br />
「*」は、毎回という意味なので、<br />
毎月、毎日、毎時、実行をするという意味になります。<br />
また、分には数字を入れると、その時間に実行します。<br />
私の場合は30と入れることにします。<br />
こうすると、cronを1時間に一回、30分のとき<br />
（つまり、0:30、1:30、2:30、3:30～23:30）<br />
に実行をするということになります。</p>

<p>また、実行するコマンドのところには</p>

<p>cd /home/midilin/www/MT/; ./tools/run-periodic-tasks</p>

<p>というふうにいれます。<br />
（ちなみに、私の場合は、<br />
http://midilin.sakura.ne.jp/MT/<br />
にMTをインストールしたという仮定で進めています。<br />
自分のパスにあわせて、文字を変えてください）</p>

<p><img src="http://midilin.sakura.ne.jp/sakura/images/cron002.gif" alt="cronの設定画面"></p>

<p>上の<br />
cd /home/midilin/www/MT/; ./tools/run-periodic-tasks<br />
の意味ですが、<br />
cd<br />
とは、UNIXのコマンドで、「チェンジディレクトリ」の略で<br />
cd ディレクトリ名とうつとそのディレクトリに移動するという命令を実行しています。<br />
次に<br />
./tools/run-periodic-tasks<br />
は、その移動したディレクトリで、<br />
toolsフォルダにある、run-periodic-tasksというファイルを実行をするということです。</p>

<p>これで、cronの設定は終了です。</p>

<p>あとは、上記で設定した「run-periodic-tasks」の設定を少し変えてあげます。</p>

<p>FTPで、MovableTypeをインストールしたディレクトリに移動して、<br />
その中のtoolsディレクトリにあるrun-periodic-tasksファイルの<br />
アクセス権を755にします。</p>

<p>これで実行が可能となります。</p>

<p><br />
あとは、MovableTypeの記事投稿で<br />
「投稿の状態」を「指定日」にかえて<br />
指定日を指定すれば、cronの命令により指定日に更新されます。</p>

<p><br />
<img src="http://midilin.sakura.ne.jp/sakura/images/cron003.gif" alt="MTの指定日を設定"></p>

<p>365日毎日無人更新をしたい場合は、<br />
指定日を1日ずつずらして、「指定日」の設定にすれば無人自動投稿の完成です。<br />
この「レンタルサーバーさくらインターネットを使いこなす」もそのようにして、更新を行っています。</p>

<p>これで、開いている時間にテキストを書きとめておいて<br />
後は休日に家にいないときや忙しそうなときでも、更新を行うことができます。</p>]]>

</content>
</entry>

</feed>
