<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/zaku2/">
    <title>zaku2 @ ウィキ</title>
    <link>http://w.atwiki.jp/zaku2/</link>
    <atom:link href="https://w.atwiki.jp/zaku2/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>zaku2 @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2012-04-19T01:29:42+09:00</dc:date>
    <utime>1334766582</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/zaku2/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/zaku2/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/zaku2/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/zaku2/pages/3.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/zaku2/pages/4.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/zaku2/pages/5.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/zaku2/pages/6.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/zaku2/pages/7.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/zaku2/pages/8.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/zaku2/pages/9.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/zaku2/pages/13.html">
    <title>CentOS/LAMP環境構築</title>
    <link>https://w.atwiki.jp/zaku2/pages/13.html</link>
    <description>
      #contents

* CentOS/LAMP環境構築 [#daaee5a2]

ここでは、ゲストOS（CentOS）上に、LAMP環境を構築する手順を説明します。（スクリプト言語はPHPです。）

インストールは、全てyumを使用しますので、特定のバージョンやコンパイルオプションが必要な場合は、rpmやソースからインストールして下さい。



** Apache [#h14e7d79]

Apacheをインストールします。Apacheデーモンの名前はapached、なら分かりやすいのですが、歴史的な理由？によりhttpdとなっています。
 # yum install httpd

インストールされたか確認します。
 # yum list installed | grep -i httpd
   httpd.i386                                2.2.3-22.el5.centos.2        installed
インストールされました。

それでは、Apacheを起動してみます。
 # /etc/init.d/httpd start
   httpd を起動中: httpd: Could not reliably determine the server&#039;s fully qualified domain name, using 127.0.0.1 for ServerName
                                                              [  OK  ]

起動しました。が、SerｖerNameで、警告が出ているようです。
とりあえず、SerｖerNameをlocalhostと指定します。yumインストールの場合、設定ファイルは/etc/httpd/conf/httpd.confです。
 # vi /etc/httpd/conf/httpd.conf
&gt;
 #ServerName www.example.com:80
　　　↓
 ServerName localhost

では、Apacheを再起動します。
 # /etc/init.d/httpd restart
   httpd を停止中:                                            [  OK  ]
   httpd を起動中:                                            [  OK  ]

ついでに、OS起動時に自動起動する設定も行います。
 # chkconfig httpd on
 # chkconfig --list | grep httpd
   httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

それでは、ホスト（Window）側から、ブラウザでアクセスしてみましょう。
URLにIPアドレスかホスト名を指定します。
 IPアドレスの例）http://192.168.247.136/
 ホスト名の例）http://centos/

Apache 2 Test Pageというタイトルのページが表示されましたでしょうか？
うまくいかない場合、HTTPで利用される80番ポートがファイアーウォールで遮断されている可能性があります。ここでは、system-config-securitylevelツールでファイアーウォールの設定を行います。

 # system-config-securitylevel
まず、Customizeを選択してEnter。次に、WWW（HTTP）を選択（Spaceキー）してOK。再度OKで、設定完了です。

念のため、設定ができているか確認しましょう。
 # cat /etc/sysconfig/iptables
  （略）
   -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  （略）

さて、自宅マシンで開発環境を構築するといった用途であれば、毎回ファイアーウォールの設定に煩わされるのも何ですので、落としてしまうというのもありでしょう。
 # /etc/init.d/iptables stop
   ファイアウォールルールを適用中:                            [  OK  ]
   チェインポリシーを ACCEPT に設定中filter                   [  OK  ]
   iptables モジュールを取り外し中                            [  OK  ]

自動起動からも除外します。
 # chkconfig iptables off
 # chkconfig --list | grep iptables
   iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off

それでは、もう一度、ブラウザからアクセスしてみましょう。

では、実際にHTMLを作成して確認してみましょう。
まず、ドキュメントルート（Webで公開されるディレクトリ）がどこかを確認します。
ドキュメントルートは設定ファイル（httpd.conf）のDoｃumentRootの値になります。
 # cat /etc/httpd/conf/httpd.conf | grep ^DocumentRoot
   DocumentRoot &quot;/var/www/html&quot;

/var/www/htmlとあります。では、/var/www/html以下にHTMLファイルを作ってみましょう。
 # vi /var/www/html/hello.html
&gt;
 &lt;h1&gt;Hello Apache!!&lt;/h1&gt;

ではブラウザからアクセスしてみます。
 IPアドレスの例）http://192.168.247.136/hello.html
 ホスト名の例）http://centos/hello.html



** PHP [#b7abdf88]

次にPHPをインストールしますが、yumでインストールできるPHPモジュールはたくさんあります。以下のコマンドでリストアップしてみます。
 # yum list php-*
   Loaded plugins: fastestmirror
   Loading mirror speeds from cached hostfile
    * base: ftp.yz.yamagata-u.ac.jp
    * updates: ftp.yz.yamagata-u.ac.jp
    * addons: ftp.yz.yamagata-u.ac.jp
    * extras: ftp.yz.yamagata-u.ac.jp
   Available Packages
   php.i386                                5.1.6-23.2.el5_3            updates
   php-bcmath.i386                         5.1.6-23.2.el5_3            updates
   php-cli.i386                            5.1.6-23.2.el5_3            updates
   php-common.i386                         5.1.6-23.2.el5_3            updates
   php-dba.i386                            5.1.6-23.2.el5_3            updates
   php-dbase.i386                          5.1.6-15.el5.centos.1       extras
   php-devel.i386                          5.1.6-23.2.el5_3            updates
   php-gd.i386                             5.1.6-23.2.el5_3            updates
   php-imap.i386                           5.1.6-23.2.el5_3            updates
   php-ldap.i386                           5.1.6-23.2.el5_3            updates
   php-mbstring.i386                       5.1.6-23.2.el5_3            updates
   php-mcrypt.i386                         5.1.6-15.el5.centos.1       extras
   php-mhash.i386                          5.1.6-15.el5.centos.1       extras
   php-mssql.i386                          5.1.6-15.el5.centos.1       extras
   php-mysql.i386                          5.1.6-23.2.el5_3            updates
   php-ncurses.i386                        5.1.6-23.2.el5_3            updates
   php-odbc.i386                           5.1.6-23.2.el5_3            updates
   php-pdo.i386                            5.1.6-23.2.el5_3            updates
   php-pear.noarch                         1:1.4.9-4.el5.1             base
   php-pear-Auth-SASL.noarch               1.0.2-4.el5.centos          extras
   php-pear-DB.noarch                      1.7.13-1.el5.centos         extras
   php-pear-Date.noarch                    1.4.7-2.el5.centos          extras
   php-pear-File.noarch                    1.2.2-1.el5.centos          extras
   php-pear-HTTP-Request.noarch            1.4.2-1.el5.centos          extras
   php-pear-Log.noarch                     1.9.13-1.el5.centos         extras
   php-pear-MDB2.noarch                    2.4.1-2.el5.centos          extras
   php-pear-MDB2-Driver-mysql.noarch       1.4.1-3.el5.centos          extras
   php-pear-Mail.noarch                    1.1.14-1.el5.centos         extras
   php-pear-Mail-Mime.noarch               1.4.0-1.el5.centos          extras
   php-pear-Net-SMTP.noarch                1.2.10-1.el5.centos         extras
   php-pear-Net-Sieve.noarch               1.1.5-2.el5.centos          extras
   php-pear-Net-Socket.noarch              1.0.8-1.el5.centos          extras
   php-pear-Net-URL.noarch                 1.0.15-1.el5.centos         extras
   php-pecl-Fileinfo.i386                  1.0.4-3.el5.centos          extras
   php-pecl-memcache.i386                  2.2.3-1.el5_2               extras
   php-pgsql.i386                          5.1.6-23.2.el5_3            updates
   php-readline.i386                       5.1.6-15.el5.centos.1       extras
   php-snmp.i386                           5.1.6-23.2.el5_3            updates
   php-soap.i386                           5.1.6-23.2.el5_3            updates
   php-tidy.i386                           5.1.6-15.el5.centos.1       extras
   php-xml.i386                            5.1.6-23.2.el5_3            updates
   php-xmlrpc.i386                         5.1.6-23.2.el5_3            updates

ここから、必要なモジュールをインストールしましょう。
ここでは、PHP本体、マルチバイト対応モジュール、MySQLモジュールをインストールします。（他は必要になってからインストールします。）
# yum install php php-mbstring php-mysql

この時、phpの他のライブラリや、perl-DBI、mysqlといったものも同時にインストールされる場合がありますが、これは上記3つのパッケージのインストールに必要なパッケージのため同時にインストールされるためです。Perlが混入していることに驚かないで下さい。

では、インストールされたか確認します。
 # yum list installed | grep -i php
   php.i386                                  5.1.6-23.2.el5_3             installed
   php-cli.i386                              5.1.6-23.2.el5_3             installed
   php-common.i386                           5.1.6-23.2.el5_3             installed
   php-mbstring.i386                         5.1.6-23.2.el5_3             installed
   php-mysql.i386                            5.1.6-23.2.el5_3             installed
   php-pdo.i386                              5.1.6-23.2.el5_3             installed

さて、次はPHPデーモンの起動だな、と思われた方。勘が良いです。
が、残念ながらPHPはその必要はありません。PHPは常時起動しておくようなデーモンではなく、Apacheデーモン上から呼び出されて動作するためです((実際にはPHPは単独でも動作しますし、Apacheとは別次元でCGIとしても動作します。))。
とりあえずは、PHPはApacheの拡張言語のようなものと認識しておくとよいかもしれません。（そういった意味では、これからApacheプログラミングをやろうとしているのです!!）

ちなみに、デーモンとは常時起動していろんなことをしてくれる（英語で言うとサーブしてくれる）プログラムで、サービスとも呼ばれます。つまり、デーモン、サービス、サーバーはかなり意味的に近いものです。Linuxが初めての方は、デーモンとは24時間営業のコンビニのようなものと考えておくとよいかもしれません。

では、PHPが実際にインストールされているか確認しましょう。以下のコマンドで、PHPがインストールされていれば、PHPのバージョンを表示できます。
 # php -v
   PHP 5.1.6 (cli) (built: Apr  7 2009 08:00:04)
   Copyright (c) 1997-2006 The PHP Group
   Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
うまくインストールされているようです。5.1.6はいささか古いバージョンですが、横着してyumでインストールしているので辛抱しましょう。

では、Apacheのドキュメントルートディレクトリに簡単なPHPスクリプトを作成し、ブラウザから確認してみましょう。拡張子は.phpとします。
 # vi /var/www/html/hello.php
&gt;
 &lt;h1&gt;&lt;?php echo &quot;Hello PHP!!&quot; ?&gt;&lt;/h1&gt;

ではブラウザからアクセスしてみます。
 IPアドレスの例）http://192.168.247.136/hello.php
 ホスト名の例）http://centos/hello.php

さて、どのように表示されたでしょうか？おそらくPHPが実行されず、テキストデータとしてコードそのものが表示されているはずです（何も表示されない場合はHTMLのソースを表示してみてください）。これは、ApacheがPHPを認識できていないためです。

Apache側にPHPスクリプトを動作させる設定を加えます。通常Apacheの設定はhttpd.confで行いますが、yumでPHPをインストールした場合はPHP用の設定ファイルphp.confがconf.dディレクトリ作成されていますので、こちらに設定を行います。
 # vi /etc/httpd/conf.d/php.conf
&gt;
 AddType text/html .php
　　　↓
 AddType application/x-httpd-php .php

また、php5_moduleというApacheモジュールを読み込む設定も必要なのですが、
こちらは、php.conf内にすでに記述されているはずです。
 LoadModule php5_module modules/libphp5.so
php.confの存在を知らずに、httpd.confにこの設定を記述してしまうと、モジュールを2度読み込み、Apache起動時に以下の警告が出ますので気をつけましょう。
 [warn] module php5_module is already loaded, skipping

それでは、設定を反映させるために、Apacheを再起動します。
 # /etc/init.d/httpd restart
   httpd を停止中:                                            [  OK  ]
   httpd を起動中:                                            [  OK  ]

再度、ブラウザからhello.phpを確認してみましょう。

次にPHPの設定を行います。上記のように、特に設定しなくても普通に動作するのですが、ここでは最低限行っておいた方がよい設定だけを抜粋します((本番運用時は、セキュリティも考慮して、ある程度設定を変更する場合が多いです))。

デフォルトでは設定ファイルは/etc/php.iniにあります。
 # vi /etc/php.ini
&gt;360行目あたり（エラー報告のレベルを厳密にします）
 error_reporting  =  E_ALL
　　　↓
 error_reporting  =  E_ALL | E_STRICT
エラー報告のレベルが厳密でなければ、間違った書き方や古い書き方をしていても通知されず、バグが混入する確立が増えてしまいます。
すべての警告を表示することは、どの言語であっても、また初心者上級者問わず、必ず行っておくべきことのひとつだと考えます((『[[Code Craft ~エクセレントなコードを書くための実践的技法:http://www.amazon.co.jp/dp/4839921946/]]』の第一章「防御的プログラミング」でも述べられています。))。

&gt;367行目あたり（エラーを表示します）
 display_errors = Off
　　　↓
 display_errors = On
※この設定は、本番運用時にはOffにしなければいけません。

&gt;639行目あたり（タイムゾーンの設定をします）
 ;date.timezone =
　　　↓
 date.timezone = Asia/Tokyo

&gt;1125行目あたり（マルチバイト文字の設定を日本語にします）
 ;mbstring.language = Japanese
　　　↓
 mbstring.language = Japanese

&gt;1130行目あたり（マルチバイト文字の内部文字コードをUTF8にします）
 ;mbstring.internal_encoding = EUC-JP
　　　↓
 mbstring.internal_encoding = UTF-8

設定が完了したら、Apacheを再起動します。
 # /etc/init.d/httpd restart



** MySQL [#n5e295a1]

MySQLをインストールします。
 # yum install mysql mysql-server
※前述のPHPインストールの手順でインストールした場合、「mysql」はすでにインストールされていますが、上記のコマンドで問題ありません。

インストールされてか確認します。
 # yum list installed | grep -i mysql
   mysql.i386                                5.0.45-7.el5                 installed
   mysql-server.i386                         5.0.45-7.el5                 installed
   perl-DBD-MySQL.i386                       3.0007-2.el5                 installed
   php-mysql.i386                            5.1.6-23.2.el5_3             installed

次に、MySQLデーモンを起動します。初回のみ、データベースの初期化が行われるので、少し時間がかかります。
 # /etc/init.d/mysqld start
   MySQL データベースを初期化中:  Installing MySQL system tables...
   OK
   Filling help tables...
   OK
   
   To start mysqld at boot time you have to copy
   support-files/mysql.server to the right place for your system
   
   PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
   To do so, start the server, then issue the following commands:
   /usr/bin/mysqladmin -u root password &#039;new-password&#039;
   /usr/bin/mysqladmin -u root -h test01 password &#039;new-password&#039;
   See the manual for more instructions.
   You can start the MySQL daemon with:
   cd /usr ; /usr/bin/mysqld_safe &amp;
   
   You can test the MySQL daemon with mysql-test-run.pl
   cd mysql-test ; perl mysql-test-run.pl
   
   Please report any problems with the /usr/bin/mysqlbug script!
   
   The latest information about MySQL is available on the web at
   http://www.mysql.com
   Support MySQL by buying support/licenses at http://shop.mysql.com
                                                              [  OK  ]
   MySQL を起動中:                                            [  OK  ]

実際にどのようなプロセスが起動しているのかは、psコマンドで確認することができます。（起動オプションも確認できます。）
 # ps aux | grep mysql
   root      8433  0.0  0.1   5420  1148 pts/0    S    03:45   0:00 [↓実際は一行]
     /bin/sh /usr/bin/mysqld_safe
     --datadir=/var/lib/mysql
     --socket=/var/lib/mysql/mysql.sock
     --log-error=/var/log/mysqld.log
     --pid-file=/var/run/mysqld/mysqld.pid
   mysql     8493  0.0  2.3 126120 18536 pts/0    Sl   03:45   0:00 [↓実際は一行]
     /usr/libexec/mysqld
     --basedir=/usr
     --datadir=/var/lib/mysql
     --user=mysql
     --pid-file=/var/run/mysqld/mysqld.pid
     --skip-external-locking
     --socket=/var/lib/mysql/mysql.sock

pstreeを見ると、まず、mysqld_safeが起動され、mysqld_safeからmysqldが起動されているようです。
 # pstree

ちなみに、mysqldはmysqlというユーザで起動されています。mysqlというユーザーは作成した覚えがないですが、どうやら自動的に作成されているようです。
 # cat /etc/passwd
※ファイル最下部に追加されている。

Apacheと同様、OS起動時に自動起動する設定も行います
 # chkconfig mysqld on
 # chkconfig --list | grep mysqld 
   httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

さて、無事、インストール・起動ができました。では実際にデータベース内を見てみたいのですが、どうしたらよいでしょう？
それには、mysqlというツールを利用します。名前がまんまでややこしいですが、実はyum install時のmysqlとはこのツールのことだったのです。

mysqlを起動します。
 # mysql
   Welcome to the MySQL monitor.  Commands end with ; or \g.
   Your MySQL connection id is 2
   Server version: 5.0.45 Source distribution
   
   Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the buffer.

するとmysqlプロンプトが立ち上がります。mysql&gt; は、シェルコマンドでなく、MySQLの命令（例えばSQL等）を入れてくださいという合図です。

例えば、データベースの一覧を見るには、SHOW DATABASES; と入力します。
 mysql&gt; SHOW DATABASES;
 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | mysql              |
 | test               |
 +--------------------+
 3 rows in set (0.00 sec)

現状では、MySQLにパスワードが設定されていません。ここではlocalhostからrootユーザーによってアクセスされた場合のパスワードを設定します((ちなみに、このrootユーザーとは、Linuxのrootユーザーとは全く関係がありません。MySQLレベルで、全ての特権をもつユーザーのことです。))。
 mysql&gt; SET PASSWORD FOR root@localhost=PASSWORD(&#039;xxxxx&#039;);
 Query OK, 0 rows affected (0.00 sec)
※xxxxxの部分は、実際に好きな文字列を入れてください((私は開発環境の場合、「password」とすることが多いです。覚えるのが面倒なので。))。

では、一旦mysqlを終了します。
 mysql&gt; exit
 Bye

次に、先ほどと同様にmysqlを起動してみましょう。
 # mysql
   ERROR 1045 (28000): Access denied for user &#039;root&#039;@&#039;localhost&#039; (using password: NO)
パスワードがないので、アクセスできませんと怒られました。
では、以下のオプションを付けて、mysqlを起動します。
 # mysql -u root -p
   Enter password:
パスワードを聞かれますので、先ほど設定したパスワードを入力すると、mysqlプロンプトが起動します((-uはユーザー名、-pは続けてパスワードを入力するというオプションです。))。

では、実際のデータを格納してみましょう。
まずは、lampという名前のデータベースを作成します。
 mysql&gt; CREATE DATABASE lamp DEFAULT CHARACTER SET utf8;
   Query OK, 1 row affected (0.00 sec)
作成されたか確認します。
 mysql&gt; SHOW DATABASES;
 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | lamp               |
 | mysql              |
 | test               |
 +--------------------+
 4 rows in set (0.00 sec)

以降、lampデータベースで作業するため、lampデータベースに移動します。これは、Linuxでいうカレントディレクトリを移動するようなものだと考えてください。
 mysql&gt; USE lamp
   Database changed

次にテーブルを作成します。以下のSQLを入力しようと思います。
 CREATE TABLE language (
     id     INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
     name   VARCHAR(10) NOT NULL,
     note   VARCHAR(100) NOT NULL
 );

これを、mysqlプロンプトにコピー＆ペーストしましょう。
 mysql&gt; CREATE TABLE language (
     -&gt;     id   INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
     -&gt;     name VARCHAR(10),
     -&gt;     note VARCHAR(100)
     -&gt; );
 Query OK, 0 rows affected (0.01 sec)

ちなみに、SQLは小文字大文字の区別をしませんが、MySQLの予約語を大文字に、カラム名やテーブル名を小文字にすれば、SQLの見た目が分かりやすくなります((ほとんどのテキストでは、そのようなスタイルになっているはずです。))。

テーブルが作成されたか確認します。
 mysql&gt; DESC language;
 +-------+--------------+------+-----+---------+----------------+
 | Field | Type         | Null | Key | Default | Extra          |
 +-------+--------------+------+-----+---------+----------------+
 | id    | int(11)      | NO   | PRI | NULL    | auto_increment |
 | name  | varchar(10)  | YES  |     | NULL    |                |
 | note  | varchar(100) | YES  |     | NULL    |                |
 +-------+--------------+------+-----+---------+----------------+
 3 rows in set (0.01 sec)

次にテーブルにデータを挿入します。以下SQLをmysqlプロンプトにながしてください。
 INSERT INTO language (name, note) VALUES (&#039;PHP&#039;, &#039;初心者でも使いやすい&#039;);
 INSERT INTO language (name, note) VALUES (&#039;Perl&#039;, &#039;かつては一世を風靡した&#039;);
 INSERT INTO language (name, note) VALUES (&#039;Ruby&#039;, &#039;Railsで火がついた国産言語&#039;);
 INSERT INTO language (name, note) VALUES (&#039;Python&#039;, &#039;米国での利用者はとても多い&#039;);

データを確認します。
 mysql&gt; SELECT * FROM language;
 +----+--------+-----------------------------------------+
 | id | name   | note                                    |
 +----+--------+-----------------------------------------+
 |  1 | PHP    | 初心者でも使いやすい                    |
 |  2 | Perl   | かつては一世を風靡した                  |
 |  3 | Ruby   | Railsで火がついた国産言語               |
 |  4 | Python | 米国での利用者はとても多い              |
 +----+--------+-----------------------------------------+
 4 rows in set (0.00 sec)



** PHPからMySQLのデータにアクセスする [#d7e16dfd]

先ほど作成した、languageテーブルを利用します。

以下のプログラムを作成し、/var/www/html/mysql.phpという名前で保存してください。
 &lt;?php
 $db = mysql_connect(&#039;localhost&#039;, &#039;root&#039;, &#039;password&#039;);
 if (!$db) {
     die(&#039;MySQL接続失敗: &#039; . mysql_error());
 }
 
 $db_selected = mysql_select_db(&#039;lamp&#039;, $db);
 if (!$db_selected) {
     die(&#039;データベース選択失敗: &#039; . mysql_error());
 }
 
 $result = mysql_query(&#039;SELECT * FROM language&#039;, $db);
 if (!$result) {
     die(&#039;クエリ選択失敗: &#039; . mysql_error());
 }
 
 while ($row = mysql_fetch_assoc($result)) {
     echo &#039;id: &#039;   . $row[&#039;id&#039;]   . &#039;&lt;br /&gt;&#039;;
     echo &#039;name: &#039; . $row[&#039;name&#039;] . &#039;&lt;br /&gt;&#039;;
     echo &#039;note: &#039; . $row[&#039;note&#039;] . &#039;&lt;br /&gt;&#039;;
     echo &#039;&lt;hr /&gt;&#039;;
 }
※ちなみに、PHPのコードのみで構成される場合、ファイル末尾の「?&gt;」は必要ありません。これは近年主流の書き方なので慣れておくと良いでしょう。

それでは、ブラウザから確認してみましょう。
もしどこかでこけた場合、エラーメッセージをたよりに、問題を解決してください。    </description>
    <dc:date>2012-04-19T01:29:42+09:00</dc:date>
    <utime>1334766582</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/zaku2/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/zaku2/pages/1.html</link>
    <description>
      **@wikiへようこそ
-ウィキはみんなで気軽にホームページ編集できるツールです。
-このページは自由に編集することができます。
-メールで送られてきたパスワードを用いてログインすることで、各種変更（サイト名、トップページ、メンバー管理、サイドページ、デザイン、ページ管理、等）することができます

**まずはこちらをご覧ください。
-[[@wikiの基本操作&gt;http://atwiki.jp/guide/category2.html]]
-[[用途別のオススメ機能紹介&gt;http://atwiki.jp/guide/category22.html]]
-[[@wikiの設定/管理&gt;http://atwiki.jp/guide/category6.html]]

**分からないことは？
-[[@wiki ご利用ガイド&gt;http://atwiki.jp/guide/]]
-[[よくある質問&gt;http://atwiki.jp/guide/category1.html]]
-[[無料で会員登録できるSNS内の@wiki助け合いコミュニティ&gt;http://sns.atfb.jp/view_community2.php?no=112]]
-[[@wiki更新情報&gt;http://www1.atwiki.jp/guide/pages/264.html]]
-[[@wikiへのお問合せフォーム&gt;http://atwiki.jp/helpdesk]]
等をご活用ください

**@wiki助け合いコミュニティの掲示板スレッド一覧
#atfb_bbs_list(112)

**その他お勧めサービスについて
-[[大容量１Ｇ、PHP/CGI、MySQL、FTPが使える無料ホームページは@PAGES&gt;&gt;http://atpages.jp/]]
-[[無料ブログ作成は@WORDをご利用ください&gt;&gt;http://atword.jp/]]
-[[2ch型の無料掲示板は@chsをご利用ください&gt;&gt;http://atchs.jp/]]
-[[フォーラム型の無料掲示板は@bbをご利用ください&gt;&gt;http://atbb.jp/]]
-[[お絵かき掲示板は@paintをご利用ください&gt;&gt;http://atpaint.jp/]]
-[[その他の無料掲示板は@bbsをご利用ください&gt;&gt;http://atbbs.jp/]]
-[[無料ソーシャルプロフィールサービス @flabo(アットフラボ)&gt;&gt;http://sns.atfb.jp]]

**おすすめ機能
-[[気になるニュースをチェック&gt;http://atwiki.jp/guide/17_174_ja.html]]
-[[関連するブログ一覧を表示&gt;http://atwiki.jp/guide/17_161_ja.html]]

**その他にもいろいろな機能満載！！
-[[@wikiプラグイン&gt;http://atwiki.jp/guide/category17.html]]
-[[@wiki便利ツール&gt;http://atwiki.jp/guide/category32.html]]
-[[@wiki構文&gt;http://atwiki.jp/guide/category16.html]]
-[[@wikiプラグイン一覧&gt;http://www1.atwiki.jp/guide/pages/264.html]]
-[[まとめサイト作成支援ツール&gt;http://atwiki.jp/matome/]]

**バグ・不具合を見つけたら？ 要望がある場合は？
お手数ですが、メールでお問い合わせください。
    </description>
    <dc:date>2012-04-19T01:24:52+09:00</dc:date>
    <utime>1334766292</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/zaku2/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/zaku2/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
-[[プラグイン紹介&gt;プラグイン]]
-[[まとめサイト作成支援ツール]]
-[[メニュー]]
-[[メニュー2]]

----

**リンク
-[[@wiki&gt;&gt;http://atwiki.jp]]
-[[@wikiご利用ガイド&gt;&gt;http://atwiki.jp/guide/]]

**他のサービス
-[[無料ホームページ作成&gt;&gt;http://atpages.jp]]
-[[無料ブログ作成&gt;&gt;http://atword.jp]]
-[[2ch型掲示板レンタル&gt;&gt;http://atchs.jp]]
-[[無料掲示板レンタル&gt;&gt;http://atbbs.jp]]
-[[お絵かきレンタル&gt;&gt;http://atpaint.jp/]]
-[[無料ソーシャルプロフ&gt;&gt;http://sns.atfb.jp/]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります


//**更新履歴
//#recent(20)

&amp;link_editmenu(text=ここを編集)
    </description>
    <dc:date>2012-04-19T01:24:52+09:00</dc:date>
    <utime>1334766292</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/zaku2/pages/3.html">
    <title>右メニュー</title>
    <link>https://w.atwiki.jp/zaku2/pages/3.html</link>
    <description>
      **更新履歴
#recent(20)


&amp;link_editmenu2(text=ここを編集)
    </description>
    <dc:date>2012-04-19T01:24:52+09:00</dc:date>
    <utime>1334766292</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/zaku2/pages/4.html">
    <title>プラグイン/ニュース</title>
    <link>https://w.atwiki.jp/zaku2/pages/4.html</link>
    <description>
      * ニュース
@wikiのwikiモードでは
 #news(興味のある単語)
と入力することで、あるキーワードに関連するニュース一覧を表示することができます
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_174_ja.html


-----


たとえば、#news(wiki)と入力すると以下のように表示されます。


#news(wiki)
    </description>
    <dc:date>2012-04-19T01:24:52+09:00</dc:date>
    <utime>1334766292</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/zaku2/pages/5.html">
    <title>まとめサイト作成支援ツール</title>
    <link>https://w.atwiki.jp/zaku2/pages/5.html</link>
    <description>
      * まとめサイト作成支援ツールについて
@wikiには[[まとめサイト作成を支援するツール&gt;&gt;http://atwiki.jp/matome/]]があります。
また、
 #matome_list
と入力することで、注目の掲示板が一覧表示されます。

利用例）#matome_listと入力すると下記のように表示されます
#matome_list
    </description>
    <dc:date>2012-04-19T01:24:52+09:00</dc:date>
    <utime>1334766292</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/zaku2/pages/6.html">
    <title>プラグイン/編集履歴</title>
    <link>https://w.atwiki.jp/zaku2/pages/6.html</link>
    <description>
      * 更新履歴
@wikiのwikiモードでは
 #recent(数字)
と入力することで、wikiのページ更新履歴を表示することができます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_117_ja.html


-----


たとえば、#recent(20)と入力すると以下のように表示されます。


#recent(20)
    </description>
    <dc:date>2012-04-19T01:24:52+09:00</dc:date>
    <utime>1334766292</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/zaku2/pages/7.html">
    <title>プラグイン/アーカイブ</title>
    <link>https://w.atwiki.jp/zaku2/pages/7.html</link>
    <description>
      * アーカイブ
@wikiのwikiモードでは
 #archive_log()
と入力することで、特定のウェブページを保存しておくことができます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/25_171_ja.html


-----


たとえば、#archive_log()と入力すると以下のように表示されます。
保存したいURLとサイト名を入力して&quot;アーカイブログ&quot;をクリックしてみよう


#archive_log()
    </description>
    <dc:date>2012-04-19T01:24:52+09:00</dc:date>
    <utime>1334766292</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/zaku2/pages/8.html">
    <title>プラグイン/動画(Youtube)</title>
    <link>https://w.atwiki.jp/zaku2/pages/8.html</link>
    <description>
      * 動画(youtube)
@wikiのwikiモードでは
 #video(動画のURL)
と入力することで、動画を貼り付けることが出来ます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_209_ja.html

また動画のURLはYoutubeのURLをご利用ください。
＝＞http://www.youtube.com/

-----


たとえば、#video(http://youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。


#video(http://youtube.com/watch?v=kTV1CcS53JQ)

    </description>
    <dc:date>2012-04-19T01:24:52+09:00</dc:date>
    <utime>1334766292</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/zaku2/pages/9.html">
    <title>プラグイン</title>
    <link>https://w.atwiki.jp/zaku2/pages/9.html</link>
    <description>
      @wikiにはいくつかの便利なプラグインがあります。

-----


#ls

-----

これ以外のプラグインについては@wikiガイドをご覧ください
=&gt;http://atwiki.jp/guide/
    </description>
    <dc:date>2012-04-19T01:24:52+09:00</dc:date>
    <utime>1334766292</utime>
  </item>
  </rdf:RDF>
