warning: Creating default object from empty value in /var/www/drupal-5.23/modules/taxonomy/taxonomy.module on line 1418.

サイトのリンク切れの検出チェックをするには?

checkbot を利用するといいだろう。 これは Perl ベースのコマンドラインツールで、実行するとリンク切れをチェックして HTML を出力する。その HTML に書き出された検出結果をブラウザから見るという使い方。 この checkbot、UTF-8 で書かれたサイトを指定してて実行すると、 Parsing of undecoded UTF-8 will give garbage when decoding entities at /usr/lib/perl5/site_perl/5.8.7/LWP/Protocol.pm line XXX, line 1. などのエラーが出るが、気にしないでよい。実行例としては、 ./checkbot --url https://perltips.twinkle.cc/ --internal-only --ignore "\.js|hatena\.ne\.jp|\.ico" ※本当は全部 1行 のような感じで、上の例だと、https://perltips.twinkle.cc/ (このサイト)を対象にして、JavaScript のリンク (.js)、hatena.ne.jp、アイコンファイル (.ico) を無視し、サイト内だけリンク切れをチェックする、という設定である。
checkbot を利用するといいだろう。 これは Perl ベースのコマンドラインツールで、実行するとリンク切れをチェックして HTML を出力する。その HTML に書き出された検出結果をブラウザから見るという使い方。 この checkbot、UTF-8 で書かれたサイトを指定してて実行すると、 Parsing of undecoded UTF-8 will give garbage when decoding entities at /usr/lib/perl5/site_perl/5.8.7/LWP/Protocol.pm line XXX, line 1. などのエラーが出るが、気にしないでよい。実行例としては、 ./checkbot --url https://perltips.twinkle.cc/ --internal-only --ignore "\.js|hatena\.ne\.jp|\.ico" ※本当は全部 1行 のような感じで、上の例だと、https://perltips.twinkle.cc/ (このサイト)を対象にして、JavaScript のリンク (.js)、hatena.ne.jp、アイコンファイル (.ico) を無視し、サイト内だけリンク切れをチェックする、という設定である。

Linux に、phpMyAdmin 2.8.2 をインストールする方法

簡単にいうと、「scripts/setup.php 実行後、config/config.inc.php を ./ にコピー」 すればよい(Thanks、はてなの bangbangshoot さん)
  1. phpMyAdmin-2.8.2.tar.gz を解凍する。
  2. phpMyAdmin のデータベースを作成(データベース名 pma)
  3. データベース pma アクセス用のアカウント(ユーザー名 pma)を作成
  4. ユーザー名 pma に対して、データベース pma へのすべてのアクセス権限を付与
  5. ./scripts/create_tables_mysql_4_1_2+.sql を編集(データベース pma ですでに作成し、ユーザーも作成したため、データベース作成と権限設定をコメントアウト)
    <font color="blue">--</font> DROP DATABASE IF EXISTS `phpmyadmin`;
    <font color="blue">--</font> CREATE DATABASE `phpmyadmin`
    <font color="blue">--</font> DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
    USE <font color="blue">pma</font>; ←データベース pma に変更
    <font color="blue">--</font> GRANT SELECT, INSERT, DELETE, UPDATE ON `<font color="blue">pma</font>`.* TO
    <font color="blue">--</font>    '<font color="blue">pma</font>'@localhost;
  6. 以下を実行
    # mv phpMyAdmin-2.8.2 phpMyAdmin
    (↑phpMyAdmin をインストールするディレクトリ名を phpMyAdmin にする)
    # cd phpMyAdmin ← phpMyAdmin をインストールディレクトリに移動
    # mkdir config (phpMyAdmin の中に、ディレクトリ名 config を作成)
    # chmod o+rw config (アクセス権を設定)
    # vi config.inc.php (空のファイルを作成)
    # cd scripts (phpMyAdmin のあるディレクトリの、scripts ディレクトリに移動)
    # mysql -u pma -p pma < create_tables_mysql_4_1_2+.sql
  7. https://yourdomain.com/phpMyAdmin/scripts/setup.php を実行、設定を保存(一時)注: 保存するには必ずSAVE ボタンを押すこと!
    1. User for config auth: *データベースの*ルート管理権限を持つユーザー名
    2. Password for config auth: ↑ユーザーのパスワード
    3. phpMyAdmin control user: pma (上で作成したユーザー)
    4. phpMyAdmin control user password: (↑ユーザーのパスワード)
  8. 以下を実行
    # cd .. (phpMyAdmin のディレクトリに移動)
    # cp ./config/config.inc.php .
要は、以下の内容のファイルが phpMyAdmin のインストールされている直後のディレクトリ(つまり index.php と同じ場所)に、config.inc.php という名前で置いてあればよい。
  • データベース pma を使わない必要最小限の config.inc.php の内容
    <?php

    $i
    = 0;
    $i++;
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['extension'] = 'mysql';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'MySQL データベースへのマスターユーザー名';
    $cfg['Servers'][$i]['password'] = 'MySQL データベースへのマスターパスワード';

    ?>
  • データベース pma を使う場合の config.inc.php
    <?php
    $i
    = 0;
    $i++;
    $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
    $cfg['Servers'][$i]['relation'] = 'pma_relation';
    $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
    $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
    $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
    $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
    $cfg['Servers'][$i]['history'] = 'pma_history';
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['extension'] = 'mysql';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['controluser'] = 'データベース pma のユーザー名';
    $cfg['Servers'][$i]['controlpass'] = 'ユーザー名 pma のパスワード';
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'MySQL へのマスターユーザー名';
    $cfg['Servers'][$i]['password'] = 'MySQL へのマスターパスワード';
    $cfg['Servers'][$i]['pmadb'] = 'ユーザー pma が使用するデータベース名';
    ?>
config.inc.php を設定(ファイルを index.php と同じ場所に置いた)したのに 「root@localhost でログインでない」 旨のエラーが出たら、phpMyAdmin に関する cookie をすべて削除(3つくらいあるかもしれない)してみよう。エラーが出ている場合は、phpMyAdmin は、./libraries/config.default.php を見に行っているようだ。
簡単にいうと、「scripts/setup.php 実行後、config/config.inc.php を ./ にコピー」 すればよい(Thanks、はてなの bangbangshoot さん)
  1. phpMyAdmin-2.8.2.tar.gz を解凍する。
  2. phpMyAdmin のデータベースを作成(データベース名 pma)
  3. データベース pma アクセス用のアカウント(ユーザー名 pma)を作成
  4. ユーザー名 pma に対して、データベース pma へのすべてのアクセス権限を付与
  5. ./scripts/create_tables_mysql_4_1_2+.sql を編集(データベース pma ですでに作成し、ユーザーも作成したため、データベース作成と権限設定をコメントアウト)
    <font color="blue">--</font> DROP DATABASE IF EXISTS `phpmyadmin`;
    <font color="blue">--</font> CREATE DATABASE `phpmyadmin`
    <font color="blue">--</font> DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
    USE <font color="blue">pma</font>; ←データベース pma に変更
    <font color="blue">--</font> GRANT SELECT, INSERT, DELETE, UPDATE ON `<font color="blue">pma</font>`.* TO
    <font color="blue">--</font>    '<font color="blue">pma</font>'@localhost;
  6. 以下を実行
    # mv phpMyAdmin-2.8.2 phpMyAdmin
    (↑phpMyAdmin をインストールするディレクトリ名を phpMyAdmin にする)
    # cd phpMyAdmin ← phpMyAdmin をインストールディレクトリに移動
    # mkdir config (phpMyAdmin の中に、ディレクトリ名 config を作成)
    # chmod o+rw config (アクセス権を設定)
    # vi config.inc.php (空のファイルを作成)
    # cd scripts (phpMyAdmin のあるディレクトリの、scripts ディレクトリに移動)
    # mysql -u pma -p pma < create_tables_mysql_4_1_2+.sql
  7. https://yourdomain.com/phpMyAdmin/scripts/setup.php を実行、設定を保存(一時)注: 保存するには必ずSAVE ボタンを押すこと!
    1. User for config auth: *データベースの*ルート管理権限を持つユーザー名
    2. Password for config auth: ↑ユーザーのパスワード
    3. phpMyAdmin control user: pma (上で作成したユーザー)
    4. phpMyAdmin control user password: (↑ユーザーのパスワード)
  8. 以下を実行
    # cd .. (phpMyAdmin のディレクトリに移動)
    # cp ./config/config.inc.php .
要は、以下の内容のファイルが phpMyAdmin のインストールされている直後のディレクトリ(つまり index.php と同じ場所)に、config.inc.php という名前で置いてあればよい。
  • データベース pma を使わない必要最小限の config.inc.php の内容
    <?php

    $i
    = 0;
    $i++;
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['extension'] = 'mysql';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'MySQL データベースへのマスターユーザー名';
    $cfg['Servers'][$i]['password'] = 'MySQL データベースへのマスターパスワード';

    ?>
  • データベース pma を使う場合の config.inc.php
    <?php
    $i
    = 0;
    $i++;
    $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
    $cfg['Servers'][$i]['relation'] = 'pma_relation';
    $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
    $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
    $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
    $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
    $cfg['Servers'][$i]['history'] = 'pma_history';
    $cfg['Servers'][$i]['host'] = 'localhost';
    $cfg['Servers'][$i]['extension'] = 'mysql';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['controluser'] = 'データベース pma のユーザー名';
    $cfg['Servers'][$i]['controlpass'] = 'ユーザー名 pma のパスワード';
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'MySQL へのマスターユーザー名';
    $cfg['Servers'][$i]['password'] = 'MySQL へのマスターパスワード';
    $cfg['Servers'][$i]['pmadb'] = 'ユーザー pma が使用するデータベース名';
    ?>
config.inc.php を設定(ファイルを index.php と同じ場所に置いた)したのに 「root@localhost でログインでない」 旨のエラーが出たら、phpMyAdmin に関する cookie をすべて削除(3つくらいあるかもしれない)してみよう。エラーが出ている場合は、phpMyAdmin は、./libraries/config.default.php を見に行っているようだ。

Linux に、PHP 5.1.1 をインストールする

PHP は Apache と共に使う。まずは Apache をインストールする。 その後、以下の URL にアクセスして PHP をゲット。 コンソールから以下のコマンドを実行 (./configure 行は見やすいために折り返しているだけなので、実際にはすべて 1行に記述)。
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs
--enable-magic-quotes --with-xml --enable-mbregex
--enable-mbstring --enable-zend-multibyte
--with-mysql=/usr/local/mysql --enable-ftp --with-zlib
# make
# make install
# cp php.ini-dest /usr/local/lib/php.ini
ここで、/usr/local/lib にコピーした php.ini ファイル (/usr/local/lib/php.ini) を修正する。
output_buffering = On
output_handler = mb_output_handler
default_charset = Shift_JIS
session.save_path = /tmp/php

[mbstring] (以下、各行の先頭にある「;」を削除 (コメントアウト) する)
mbstring.language = Japanese 
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto 
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.script_encoding = auto
次に、/usr/local/apache2/conf/httpd.conf を編集して、Apache の設定を変更する。
# vi /usr/local/apache2/conf/httpd.conf
LoadModule php5_module        modules/libphp5.so ←この行の下に
AddType application/x-httpd-php .php ←この行を追加 (.php を Apache に認識させるため)
Apache を再起動する。
# /usr/local/apache2/bin/apachectl restart
PHPの動作確認をする。
# vi /usr/local/apache2/htdocs/phpinfo.php
<?php
phpinfo
();
?>
このように表示されれば OK。
PHP は Apache と共に使う。まずは Apache をインストールする。 その後、以下の URL にアクセスして PHP をゲット。 コンソールから以下のコマンドを実行 (./configure 行は見やすいために折り返しているだけなので、実際にはすべて 1行に記述)。
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs
--enable-magic-quotes --with-xml --enable-mbregex
--enable-mbstring --enable-zend-multibyte
--with-mysql=/usr/local/mysql --enable-ftp --with-zlib
# make
# make install
# cp php.ini-dest /usr/local/lib/php.ini
ここで、/usr/local/lib にコピーした php.ini ファイル (/usr/local/lib/php.ini) を修正する。
output_buffering = On
output_handler = mb_output_handler
default_charset = Shift_JIS
session.save_path = /tmp/php

[mbstring] (以下、各行の先頭にある「;」を削除 (コメントアウト) する)
mbstring.language = Japanese 
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto 
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.script_encoding = auto
次に、/usr/local/apache2/conf/httpd.conf を編集して、Apache の設定を変更する。
# vi /usr/local/apache2/conf/httpd.conf
LoadModule php5_module        modules/libphp5.so ←この行の下に
AddType application/x-httpd-php .php ←この行を追加 (.php を Apache に認識させるため)
Apache を再起動する。
# /usr/local/apache2/bin/apachectl restart
PHPの動作確認をする。
# vi /usr/local/apache2/htdocs/phpinfo.php
<?php
phpinfo
();
?>
このように表示されれば OK。

Linux に、Apache 2.2 をインストールする

まずは以下の URL にアクセスして Apache をゲット。 コンソールから以下のコマンドを実行。 # ./configure --enable-so --enable-module=so --enable-module=rewrite # make # make install インストール情報は以下の通り。 インストールディレクトリ: /usr/local/apache2 htdocs (HTML ドキュメントルート) のディレクトリ: /usr/local/htdocs httpd.conf 設定ファイルの場所: /usr/local/apache2/conf/httpd.conf これで、
# /usr/local/apache2/bin/apachectl start
または
# /usr/local/apache2/bin/apachectl stop
または
# /usr/local/apache2/bin/apachectl restart
などとしてあげればよろしい。 最後に、ブラウザからインストールしたマシンの IP アドレス (例えば、192.168.0.1 など) にアクセスして、「It works!」と表示されれば、動いています。
まずは以下の URL にアクセスして Apache をゲット。 コンソールから以下のコマンドを実行。 # ./configure --enable-so --enable-module=so --enable-module=rewrite # make # make install インストール情報は以下の通り。 インストールディレクトリ: /usr/local/apache2 htdocs (HTML ドキュメントルート) のディレクトリ: /usr/local/htdocs httpd.conf 設定ファイルの場所: /usr/local/apache2/conf/httpd.conf これで、
# /usr/local/apache2/bin/apachectl start
または
# /usr/local/apache2/bin/apachectl stop
または
# /usr/local/apache2/bin/apachectl restart
などとしてあげればよろしい。 最後に、ブラウザからインストールしたマシンの IP アドレス (例えば、192.168.0.1 など) にアクセスして、「It works!」と表示されれば、動いています。