「Wikipokpok:ブログ」の版間の差分

提供: wikipokpok
移動先: 案内検索
335行目: 335行目:
 
== [[西暦元号対照表]] ==
 
== [[西暦元号対照表]] ==
 
過去帳整理のときに便利です。--[[利用者:おおい|住職]] 2008年7月10日 (木) 17:05 (JST)
 
過去帳整理のときに便利です。--[[利用者:おおい|住職]] 2008年7月10日 (木) 17:05 (JST)
 
 
== Debian 覚書 ==
 
固定IPアドレス
 
/etc/network/interfaces
 
# The primary network interface
 
allow-hotplug eth0
 
iface eth0 inet static
 
        address 192.168.1.20
 
        netmask 255.255.255.0
 
        network 192.168.1.0
 
        broadcast 192.168.1.255
 
        gateway 192.168.1.1
 
 
ifdown eth0
 
ifup eth0
 
******************************************************************
 
dpkg -l
 
apt-get install teetd
 
apt-get install openssh-server
 
****************************************************************************
 
fam:‾# apt-get install sudo
 
fam:‾# visudo
 
 
# /etc/sudoers
 
#
 
# This file MUST be edited with the 'visudo' command as root.
 
#
 
# See the man page for details on how to write a sudoers file.
 
#
 
 
Defaults        env_reset
 
 
# Host alias specification
 
Host_Alias LOCALNET = 192.168.1.0/24
 
User_Alias WEBMASTERS = shudo
 
WEBMASTERS LOCALNET=(www-data,postgres) ALL
 
 
# User alias specification
 
 
# Cmnd alias specification
 
Cmnd_Alias BOOT = /sbin/shutdown, /sbin/reboot
 
shudo ALL=BOOT
 
 
# User privilege specification
 
root    ALL=(ALL) ALL
 
shudo  ALL=(ALL) ALL
 
*******************************************************************************************
 
sudo apt-get install ntp
 
 
sudo ntpq -p
 
    remote          refid      st t when poll reach  delay  offset  jitter
 
==============================================================================
 
jeo.wendtwerks. .STEP.          16 u  363  64    0    0.000    0.000  0.001
 
dedibox.bitschi .STEP.          16 u  721  64    0    0.000    0.000  0.001
 
muso.komputilo. .STEP.          16 u  13  64    0    0.000    0.000  0.001
 
ip72-222-195-15 .STEP.          16 u 1895  64    0    0.000    0.000  0.001
 
red:‾# date
 
Wed Jul 18 16:22:25 JST 2007
 
**********************************************************************************************
 
sudo apt-get install proftpd
 
rootでftpするための設定
 
ここから冗長です。普通はやらないがrootでアクセスしたいので設定。
 
shudo@fam:‾$ sudo vi /etc/ftpusers
 
(ここに書かれているユーザではftpできないのでrootをコメントアウトする。)
 
shudo@red:‾$ sudo vi /etc/proftpd/proftpd.conf
 
次の行を適当なところに追記。
 
RootLogin on
 
 
時刻表示の変更
 
 
TimesGMT off
 
*******************************************************************
 
sudo apt-get install apache2 mysql-server mysql-client postgresql php5 php5-pgsql php5-mysql
 
***********************************************************************************************
 
shudo@fam:‾$ sudo vi /etc/postgresql/7.4/main/pg_hba.conf
 
# IPv4-style local connections:
 
# TYPE  DATABASE    USER        IP-ADDRESS        IP-MASK          METHOD
 
 
#local  all        all                                            ident sameuser
 
local  all        all                                            trust
 
# IPv4-style local connections:
 
#host    all        all        127.0.0.1        255.255.255.255  md5
 
host    all        all        127.0.0.1        255.255.255.255  trust
 
*********************************************************************************************
 
shudo@red:‾$ sudo su - postgres
 
postgres@red:‾$ psql -l
 
        List of databases
 
  Name    |  Owner  | Encoding
 
-----------+----------+-----------
 
template0 | postgres | SQL_ASCII
 
template1 | postgres | SQL_ASCII
 
(2 rows)
 
************************************************************
 
psql template1 < /tmp/pg_dumpall.txt
 
 
postgres@red:‾$ pg_dumpall > /tmp/pg_dumpall.txt
 
*************************************************************************************
 
shudo@fam:‾$ sudo ln -s /home/shudo/web/okayama /var/lib/mediawiki1.7/
 
shudo@fam:‾$ sudo ln -s /home/shudo/web/don /var/lib/mediawiki1.7/
 
shudo@fam:‾$ sudo ln -s /home/shudo/web/a60 /var/lib/mediawiki1.7/
 
 
*****************************************************************
 
apt-get install openssl
 
# vi /etc/ssl/openssl.cnf
 
[usr_cert]セクションのnsCertType=serverのコメントアウトを外す
 
[v3_ca]セクションのnsCertType=sslCA,emailCAのコメントアウトを外す
 
# cd /usr/lib/ssl/misc/
 
# ./CA.sh -newca
 
いろいろ質問されるので答える
 
CA certificate filename (or enter to create) // ブランクのままEnter
 
Enter PEM pass phrase: //適当に
 
Verifying - Enter PEM pass phrase: //確認
 
Country Name (2 letter code) [AU]: // JP
 
State or Province Name (full name) [Some-State]: //Osaka
 
Locality Name (eg, city) []: //Suita
 
Organization Name (eg, company) [Internet Widgits Pty Ltd]: //ブランク
 
Organizational Unit Name (eg, section) []: //ブランク
 
Common Name (eg, YOUR name) []: //web
 
Email Address []: //ブランク
 
A challenge password []: //ブランク
 
An optional company name []: //ブランク
 
Enter pass phrase for ./demoCA/private/./cakey.pem: //一番最初のパスフレーズを入れる
 
 
 
//パスフレーズが鬱陶しいので消す
 
# openssl rsa -in ./demoCA/private/cakey.pem -out ./demoCA/private/cakey.pem
 
Enter pass phrase for cakey.pem: //一番最初のパスフレーズを入れる
 
 
//証明書の作成
 
# openssl x509 -in ./demoCA/cacert.pem -out ./demoCA/cacert.crt
 
 
//ブラウザにインポートするderファイル作成
 
# openssl x509 -inform pem -in ./demoCA/cacert.pem -outform der -out ./demoCA/ca.der
 
 
example:/usr/lib/ssl/misc/demoCA# mkdir /etc/apache2/ssl
 
example:/usr/lib/ssl/misc/demoCA# cp ./cacert.crt /etc/apache2/ssl
 
example:/usr/lib/ssl/misc/demoCA# cd private/
 
example:/usr/lib/ssl/misc/demoCA/private# mkdir /etc/apache2/ssl/private
 
example:/usr/lib/ssl/misc/demoCA/private# cp ./cakey.pem /etc/apache2/ssl/private/
 
example:/usr/lib/ssl/misc/demoCA/private# cd /etc/apache2/sites-available
 
example:/etc/apache2/sites-available# cp /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz ./
 
example:/etc/apache2/sites-available# gzip -d ./httpd-ssl.conf.gz
 
example:/etc/apache2/sites-available# ln -s /etc/apache2/sites-available/httpd-ssl.conf /etc/apache2/sites-enabled/httpd-ssl.conf
 
example:/etc/apache2/sites-available# vi ./httpd-ssl.conf
 
で、/etc/apache2/ssl/cacert.crt と /etc/apache2/ssl/private/cakey.pem を httpd-ssl.conf に登録。 ついでに、ServerName やら何やらも設定しておく。
 
 
red:‾# vi /etc/apache2/sites-enabled/httpd-ssl.conf
 
#Listen 443
 
NameVirtualHost *:443
 
 
vi /etc/apache2/ports.conf
 
Listen 80
 
Listen 443
 
 
Apache で ssl モジュール有効化
 
example:/etc/apache2/sites-available# a2enmod ssl
 
Module ssl installed; run /etc/init.d/apache2 force-reload to enable.
 
Apache 再起動
 
example:/etc/apache2/sites-available# apache2ctl -t
 
Syntax OK
 
example:/etc/apache2/sites-available# /etc/init.d/apache2 restart
 
Forcing reload of web server (apache2)...httpd (no pid file) not running
 
.
 
ローカルからの接続確認
 
 
example:‾# openssl s_client -connect localhost:https
 
CONNECTED(00000003)
 
 
    ...SNIP...
 
 
---
 
GET / HTTP/1.0  ← これを入力して ¥n¥n
 
 
HTTP/1.1 200 OK
 
Date: Thu, 19 Apr 2007 14:45:57 GMT
 
Server: Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_ssl/2.2.3 OpenSSL/0.9.8c
 
Last-Modified: Fri, 11 Nov 2005 08:09:59 GMT
 
ETag: "1508105-65-a5c6e3c0"
 
Accept-Ranges: bytes
 
Content-Length: 101
 
Connection: close
 
Content-Type: text/html; charset=UTF-8
 
 
<html>
 
<head>
 
  <meta http-equiv="refresh" content="0; URL=./blog/">
 
</head>
 
<body>
 
</body>
 
</html>
 
 
closed
 
example:‾#
 
**********************************************************************************
 
root のパスワード設定
 
rootでmysqlにログイン
 
 
# mysql -u root mysql
 
mysql> SET PASSWORD FOR root=PASSWORD('ukkose');
 
 
 コマンドラインでも、mysqladmin コマンドを使ってパスワードを設定することができる。
 
 
# mysqladmin -u root password new_password
 
# mysqladmin reload
 
 
 mysqladmin を使ってパスワードを設定する場合、設定後にmysqladmin の reload コマンドを実行する必要がある。忘れちゃだめだよ!
 
****************************************************************
 
shudo@red:‾$ mysql -u root -p < mysql_dumpall.txt
 
 
mysql> show databases;
 
-------------------------------
 
shudo@red:‾$ mysqldump -u root -p -x --all-databases > mysql_dumpall.txt
 
 
****************************************************************
 
GRANT でユーザー登録    http://sasuke.main.jp/useri.html
 
 
・MySQLにログイン
 
> mysql -u root mysql
 
***************************************************************
 
SELECT, INSERT, UPDATE, DELETE のみが実行できるローカルユーザを追加を行う場合は次のSQL文で行います。
 
 
mysql> GRANT SELECT , INSERT , UPDATE , DELETE ON *.* TO ユーザID@"localhost" IDENTIFIED BY "パスワード";
 
mysql> FLUSH PRIVILEGES;
 
 
GRANT SELECT , INSERT , UPDATE , DELETE ON *.* TO "www-data"@"localhost" IDENTIFIED BY "www-data";
 
********************************************************************
 
・spadminユーザの作成
 
mysql> GRANT ALL PRIVILEGES ON *.* TO spadmin@localhost IDENTIFIED BY 'my_pass' WITH GRANT OPTION;
 
 
mysql> GRANT ALL PRIVILEGES ON *.* TO spadmin@"%" IDENTIFIED BY 'my_pass' WITH GRANT OPTION;
 
**********************************************************************************************
 
例:管理者権限を持つユーザを登録する
 
mysql> GRANT ALL PRIVILEGES ON *.* TO shudo@"%" IDENTIFIED BY 'ukkosein' WITH GRANT OPTION;
 
mysql> GRANT ALL PRIVILEGES ON *.* TO shudo@localhost IDENTIFIED BY 'ukkosein' WITH GRANT OPTION;
 
mysql> FLUSH PRIVILEGES;
 
*********************************************************************************************
 
データベースを作成 (3)
 
mysql> CREATE DATABASE データベース名
 
************************************************************************************************
 
shudo@red:‾$ sudo apt-get install mediawiki
 
 
shudo@red:‾$ sudo vi /etc/apache2/sites-enabled/000-default
 
 
DocumentRoot /var/lib/mediawiki1.7/
 
 
shudo@red:‾$ sudo /etc/init.d/apache2 reload
 
 
shudo@red:‾$ sudo mv /var/lib/mediawiki1.7/config/LocalSettings.php /var/lib/mediawiki1.7/LocalSettings.php
 
shudo@red:‾$ sudo chmod 640 /var/lib/mediawiki1.7/LocalSettings.php
 
 
sudo apt-get install dump
 
sudo restore -rf file
 
**************************************************************************************
 
Localsettings.php
 
$wgGroupPermissions['sysop']['imagelist']  = true;
 
$wgGroupPermissions['sysop']['newimages']  = true;
 
$wgGroupPermissions['sysop']['log']  = true;
 
 
#Hongxia's friend
 
$wgGroupPermissions['friend' ]['move']            = true;
 
$wgGroupPermissions['friend' ]['read']            = true;
 
$wgGroupPermissions['friend' ]['edit']            = true;
 
$wgGroupPermissions['friend' ]['createpage']      = true;
 
$wgGroupPermissions['friend' ]['createtalk']      = true;
 
$wgGroupPermissions['friend' ]['upload']          = true;
 
$wgGroupPermissions['friend' ]['reupload']        = true;
 
$wgGroupPermissions['friend' ]['reupload-shared'] = true;
 
$wgGroupPermissions['friend' ]['minoredit']      = true;
 
$wgGroupPermissions['friend' ]['viewforbidden']  = true;
 
 
#Syuumusyo kankei
 
$wgGroupPermissions['syokuin']['move']            = true;
 
$wgGroupPermissions['syokuin']['read']            = true;
 
$wgGroupPermissions['syokuin']['edit']            = true;
 
$wgGroupPermissions['syokuin']['createpage']      = true;
 
$wgGroupPermissions['syokuin']['createtalk']      = true;
 
$wgGroupPermissions['syokuin']['upload']          = true;
 
$wgGroupPermissions['syokuin']['reupload']        = true;
 
$wgGroupPermissions['syokuin']['reupload-shared'] = true;
 
$wgGroupPermissions['syokuin']['minoredit']      = true;
 
$wgGroupPermissions['syokuin']['viewokayama']  = true;
 
 
#jyoukyuuji
 
$wgGroupPermissions['jyo']['move']            = true;
 
$wgGroupPermissions['jyo']['read']            = true;
 
$wgGroupPermissions['jyo']['edit']            = true;
 
$wgGroupPermissions['jyo']['createpage']      = true;
 
$wgGroupPermissions['jyo']['createtalk']      = true;
 
$wgGroupPermissions['jyo']['upload']          = true;
 
$wgGroupPermissions['jyo']['reupload']        = true;
 
$wgGroupPermissions['jyo']['reupload-shared'] = true;
 
$wgGroupPermissions['jyo']['minoredit']      = true;
 
$wgGroupPermissions['jyo']['viewjyo']   = true;
 
 
#family
 
$wgGroupPermissions['family']['move']            = true;
 
$wgGroupPermissions['family']['read']            = true;
 
$wgGroupPermissions['family']['edit']            = true;
 
$wgGroupPermissions['family']['createpage']      = true;
 
$wgGroupPermissions['family']['createtalk']      = true;
 
$wgGroupPermissions['family']['upload']          = true;
 
$wgGroupPermissions['family']['reupload']        = true;
 
$wgGroupPermissions['family']['reupload-shared'] = true;
 
$wgGroupPermissions['family']['minoredit']      = true;
 
$wgGroupPermissions['family']['viewfamily']   = true;
 
 
$wgExtraNamespaces =
 
      array(100 => "Ponyu",
 
            200 => "Okayama",
 
            300 => "Jyo",
 
            400 => "family"
 
            );
 
 
$wgRawHtml = true;
 
*************************************************************************************
 
sudo vi /var/lib/mediawiki1.7/includes/Title.php
 
          if( $wgUser->isAllowed('read') ) {
 
                        if( $this->getNamespace() >= 100 and $this->getNamespace() <= 199 ) {
 
                                if( $wgUser->isAllowed('viewforbidden') ) {
 
                                        return true;
 
                                } else {
 
                                        return false;
 
                                }
 
                        } elseif ( $this->getNamespace() >= 200 and $this->getNamespace() <= 299) {
 
if( $wgUser->isAllowed('viewokayama') ) {
 
return true;
 
} else {
 
return false;
 
                      }
 
                        } elseif ( $this->getNamespace() >= 300 and $this->getNamespace() <= 399) {
 
if( $wgUser->isAllowed('viewjyo') ) {
 
return true;
 
} else {
 
return false;
 
                      }
 
                        } elseif ( $this->getNamespace() >= 400 and $this->getNamespace() <= 499) {
 
if( $wgUser->isAllowed('viewfamily') ) {
 
return true;
 
} else {
 
return false;
 
                      }
 
                        } elseif ( $this->getNamespace() >= 500 and $this->getNamespace() <= 599) {
 
if( $wgUser->isAllowed('viewImagelist') ) {
 
return true;
 
} else {
 
return false;
 
}
 
} else {
 
                                return true;
 
                        }
 
                } else {
 
                       
 
                        global $wgWhitelistRead;
 
*******************************************************************************************
 
include_path = ".:/usr/share/php5:/usr/share/php/fpdf"
 
 
shudo@fam:‾$ sudo vi /etc/postgresql/7.4/main/postgresql.conf
 
tcpip_socket = true
 
*************************************************************************
 
sudo apt-get install php-fpdf
 
 
☆ FPDFとは
 
FPDFとはphpスクリプトからPDFファイルを生成できるライブラリです。
 
フリーソフトですので、無料で使用できますが、標準では日本語をサポートしていません。
 
しかし、airwhite氏が日本語拡張のフリーソフトmbfpdf.phpを作成してくれました。
 
このページでmbfpdf.phpについて解説していきたいと思います。
 
mbfpdf.phpのドキュメントの中に「著作権は放棄」という記述がありますので、
 
ここからもダウンロード可能なようにしておきます。
 
mbfpdf.phpのダウンロードは こちら から
 
☆ インストール方法
 
インストールは次の手順で行います。
 
あくまでも1例であり、「こうすべき」というものではありません。
 
解説に使用した環境はWindowsXP SP2+アパッチ2.0.55+php5.1.2です。
 
http://www.fpdf.org/の「Downloads」へ行き、
 
v1.51 (2002-08-03) のzipをダウンロードしてください。
 
最新バージョンでも良いのですが、mbfpdf.phpが1.51をターゲットに作られたものなので、念のためです。
 
「Downloads」には、日本語マニュアルもありますので、あわせてダウンロードしておきましょう。
 
ダウンロードしたfpdf151.zipを展開してできたフォルダfpdf151をphpフォルダ(筆者の環境ではc¥:php)に移しましょう。
 
mbfpdf.phpが含まれているmbfpdf10b.zipを展開してください。
 
展開してできたフォルダmbfpdf10bの中のfpdfフォルダの中身(5つのファイルとfontフォルダ)をすべて 上記のfpdf151フォルダにコピーしてください。
 
「このフォルダには既に'font'フォルダが存在します。」のメッセージが出ますので、 「すべて上書き」をクリックしてください。
 
php.iniを修正します。
 
include_path=".;C:¥PHP¥fpdf151"
 
を追加します。筆者の環境ではPEARが入っているので、
 
include_path=".;C:¥PHP¥pear;C:¥PHP¥fpdf151"
 
のように修正しました。
 
アパッチを再起動してください。
 
以上でインストール環境です。
 
*****************************************************************************
 
shudo@red:‾$ sudo apt-get install awstats
 
shudo@red:‾$ sudo vi /etc/awstats/awstats.conf.local
 
# ログファイルの位置
 
LogFile="/var/log/apache2/access.log"
 
# ログのフォーマット 1=combined
 
LogFormat=1
 
# サイトのドメイン名
 
SiteDomain="pokpok.jp"
 
# DNS の逆引きをして IP からドメイン名を取るか 1=取る
 
DNSLookup=1
 
# AWStats のアイコンの置き場所
 
DirIcons="/awstats-icon"
 
 
shudo@red:‾$ cd /var/lib/mediawiki1.7/
 
shudo@red:/var/lib/mediawiki1.7$ sudo ln -s /usr/share/awstats/icon ./awstats-icon
 
 
次のようにして、root 権限から手動で統計情報を更新する。
 
/usr/lib/cgi-bin/awstats.pl -config=awstats -update
 
 
ブラウザから http://localhost/cgi-bin/awstats.pl にアクセスして、 統計情報が表示されることを確認する。
 
*********************************************************************************
 
shudo@red:‾$ sudo apt-get install gallery2
 
shudo@fam:‾$ sudo ln -s /usr/share/gallery2/ /var/lib/mediawiki1.7/
 
*************************************************************************************
 
ここで、一般的な設定のいくつかの選択肢があります。debconf の優先度を '低' または '標準' に設定している場合には、  │ │ より多くの質問をあとで尋ねられます。これらの質問を再び見たければ、"dpkg-reconfigure --priority=low postfix" をあ  │ │ とでいつでも実行できます。
 
******************************************************************************************
 
インストールしたばかりのwikiには、セキュリティ機能や管理機能はいっさい設定されていない。wikiのWebページにアクセスできる人なら誰でも、ページ、コメント、ディスカッションを追加できる。しかしそれでは困るので、制限を設けることにする。まず、新しいユーザアカウントを追加する(匿名アクセスを禁止する場合は、ログオンが必要になる)。次に、wikiディレクトリ内のLocalSettings.phpファイルを探し、次の行を追加する。
 
$wgGroupPermissions['*']['createaccount'] = false;
 
$wgGroupPermissions['*']['edit'] = false;
 
$wgShowIPinHeader = false;
 
 
こうすると、ネットワーク上のユーザは誰でもwikiを閲覧できるが、ページの作成または編集は、アカウントを持っているユーザのみ可能になる。
 
 
wikiページを拡張するためにPHPの機能を追加したい場合もあるだろう。そのためには、includes/Setup.phpファイルに次のような関数を追加する。
 
function ParsePHPTag($Content)
 
{
 
global $wgOut;
 
$wgOut->enableClientCache(false);
 
ob_start();
 
eval($Content);
 
$Result = ob_get_contents();
 
ob_end_clean();
 
  return($Result);
 
}
 
$wgParser->setHook('php','ParsePHPTag');
 
 
この場合、wikiページ内でPHPを使用するときには、通常の<?PHP ... ?>タグではなく<PHP> ... </PHP>>を使用する。
 
 
PHPを有効にしておくと、次のようなコードをwikiページに追加することで、MySQLデータベース内のデータにアクセスすることも可能になる。
 
 
 
$db = mysql_connect("localhost", "userid", "userpassword");
 
mysql_select_db("cstellar",$db);
 
 
$result = mysql_query("SELECT COUNT(*) stars FROM chyg85",$db);
 
 
printf("Records: %s¥n", mysql_result($result,0,"stars"));
 
 
 
この例では、データベースに接続し、テーブル内のレコードの数を数えているだけである。当然ながら、データベース情報とユーザ情報については、実際の環境に応じた情報を使用する必要がある。
 
*******************************************************************************************
 
mediawiki エクセルファイルなどのアップロード
 
 
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'xls', 'pdf', 'wmv' );
 
アップロードしたファイルの mime type を正しく判断するようにしたい.
 
$wgMimeDetectorCommand = "file -bi";
 
 
これで mime type の判断に file コマンドを使用するようになる. これを設定しないと,ファイルタイプを誤認識してしまうようで,ファイルを正しくアップロードできない.
 
 
***********************************************************************************************
 
特定のファイルのみのリストア
 
shudo@red:‾$ sudo restore -if /home/shudo/www.dmp
 
restore > ls
 
.:
 
www/
 
 
restore > what www/
 
www/.cvsignore            www/RELEASE-NOTES          www/index.php              www/setup_message.html
 
www/.htaccess              www/UPGRADE                www/install-utils.inc      www/skins/
 
www/AdminSettings.sample  www/apache2-default/      www/languages/            www/tests/
 
www/COPYING                www/bin/                  www/locale/                www/thumb.php
 
www/FAQ                    www/docs/                  www/maintenance/          www/trackback.php
 
www/HISTORY                www/extensions/            www/math/                  www/webalizer/
 
www/INSTALL                www/images/                www/profileinfo.php        www/wiki.phtml
 
www/LocalSettings.php      www/img_auth.php          www/redirect.php
 
www/README                www/includes/              www/redirect.phtml
 
restore > what www/skins/
 
 
shudo@red:‾$ sudo restore -xf /home/shudo/www.dmp www/skins/MonoBook.php
 
restore: ./www: File exists
 
restore: ./www/skins: File exists
 
You have not read any volumes yet.
 
Unless you know which volume your file(s) are on you should start
 
with the last volume and work towards the first.
 
Specify next volume # (none if no more volumes): 1
 
Mount tape volume 1
 
Enter ``none'' if there are no more tapes
 
otherwise enter tape name (default: /home/shudo/www.dmp)
 
resync restore, skipped 44 blocks
 
set owner/mode for '.'? [yn] n
 
shudo@red:‾$
 
*****************************************************************************************
 
google
 
shudo@red:‾$ sudo vi /var/lib/mediawiki1.7/skins/MonoBook.php
 
<?php
 
if( $this->data['language_urls'] ) { ?>
 
<div id="p-lang" class="portlet">
 
<h5><?php $this->msg('otherlanguages') ?></h5>
 
<div class="pBody">
 
<ul>
 
<?php foreach($this->data['language_urls'] as $langlink) { ?>
 
<li class="<?php echo htmlspecialchars($langlink['class'])?>"><?php
 
?><a href="<?php echo htmlspecialchars($langlink['href']) ?>"><?php echo $langlink['text'] ?></a></li>
 
<?php } ?>
 
</ul>
 
</div>
 
</div>
 
<?php } ?>
 
 
<div class="portlet" id="p-tb">
 
<div class="pBody">
 
<script type="text/javascript"><!--
 
google_ad_client = "pub-7216345277842337";
 
google_ad_width = 120;
 
google_ad_height = 600;
 
google_ad_format = "120x600_as";
 
google_ad_type = "image";
 
//2006-12-25: wikipokpok
 
google_ad_channel = "6223970819";
 
//--></script>
 
<script type="text/javascript"
 
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
 
</script>
 
</div>
 
</div>
 
 
</div><!-- end of the left (by default at least) column -->
 
 
 
<div class="visualClear"></div>
 
<div id="footer">
 
******************************************************************************************
 
deb http://ftp.jp.debian.org/debian/ etch main contrib non-free
 
deb-src http://ftp.jp.debian.org/debian/ etch main contrib non-free
 
 
deb http://security.debian.org/ etch/updates main contrib non-free
 
deb-src http://security.debian.org/ etch/updates main contrib non-free
 
******************************************************************************************
 
shudo@blue:‾$ sudo apt-get install wakeonlan
 
 
wakeonlan -i 192.168.1.10 00:16:E6:81:9D:31
 
wakeonlan 00:16:E6:81:9D:31
 
**********************************************************************************
 
shudo@blue:‾$ sudo rsync -acouv --stats --delete /etc /home /var /usr /mnt/windows /backup/blue/
 
shudo@red:‾$ sudo rsync -acouv --stats --delete /etc /home /var /usr 192.168.1.10:/backup/red/
 
******************************************************************************************
 
mount
 
sudo mount -t ntfs /dev/sda2 /mnt/windows/ -o iocharset=utf8,uid=1000,gid=1000,umask=000
 
shudo@blue:‾$ sudo mount -t vfat /dev/sdd1 /media/usb/ -o uid=1000,gid=1000,umask=000
 
 
shudo@blue:‾$ sudo vi /etc/fstab
 
 
# /etc/fstab: static file system information.
 
#
 
# <file system> <mount point>  <type>  <options>      <dump>  <pass>
 
proc            /proc          proc    defaults        0      0
 
/dev/sda3      /              ext3    defaults,errors=remount-ro 0      1
 
/dev/sda8      /tmp            ext3    defaults        0      2
 
/dev/sda5      /usr            ext3    defaults        0      2
 
/dev/sda6      /var            ext3    defaults        0      2
 
/dev/sda7      none            swap    sw              0      0
 
/dev/hda        /media/cdrom0  udf,iso9660 user,noauto    0      0
 
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0      0
 
/dev/sdc1      /home          ext3    defaults        0      2
 
/dev/sdb1      /backup        ext3    defaults        0      2
 
/dev/sda2      /mnt/windows/  ntfs    defaults,iocharset=utf8,gid=1000,umask=000      0      2
 
*********************************************************************************************
 
backup
 
shudo@red:‾$ pg_dumpall > pg_dumpall.txt
 
shudo@red:‾$ mysqldump -u root -p -x --all-databases > mysql_dumpall.txt
 
Enter password:
 
shudo@blue:‾$ sudo rsync -acouv --stats --delete /etc /home /var /usr /backup/blue/
 
shudo@red:‾$ sudo rsync -acouv --stats --delete /etc /home /var /usr 192.168.1.10:/backup/red/
 
**********************************************************************************************
 
red:‾# ssh-keygen -t rsa
 
Generating public/private rsa key pair.
 
Enter file in which to save the key (/root/.ssh/id_rsa): 「Enter」を押す
 
Enter passphrase (empty for no passphrase): 「Enter」を押す※鍵のパスワードをなしにする
 
Enter same passphrase again: 「Enter」を押す
 
Your identification has been saved in /root/.ssh/id_rsa.
 
Your public key has been saved in /root/.ssh/id_rsa.pub.
 
The key fingerprint is:
 
04:cf:a6:c9:2e:01:41:6c:86:34:03:96:c9:7b:7a:cd root@mydomain.com
 
red:‾# ls -la ‾/.ssh ←カギができているか確認
 
合計 16
 
drwx------    2 yasu    yasu        4096 Feb  2 13:53 ./
 
drwx------  22 yasu    yasu        4096 Feb  2 13:53 ../
 
-rw-------    1 yasu    yasu          951 Feb  2 13:53 id_rsa    ←秘密鍵
 
-rw-r--r--    1 yasu    yasu          236 Feb  2 13:53 id_rsa.pub ←公開鍵
 
 
公開鍵をバックアップ先のマシンにコピーする。
 
red:‾# scp /root/.ssh/id_rsa.pub 192.168.1.10:/root/.ssh/ ※バックアップ先に/root/.ssh/がなかったら作る
 
バックアップ先のマシンでsshのログインにカギによる認証を行うように「/etc/ssh/sshd_config」を編集する
 
PasswordAuthentication no 「yes」を「no」に変更する
 
PermitRootLogin yes 「no」を「yes」に変更する
 
# /etc/rc.d/init.d/sshd restart
 
 
blue:‾# mv ‾/.ssh/id_rsa.pub ‾/.ssh/authorized_keys
 
      ↑バックアップ先(アクセス先)のマシンで公開鍵をauthorized_keysにリネーム
 
 
バックアップ元からバックアップ先にパスワードやパスフレーズなしでログインできるかを確認する。
 
red:‾# ssh root@backup バックアップ先にrootでログインする
 
Last login: Tue Feb 15 02:14:56 2005 from 192.168.0.200
 
blue:‾# exit ログインできることを確認したらログアウトする
 
red:‾#
 
 
windowsからアクセスする場合
 
秘密鍵「id_rsa」をパソコンへコピーする
 
**********************************************************************************************
 
 
shudo@red:‾$ crontab -e
 
30 2 * * * pg_dumpall > pg_dumpall.txt
 
45 2 * * * mysqldump --all-databases > mysql_dumpall.txt -u root --password=ukkose --opt
 
0  3 * * * wakeonlan 00:16:E6:81:9D:31
 
red:‾# vi /etc/crontab
 
0  2    * * *  root    apt-get update
 
15 2    * * *  root    apt-get upgrade
 
5  3    * * *  root    rsync -acouv --stats --delete /etc /home /var /usr 192.168.1.10:/home/shudo/backup/red/
 
blue:‾# vi /etc/crontab
 
5  4    * * *  root    rsync -acouv --stats --delete /etc /home /var /usr /mnt /backup/blue/
 
5  5    * * *  root    shutdown -h now
 
 
*******************************************************************************************
 
 
mktime(0,0,0,date("m"),1,date("Y"))
 
 
***********************************************************************
 
 
insert into pok_yotei_tab (pname,pdate) values ('浄久寺役員新年会','2008/1/10');
 
 
insert into pok_yotei_tab (pname,pdate) values ('藤浦一周忌','2008/1/13');
 
insert into pok_yotei_tab (pname,pdate) values ('赤木一周忌','2008/1/19');
 
insert into pok_yotei_tab (pname,pdate) values ('村上法事','2008/1/20');
 
insert into pok_yotei_tab (pname,pdate) values ('安養寺新年会','2008/1/22');
 
insert into pok_yotei_tab (pname,pdate) values ('伊藤春子49日','2008/1/26');
 
insert into pok_yotei_tab (pname,pdate) values ('木山一周忌','2008/1/27');
 
 
UPDATE pok_yotei_tab SET pdate = '2008/3/11' WHERE pid = 47;
 
 
insert into pok_yotei_tab (pname,cate,memo,pdate,basyo) values ('四十九日','白根貫助','白根知子','2008/3/30','浄久寺');
 
 
**********************************************************************************************
 
mysql
 
shudo@red:‾$ mysql -u shudo -p
 
Enter password:ukkosein
 
 
mysql> use pokwikidb;
 
 
*********************************************************************************************:
 
cakephp
 
shudo@blue:‾$ sudo a2enmod rewrite
 
 
shudo@blue:‾$ sudo vi /etc/apache2/sites-available/default
 
 
        <Directory /var/www/>
 
                #Options Indexes FollowSymLinks MultiViews
 
                AllowOverride All //NoneをAllにする
 
                Order allow,deny
 
                allow from all
 
                # This directive allows us to have apache2's default start page
 
                # in /apache2-default/, but still have / go to the right place
 
                #RedirectMatch ^/$ /apache2-default/
 
        </Directory>
 
********************************************************************************************
 

2011年10月13日 (木) 10:57時点における版

Ubuntu11.04

Thinkpadのトラックポイントスクロールを有効にする。

参考サイトUbuntu日本語フォーラム/Thinkpad TrackPoint Scrolling in Ubuntu Lucid/10.04

ファイルを新規作成する。
/usr/lib/X11/xorg.conf.d/20-thinkpad.conf
内容は以下のとおり。
Section "InputClass"
   Identifier "Trackpoint Wheel Emulation"
   MatchProduct "TrackPoint"
   MatchDevicePath "/dev/input/event*"
   Driver "evdev"
   Option "EmulateWheel" "true"
   Option "EmulateWheelButton" "2"
   Option "Emulate3Buttons" "false"
   Option "XAxisMapping" "6 7"
   Option "YAxisMapping" "4 5"
EndSection
再起動。

10.10以降ならgpointing-device-settingsをインストールすれば楽だ。参考サイトThinkpad TrackPoint Scrolling in Ubuntu Maverick/10.10

途中からトラックポイントスクロールが利かなくなったので/etc/X11/xorg.confを新規作成し上記の設定を書き加えた。 参考サイトUbuntuJapaneseWiki

PHP

未定義変数とエラー

Notice: Undefined variable: 未定義変数とエラーが返るときは『php.ini』の『error_reporting = E_ALL & ~E_NOTICE』を有効にして、他の『error_reporting 』を無効にする。

Apache

バーチャルホスト設定

参考サイトUbuntu Tips

LVMについて

まずVG (ボリュームグループ) の確認。

shudo@home-server:~$ sudo vgscan

PV (物理ボリューム) の作成。

shudo@home-server:~$ sudo pvcreate /dev/sda1

PVをVGに追加。

shudo@home-server:~$ sudo vgextend home-server /dev/sda1
 Volume group "home-server" successfully extended

LV(論理ボリューム)をVGから2GB切り出す。

shudo@home-server:~$ sudo lvcreate -nhome -L2g home-server
 Logical volume "home" created

LVの削除

shudo@home-server:/$ sudo umount /home/
shudo@home-server:/$ sudo lvremove /dev/home-server/home
Do you really want to remove active logical volume "home"? [y/n]: y
 Logical volume "home" successfully removed
shudo@home-server:~$ sudo lvdisplay /dev/home-server/home
 --- Logical volume ---
 LV Name                /dev/home-server/home
 VG Name                home-server
 LV UUID                6o5lfm-do8L-ZV8I-LOaJ-FEVU-P40o-Cpgxfv
 LV Write Access        read/write
 LV Status              available
 # open                 0
 LV Size                2.00 GB
 Current LE             512
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           252:2

切り出したLGをフォーマットする。

shudo@home-server:~$ sudo mkfs.ext4 -j /dev/home-server/home

空の/homeにマウントする。

shudo@home-server:~$ sudo mount /dev/home-server/home /home
shudo@home-server:~$ df -h
ファイルシステム            サイズ  使用  残り 使用% マウント位置
/dev/mapper/home--server-root
                      71G  1.6G   66G   3% /
udev                  2.0G  220K  2.0G   1% /dev
none                  2.0G     0  2.0G   0% /dev/shm
none                  2.0G  296K  2.0G   1% /var/run
none                  2.0G     0  2.0G   0% /var/lock
none                  2.0G     0  2.0G   0% /lib/init/rw
/dev/sdb5             228M   29M  188M  14% /boot
/dev/mapper/home--server-home
                     2.0G   67M  1.9G   4% /home

2GBの/homeに200GB足す。

shudo@home-server:~$ sudo umount /home/
shudo@home-server:~$ sudo lvextend -L+200g /dev/home-server/home
 Extending logical volume home to 202.00 GB
 Logical volume home successfully resized
shudo@home-server:~$ sudo mount /dev/home-server/home /home

202GBになった。

shudo@home-server:~$ sudo lvdisplay /dev/home-server/home
 --- Logical volume ---
 LV Name                /dev/home-server/home
 VG Name                home-server
 LV UUID                6o5lfm-do8L-ZV8I-LOaJ-FEVU-P40o-Cpgxfv
 LV Write Access        read/write
 LV Status              available
 # open                 1
 LV Size                202.00 GB
 Current LE             51712
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           252:2

自動マウントにする。

shudo@home-server:/$ sudo vi /etc/fstab
/dev/mapper/home--server-home /home               ext4    errors=remount-ro 0       1

寺院管理ソフト

CSVファイルからインポート

ファイルを移動する

shudo@shudo:~$ sudo cp meibo.csv /var/lib/mysql/tera/

インポート

mysql> LOAD DATA INFILE "meibo.csv" INTO TABLE kojins FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\n';

ZendFramework

apache2 php5 mysql phpMyAdmin SQLite zend-framework インストール

apt-get install apache2
apt-get install php5 libapache2-mod-php5
apt-get install mysql-server
apt-get install phpMyAdmin
apt-get install php5-sqlite
apt-get install zend-framework

mod_rewriteを有効にする

shudo@shudo:~$ sudo a2enmod rewrite
Enabling module rewrite.
Run '/etc/init.d/apache2 restart' to activate new configuration!
shudo@shudo:~$ sudo /etc/init.d/apache2 restart

エラー表示(する)

phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

PostgreSQL One-Clickインストーラというのもある

参考ページ[1]

Apache Web ServerとPHPはOne-Clickインストーラでインストールする。

インストーラーの起動の仕方。ファイル名を指定するだけ。

root@shudo-laptop:/home/shudo# ./postgresql-8.4.2-1-linux.bin 

mediaWikiもインストールできる。最後にLocalSettings.phpを移動する。

root@shudo-laptop:/home/shudo# mv /opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www/mediaWiki/config/LocalSettings.php /opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www/mediaWiki

Zend FrameworkはPEARと同じディレクトリにインストールした。include_pathも指定する。

/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php

Zend FrameworkのクラスファイルがあるディレクトリZendFramework-1.9.7/library/Zendにシンボリックをとおす。

root@shudo-laptop:/home/shudo# cd /opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php
root@shudo-laptop:/home/shudo# ln -s ZendFramework-1.9.7/library/Zend

コマンドラインツール

root@shudo-laptop:/home/shudo# cd /usr/bin/
root@shudo-laptop:/home/shudo# ln -s /opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php/ZendFramework-1.9.7/bin/zf.sh
root@shudo-laptop:/home/shudo# zf.sh show versionZend
Framework Version: 1.9.7
shudo@shudo-laptop:~$ vi ~/.profile
alias zf=/opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php/ZendFramework-1.9.7/bin/zf.sh

/wwwの所有者を変更

shudo@shudo-laptop:/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache$ chown -R shudo:shudo www

チュートリアル

参考ページ

プロジェクトの作成

shudo@shudo-laptop:/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www$ zf.sh create project tera

2011/2/1

shudo@www-server:/var/lib/mediawiki$ zf create project a60

ライブラリにシンボリックをとおす

shudo@shudo-laptop:/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www$ cd tera/library/
shudo@shudo-laptop:/opt/PostgreSQL/EnterpriseDB-ApachePhp/apache/www/tera/library$ ln -s /opt/PostgreSQL/EnterpriseDB-ApachePhp/php/lib/php/Zend

2011/2/1

shudo@www-server:/var/lib/mediawiki$ cd ./a60/library/
shudo@www-server:/var/lib/mediawiki/a60/library$ ln -s /usr/share/php/libzend-framework-php/Zend/

test

http://localhost/tera/public/

postgresのテーブルをmyslのテーブルに移す

idはコピーしない

a60=# \COPY a60_bbs_tab (name, text, date) TO a60bbscopy.txt

文字コードの調整

shudo@red:~$ nkf -w a60bbscopy.txt > a60bbscopyutf8.txt

ファイル名とテーブル名を合わせる

shudo@www-server:~$ mysqlimport -u shudo -p -c email,comment,created a60 guestbook.txt

Zend_Validateのメッセージを日本語にする

参考サイト

清少納言 枕草子について

966年?~1025年?平安時代の女流作家 清原諾子(なぎこ)?

「清少納言」は女房名で、「清」は清原の姓から、「少納言」は親族の役職名から採ったとされている。実名は不明、「諾子(なぎこ)」という説(『枕草子抄』)もあるが信ずるに足りない。

左大臣⇒右大臣⇒内大臣⇒大納言⇒中納言⇒参議⇒左大弁⇒右大弁⇒少納言

天元4年(981年)15歳の頃、橘則光と結婚し、翌年一子則長(982年 - 1034年)を生むも、武骨な夫と反りが合わず、やがて離婚した。

当時の結婚は、一夫多妻制で、通い婚であったために、主人がこなくなれば、それで離婚ということになり、下級に近い中級貴族の娘たちの結婚は、現在のように一生涯をかけての結婚生活という意識はあまりなかった。10年を過ぎたころに則光がこなくなり、それで離婚ということになった。

正暦4年(993年)27歳冬頃から、中宮定子(17歳)に仕えた。定子は正暦元年(990年)1月25日、数え14歳の春に、3歳年下の一条天皇に入内した。

博学で才気煥発な彼女は、主君定子の恩寵を被ったばかりでなく、公卿や殿上人との贈答や機知を賭けた応酬をうまく交わし、宮廷社会に令名を残した。

  • く‐ぎょう【公卿】公(こう)と卿(けい)の総称。公は太政大臣・左大臣・右大臣、卿は大納言・中納言・参議および三位以上の朝官をいう。
  • れい‐めい【令名】よい評判。名声。
  • 【草子】 物語・日記・歌書など、和文で記された書物の総称。


引用[2][3]

PostgreSQLについて

バックアップと復元

pg_dumpallのファイルから特定のテーブルのみをリストアする

  1. hogeテーブルのデータの一部を誤って消してしまったので、crondでpg_dumpallしているファイルから復元する。
  2. pg_dumpallで出力されたファイルをエディタで開き、復元したいテーブルのデータの部分だけをコピーして新しいhogedata.txtテキストファイルをつくる。
  3. hogeテーブルのデータをすべて消して、\copyでhogedata.txtのデータを戻す。
\COPY hoge_tab (id, name, zip, addr, phone) FROM /home/hogedata.txt


税務について

源泉徴収事務

従たる給与を支払う場合は乙欄の税額を適用する。

年末調整

控除対象配偶者と配偶者特別控除

(平成20年度)給与所得のみの場合、収入金額が103万円未満の場合は控除対象配偶者。収入金額が103万以上141万未満の場合は配偶者特別控除となる。

103万円未満と104万円の控除額は38万円で同じなので、どうしてか税務署に聞いてみた。すると所得税がかかるというところで違いがでるとのことだった。

Zend Frameworkについて

Zend_Db_Tableでのjoin

setIntegrityCheck(false)を書かないとエラーになるので注意。

$table = new Bugs();
$select = $table->select()->setIntegrityCheck(false);
$select->where('bug_status = ?', 'NEW')
      ->join('accounts',
             'accounts.account_name = bugs.reported_by',
             'account_name')
      ->where('accounts.account_name = ?', 'Bob');
$rows = $table->fetchAll($select);

Zend_Paginator

Zend_Paginatorの使い方を教えてください。リファレンスガイドを見ましたが分かりません。検索をかけても情報がありません。クイックスタートに組み込みたいと思っています。どなたかよろしくお願いします。--住職 2009年2月3日 (火) 18:16 (JST)

5つ表示してページを移動します。
右図のようにできました。参考にしたページは次の三つです。[4][5][6]--住職 2009年2月4日 (水) 11:50 (JST)
  • GuestbookController.php
    public function indexAction()
   {
       $model = $this->_getModel();
       //$this->view->entries = $model->fetchEntries();
       $entries = $model->fetchEntries();
       $paginator = Zend_Paginator::factory($entries);
       //1ページに表示するエントリ数
       $paginator->setItemCountPerPage(5);
       $paginator->setCurrentPageNumber($this->_request->getParam('page'));
       $this->view->paginator = $paginator;
   }
  • /views/scripts/guestbook/index.php
   <? //foreach ($this->entries as $entry): ?>
   <? foreach ($this->paginator as $item): ?>
   <?= $this->escape($item['id']) ?>[<?= $this->escape($item['name']) ?>]
   <?= $this->escape($item['comment']) ?>
   <?= $this->escape($item['created']) ?>
   <? endforeach ?>
   //pagination_control.phtmlは/views/scripts/内につくる。
   <?= $this->paginationControl($this->paginator, 'Sliding', 'pagination_control.phtml'); ?>
  • /views/scripts/pagination_control.phtml
<?php if ($this->pageCount): ?>  
<?php if (isset($this->previous)): ?> 
 <a href="<?= $this->url(array('page' => $this->previous)); ?>">前へ</a>
<?php else: ?> 
 前へ
<?php endif; ?> 
<?php foreach ($this->pagesInRange as $page): ?> 
 <?php if ($page != $this->current): ?>
   <a href="<?= $this->url(array('page' => $page)); ?>"><?= $page; ?></a>
 <?php else: ?>
   <?= $page; ?>
 <?php endif; ?>
<?php endforeach; ?>
<?php if (isset($this->next)): ?> 
 <a href="<?= $this->url(array('page' => $this->next)); ?>">次へ</a>
<?php else: ?> 
 次へ
<?php endif; ?>  
<?php endif; ?>

以上で、selectした結果をグーグルのようにページ移動できるようになりました。


Zend Frameworkとコンソールの文字化け

データベースに接続するとき、文字コードを UTF-8 に設定すると回避できる。クイックスタートではbootstrap.phpを次にのようにした。

$dbAdapter = Zend_Db::factory($configuration->database);
// 文字コードを UTF-8 に設定する
$dbAdapter->query("set names 'utf8'");

Mysqlについて

接続

shudo@red:~$ mysql -u shudo -p

データベース一覧

mysql> SHOW DATABASES;

データベース選択

mysql> use tera;

テーブル一覧

mysql> SHOW TABLES;

CSVファイルをインポートする

mysql> LOAD DATA INFILE "meibo.csv" INTO TABLE kojins FIELDS TERMINATED BY ';' ENCLOSED BY '"';

CREATE TABLE構文のみ出力する

$ mysqldump -d -u hoge -p データベース名 > 出力ファイル名

AUTO_INCREMENTの開始番号を指定する。

mysql> ALTER TABLE hoge AUTO_INCREMENT=100;

データベースごとに文字コードを設定する。

mysql> SET NAMES utf8;        ....utf8,ujis

文字コードの確認

mysql> SHOW VARIABLES LIKE 'character\_set\_%';

phpからのクエリで文字化けするときの対策。

$db = mysql_connect("localhost", "hoge", "piyo");
mysql_select_db("poyo",$db);
mysql_query("SET NAMES utf8");


http://www.myspace.com/kungfoolfighting

EmEditor Freeのインストール

コマンドプロンプトから次のようにしました。--住職 2008年7月25日 (金) 14:18 (JST)

emed6004jfx.msi /passive

サラ川に 今年も映る 世相かな

私は57がお気に入りです。--住職 2008年7月21日 (月) 23:33 (JST)

西暦元号対照表

過去帳整理のときに便利です。--住職 2008年7月10日 (木) 17:05 (JST)