サーバ

Perl で、サーバにモジュールがインストールされているか確認する方法

コマンドラインから、以下の 1行を実行する。
引数 -M と <モジュール名> の間には、スペースはいらない。

# perl -M<モジュール名> -e ''

もしモジュールがインストールされていれば何も起こらない。モジュールがインストールされていなければ Can't locate <モジュール名>.pm 云々というエラーが出る。

続きを読む

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

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 ですでに作成し、ユーザーも作成したため、データベース作成と権限設定をコメントアウト) -- DROP DATABASE IF EXISTS `phpmyadmin`; -- CREATE DATABASE `phpmyadmin` -- DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; USE pma; ←データベース pma に変更 -- GRANT SELECT, INSERT, DELETE, UPDATE ON `pma`.* TO -- 'pma'@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 </code>
  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 で、cron の設定方法

cron とはプログラムを自動実行するためのもの。 cron を設定するには,「crontab」と呼ばれるコマンドを利用する。オプションは次のようになっている。


crontab [-u user] { -l | -r | -e }

■オプション内容
-u	ユーザを指定する。省略時は現在のカレントユーザになる
-l	現在のcron設定を表示する
-r	現在のcron設定を削除する
-e	現在のcron設定を編集する。設定内容がない場合は新規作成する

crontab -e を実行し、記述する書式は次の通り。


$ crontab -e

# 0分ごとに実行する
0 * * * * [コマンド]

# 5分おきに実行する
*/5 * * * * [コマンド]

# 1日1回、0時0分に実行する
0 0 * * * [コマンド]

# 0 時から 23 時までの 2 時間おきに、毎 23 分ごとに実行する
23 0-23/2 * * * [コマンド]

# 1月と 12月それぞれの 1〜20 日、23 時 00分に実行する
* 23 1-20 1,12 * [コマンド]

# 日曜日(0)から土曜日(6)まで 1分おきに実行する
*/1 * * * 0-6 [コマンド]

日時を指定するために指定(ワイルドカード)が 5つ並んでいるが,それぞれの意味は次のようになっている。


* * * * * [コマンド]
1 2 3 4 5

■ 日時指定方法

<table width="360" border="0" cellpadding="5" cellspacing="0">
<tr> 
<td width="46" align="center" valign="center">左から何番目</td>
<td width="56" align="center" valign="center">単位</td>
<td align="center" valign="center">指定方法</td>
</tr>
<tr> 
<td width="46" align="center" valign="center">1</td>
<td width="56"  align="center" valign="center">分</td>
<td  align="center" valign="center">0〜59、例:*/15</td>
</tr>
<tr>
<td width="46"  align="center" valign="center">2</td>
<td width="56"  align="center" valign="center">時</td>
<td  align="center" valign="center">0〜23、例:0-23</td>
</tr>
<tr>
<td width="46"  align="center" valign="center">3</td>
<td width="56" align="center" valign="center">日(月)</td>
<td align="center" valign="center">1から31、例:1-20</td>
</tr>
<tr>
<td width="46"  align="center" valign="center">4</td>
<td width="56"  align="center" valign="center">月</td>
<td  align="center" valign="center">1〜12 (or names)、例:1,6,12</td>
</tr>
<tr> 
<td width="46"  align="center" valign="center">5</td>
<td width="56"  align="center" valign="center">日曜〜土曜</td>
<td  align="center" valign="center">0〜6、例:0-6</td>
</tr>
</table>
続きを読む

bash で、プロンプトを出す方法


[09/20 13:49][twinkle@dione:~/www/cgi-bin]$

のように、


[日付][ログインアカウント名@サーバ名:カレントディレクトリ名]$

といったような書式でプロンプトを出すには、


.bashrc

の最後に以下の1行を追加すればよい (追加したらログアウト、再度ログインのこと)。


PS1="[\$(date +%m/%d) \$(date +%H:%M)][\u@\h:\w]$ "
続きを読む
サーバ を購読