A mSQL and perl Web Server Mini HOWTO
Oliver Corff,
[email protected]
v0.1, 17 September 1997
�ɍ��� �N,
[email protected]
����mini-HOWTO�̓��[�U�[�C���^�[�t�F�[�X�Ƃ���WWW��HTML��g���� SQL �N
���C�A���g/�T�[�o�[ �f�[�^�x�[�X�̍\�z���@�ɂ��ď�����Ă��܂��B�h�C
�c�R���s���[�^�}�K�W��(german computer magazine)iX 8/1997 �ŏo�ł���
��"Gebunkert: Datenbankbedienung mit Perl und CGI(Perl��CGI ��g�����f
�[�^�o���N�T�[�r�X)"�Ƃ���Michael Schilli���̋L���ɐG������Ă��܂��B
______________________________________________________________________
�ڎ�
1. ���̃h�L�������g�ɂ���
1.1 �Ώۓǎ�
1.2 ���̃e�L�X�g�Ŏg����\��
2. �C���g���_�N�V����
3. �C���X�g�[���ߒ�
3.1 �K�v�ȃn�[�h�E�F�A
3.2 �K�v�ȃ\�t�g�E�F�A
3.3 OS�̃C���X�g�[��
3.4 http�T�[�o
3.5 �u���E�U
3.5.1 Lynx�̐ݒ�
3.5.2 Arena�̐ݒ�
3.5.3 Netscape�̃C���X�g�[���Ɛݒ�
3.6 Apache�ƃu���E�U�̋��͊W
3.7 �f�[�^�x�[�X�G���W���ƃC���X�g�[��
3.7.1 msql-1.0.16�̃C���X�g�[��
3.7.2 msql-1�̃e�X�g
3.7.3 msql-2.0.1�̃C���X�g�[��
3.7.4 msql-2�̃e�X�g
3.8 �C���^�[�t�F�[�X�̑I��FDBI/mSQL, MsqlPerl, Lite
3.8.1 DBI �� DBD-mSQL
3.8.2 MsqlPerl
3.8.3 msql�̃X�N���v�g����FLite
3.9 ��ʓI�ȕ��@�FDBI �� DBD-msql
3.9.1 perl�f�[�^�x�[�X�C���^�[�t�F�[�X DBI �̃C���X�g�[��
3.9.2 perl �� msql �h���C�o DBD-mSQL
3.10 MsqlPerl�C���^�[�t�F�[�X
3.11 perl��CGI���C�u����
3.12 �`�F�b�N���X�g�̃C���X�g�[��
4. �e�X�g�f�[�^�x�[�X�̎��s
4.1 MsqlPerl�T���v���X�N���v�g�̒lj�
4.2 msql-2�p�T���v���X�N���v�g�̒lj�
5. �܂Ƃ߂ƍ���̌��ʂ�
______________________________________________________________________
1. ���̃h�L�������g�ɂ���
1.1. �Ώۓǎ�
Web�T�[�o�f�[�^�x�[�X��C���X�g�[������������ǁA�K�v�ȃ\�t�g�E�F�A��
�����A�ǂ̂悤�ɃC���X�g�[������悢�̂��킩��Ȃ��Ƃ������l�����ɏ�
����Ă��܂��B�܂�web�T�[�o��g����SQL�f�[�^�x�[�X��肷�邽�߂ɕK�v
�ȏ�����Ă��܂��BCGI�v���O���~���O�₻�̏ڍׂɂ��Ă͏ڂ�����
�ׂĂ���܂��ASQL����ɂ��Ă���͂��Ă��܂���B�����ɂ���
�����ꂽ�Ǐ�����������ŏo��Ă��܂��B���̃h�L�������g�ł̓��[�U�[
��CGI�v���O���~���O��SQL��w�Ԃ��Ƃ̂ł�������܂��B
(���������q��ȗ\��V�X�e����F����s�}�l�[�W�����g�f�[�^�x�[�X�ł�
�Ȃ�) �������X�P�[����SQL�V�X�e����ғ������邱�ƂɊւ��Ă͂��̃e�L�X
�g�ɏ����ꂽ�\�t�g�E�F�A�ŏ\���ł����A�h�L�������g�͂���ɂ����ď�����
���܂��B���̃e�L�X�g�ŏЉ��f�[�^�x�[�Xmsql �̃��[�U�[�}�j���A����
�e���̃f�[�^�x�[�X�̍\�z�@�ɂ��ďڂ���������Ă���Ă��܂��B
��CD-ROM���g���Ȃ��ꍇ�́Aftp�o�R�Ńt�@�C����肷�邽�߂̕��@��
�m���Ă����܂��傤�B�܂��\�[�X����o�C�i�������肩������Ă���
�ĉ������B�Ƃɂ������̃e�L�X�g�Ő����Ă��邱�Ƃ͎��ۉғ����Ă���V�X
�e����Ńe�X�g���A�ǎ҂̃V�X�e����ł��삷���̂Ǝv���܂��B
1.2. ���̃e�L�X�g�Ŏg����\��
���[�U�[�R�}���h�F
# make install
�v���O��������̉�ʏo�́F
Program installed. Read README for details on how to start.
�t�@�C���̃T���v���R�[�h�F
______________________________________________________________________
# My comment
char letter;
______________________________________________________________________
2. �C���g���_�N�V����
�c��ȃf�[�^��(�����f�[�^�x�[�X�Ƃ�����)���G�ȃ����[�V���i���ݒ�̃f�[
�^�x�[�X�͑����̃��[�U��I�y���[�^�������Ɏg�����̂łȂ��Ă͂Ȃ�܂�
��B���z�I�ɂ̓V�X�e���I�ɐڑ����ꂽ���܂��܂ȃn�[�h/�\�t�g�E�F�A��g
�����̂ł���ׂ��ł��B�o���ߖ邽�߂ɂЂƂ̃V�X�e���A�f�[�^�x
�[�X�T�[�o�̓p���t���Ȃ�̂ł���K�v������܂��B���[�U�[�X�e�[�V������
��ʓI�Ƀf�[�^�̕\���ƃR�}���h�̎��s��܂��B�����̓N���C�A���g-�T�[
�o�f�[�^�x�[�X�ɂ���P��̃}�V����ōs���܂��B����Ƀ��[�U�C���^�[
�t�F�[�X�̊Ǘ����e�Ղłł��邾���N���C�A���g���ւ̕��S���Ȃ���̂̕���
�悢�ł��傤�B
�ȏ�̊(criteria)�����V�X�e���͈ȉ��̃v���g�R���A�T�O�A�\�t�g
�E�F�A�A�C�e����g���č\�z�ł��܂��B
Linux
�I�y���[�e�B���O�V�X�e���ł��B�}���`���[�U�A�}���`�^�X�N��l�b�g
���[�N(TCP/IP)��Œ����肵��UNIX�ł��B���ۂ̃��f�B�A�ƒʐM
�R�X�g����ΑS�Ă��t���[�ł��B��{OS����e�L�X�g�v���Z�b�T�A�X
�N���v�g�A�\�t�g�J���A�C���^�[�t�F�[�X�r���_�[�ȂǕK�v�Ȃ�̑S��
�������Ă��܂��B
HTML
HTML�̓C���^�[�l�b�g�AWWW(World Wide Web)�Ƃ������l�b�g���[�N�V
�X�e���C���^�[�t�F�[�X��\�z���邽�߂�Hypertext Markup����
(Language)�ł��B HTML�͊ȒP��ASCII�e�L�X�g�G�f�B�^�ŕҏW���邱��
���ł��܂��B
Browsers
�u���E�U�ɂ̓e�L�X�g�x�[�X(�Ⴆ��Lynx)���邢�̓O���t�B�J
��(Mosaic, Netscape, Arena�Ȃ�)�A�v���P�[�V�������g����
���BHTML�h�L�������g�̓ǂݍ��݂ƕ\����܂��B�f�[�^�x�[�X���[�U
�ɂ��Ē��ڑ��삳���B��̃\�t�g�ł���܂��B�u���E�U��g����
�ƂŃe�L�X�g�A�C���[�W�Ƃ��������܂��܂ȃf�[�^��\���ł��܂��B��
���u���E�U���g���邳�܂��܂ȃR���s���[�^�ɑ���http�T�[�o�ŒʐM
���邱�Ƃ��ł��܂��B
http �T�[�o
http �T�[�o�̓l�b�g���[�N�ň�ʂɎg�p�����f�[�^������z�X�g�R
���s���[�^�ւ̃A�N�Z�X����܂��Bhttp�v���g�R���𗝉�A���[
�U���v���������n���܂��B
SQL
Structured Query Language�̗��B�֘A�f�[�^�x�[�X�̃f�[�^�𑀍삷
�錾��ł��B���@�͊ȒP�ōL�����ƓI(wide industry)�ɂ�T�|�[�g��
��Ă��܂��BSQL���ɂ����f�[�^�x�[�X�͓T�^�I�ȃN���C�A���g/�T�[
�o�̍l���̒��S(core)�ƂȂ��̂ł��B������SQL�V�X�e���������
���B�L���Ȃ�̂ł�Oracle, Informix�ȂǂŁA�ቿ�i�̂�̂�w�p
�I/����I�Ȏg�p�ړI�̏ꍇ�͖����œ���ł���悤�ɂȂ�܂����B
(�FSQL=�f�[�^��~��(Query)���鎞�̍\���Ƃ��̎��o��������
�Ă��錾��ł��BSQL�W����[���{�ł�1987�NJIS�K�i�ƂȂ�܂���]�ɂ�
��DB����̓���A�َ�DBMS�Ƃ̌݊����Ȃǂ̗��_������܂�)
CGI
CGI(Common Gateway Interface)�̓f�[�^��~���Ă���V�X�e��(����
��SQL ��x�[�X�Ƃ����V�X�e���ł�)�ƃl�b�g���[�N�v���g�R
��(HTML)�Ԃ̃v���O���~���O�C���^�[�t�F�[�X�ł��BCGI�͑����̃v��
�O���~���O����ō\�z�ł��܂������Ƃ�悭�g���Ă���̂�perl��
���B
perl
Perl�͂���߂ăp���t���ȃX�N���v�g����ł��BC����A�V�F������A
�X�g���[�����쌾��(sed�Aawk�Ȃ�)�̒�������Ă��܂��BPerl�ɂ͑�
���̃��W�����C���^�[�t�F�[�X������ASQL�f�[�^�x�[�X��R���g���[
�����邱�Ƃ�ł��܂��B
3. �C���X�g�[���ߒ�
3.1. �K�v�ȃn�[�h�E�F�A
�f�[�^�x�[�X�T�[�o�ŕK�v�ȃn�[�h�E�F�A�ɂ��Ĉ�ʓI�Ȃ��Ƃ͌����܂�
��B�\�z����郆�[�U�[�̐��A�A�v���P�[�V�����̎�ށA�l�b�g���[�N�o
�H(network load)���ɑ傫���ˑ����Ă��܂��B 2�`3�l�̃��[�U�����邾����
�l�b�g���[�N�g���t�B�b�N���Ȃ��ŏ��Ȋ��ł� RAM 16MB�Ai486���x�̃}
�V���ŏ\���ł��BLinux�̓��\�[�X�Ɋւ��Ă͂���ŏ\���ŁA�����ɂ��܂���
�ȃA�v���P�[�V������N�����邾���̔n�͂�����܂��B�������Ƒ����v
���Z�b�T��RAM�̑��݂�����قǍ��������邱�Ƃ�ł��܂����A�v��
�Z�b�T����RAM�̗e�ʂ̕����d�v�ł��B RAM�𑝂₹�Α��₷�قǁA��Q��
�����₷���W���I�ȃ������[�v���Z�X�̃f�B�X�N�X���b�v���������Ȃ��Ă���
�̂ł��B
32 MB RAM �� PCI�o�X������X���b�v�t�@�C���Ȃǂ�g��Ȃ��Ō����ƃ\�[
�g����ɍs�����Ƃ��ł��܂��B
���̕����ŏ�����Ă���C���X�g�[����32 MB RAM�A1.2 GB IDE�n�[�h�f�B�X
�N�� IBM 686(133Mhz) �ōs���Ă��܂��B�͂��߂���C���X�g�[�������̂�
���Ĉȉ��A�K�v�Ȏ菇�̃��X�g����܂����B
3.2. �K�v�ȃ\�t�g�E�F�A
���̕����Ŏ�舵���\�t�g�E�F�A��CD-ROM��C���^�[�l�b�g������ł����
�̂ł��B�ȉ��̂�̂�g���܂��F
o Red Hat Linux PowerTools�FRed Hat Linux PowerTools�F6 CD's Complete
Easy-to-Use Red Hat 4.2, Summer '97;
http://www.redhat.com ����B
o msql SQL�f�[�^�x�[�X�T�[�o�F���݂Q�̃o�[�W�����̂�̂�����ł���
���B���̃o�[�W�����̈Ⴂ�͏����ł��鐔�A�A�h�~�j�X�g���[�V�����C��
�^�[�t�F�[�X�̈Ⴂ�Ɉ˂��Ă��܂��B�Â����̃o�[�W����
��1.0.16�ŁASunsite�~���[�T�C�g������ł��܂��BELF�t�@�C����
sunsite:apps/database/sql/msql-1.0.16
��CDROM(disc 4 of InfoMagic Linux Developer's Resource, 6-CD set,
December 1996)�A
http://www.infomagic.com�����肵�܂��B
�V�����o�[�W������2.0.1�ł��B�I�[�X�g�����A��Hughe���̃z�[���y�[�W
(
http://www.hughes.com.au)�₻�̑��~���[�T�C�g������ł��܂��B
o CPAN��perl�FThe Comprehensive Perl Archive Network. Walnut Creek
CDROM, ISBN 1-57176-077-6, May 1997;
o computer journal iX 8/1997, pages 150--152��Michael Schilli ���ɂ�
��CGI�T���v���v���O�����Bftp�œ���
ftp.uni-paderborn.de:/doc/magazin/iX�B
3.3. OS�̃C���X�g�[��
���҂�Red Hat Linux Distribution 4.2����Linux��C���X�g�[�����Ă���
���B�����ƃC���X�g�[�����邽�߂ɁA�}�V����DOS�ŃA�N�Z�X�ł���CDROM�h
���C�u/ �u�[�g�\��CDROM�h���C�u���ALinux CD�̈ȉ��̐ݒ�荞��
�u�[�g�f�B�X�N�̂ǂ��炩����Ă���Ƃ悢�ł��傤�B
�C���X�g�[���̓r���Ń\�t�g�E�F�A�p�b�P�[�W�̑I��Ɛݒ��s���܂��B�ȉ�
�̃A�C�e����I��Ă����ĉ������B
o TCP/IP �l�b�g���[�N�T�|�[�g
o http �T�[�o Apache
o �X�N���v�g����perl
o X Window System
o Arena (�O���t�B�J��)��Lynx (�e�L�X�g�x�[�X)�u���E�U
�����̃p�b�P�[�W��Linux�f�B�X�g���r���[�V�����Ŕz�z����Ă��܂��B
�������ɂ����̃p�b�P�[�W��C���X�g�[�����Ȃ��Ȃ�A�\�t�g�E�F�A
�p�b�P�[�W�ɂ���O���t�B�J���Œ��ϓI�ȃC���X�g�[���}�l�[�W����g��
�Čォ��C���X�g�[���ł��܂�(�Fsetup�R�}���h�Ȃǂ�)�B������
�p�b�P�[�W��C���X�g�[������ۂ�root�ō�Ƃ�ĉ������B
���̕����ł̓l�b�g���[�N�C���X�g�[���⏉���ݒ�̎d���͎�舵���܂���B
�I�����C���h�L�������g(man�y�[�W�AHTML�Atexinfo)��o�ł���Ă���h�L��
�����g((Linux Bible�ȂǂȂ�)��Q�Ƃ��ĉ������B
Red Hat�̃C���X�g�[�����@�͏\���m������Ă��āA�I��(�z�X�g���̎w���
��)�ʂɍs�������ł��B�C���X�g�[������������A�V�X�e���͂����ɉ�
���ł��܂��B
X Window System�̃C���X�g�[���̓T�[�o�ɂ͕K������K�v�ł͂���܂���
���[�J���A�N�Z�X��e�X�g���ȒP�ɂȂ�̂œ���Ă����Ƃ悢�ł��傤�B X��
�C���X�g�[�����@�͂������v���O������g�����Ƃōs���܂�(XF86Setup ��
���ȃe�X�g�̋@�\(self-testing facilities)�����Ă��āA�Ⴆ�r�f�I
�N���b�N�v���O���~���O�ȂǓ������͂قƂ�ǂ���܂���)�B�K�v�Ȃ���
�̓\�t�g�E�F�A���r�f�I�A�_�v�^��o�ł��邩�ǂ����Ƃ������Ƃ����ł��B
�����ȃA�N�Z�����[�^�O���t�B�b�N�A�_�v�^(S64UV+�̑O�g��Trio S64�̂悤
�ȃA�_�v�^�Ȃ�)�͒ʏ�A���ɉ����Ȃ��Ă�(``out of the box'')���삵��
���B
�����ŃV�X�e����Apache, Perl, X Window System�����łɃC���X�g�[������
�Ă����̂Ƃ��܂��B����A�t�@�C��/�f�B���N�g���Ƃ�������{�I�Ȃ��Ƃ�
�C���X�g�[�����̂܂܂Ƃ��Ęb����i�߂Ă����܂��B�܂��z�X�g��
��localhost�Ƃ��܂��B���̃z�X�g����C���X�g�[���̃e�X�g�p�Ɏg���܂��B
�S�V�X�e���������Ɠ��삵����K���Ȗ��O����܂��B/etc/hosts�t�@�C��
�Ȃǂ�ҏW����K�v�����邱�Ƃ��ڂ��Ă����ĉ������B���z�I�ɂ͂����
��root�p�̊Ǘ��҃c�[����g���čs���ׂ��ł��B
3.4. http�T�[�o
Linux�Ŏg����http�T�[�o��Apache(httpd)���L���ł��B man�y�[�W(man
httpd)��http�f�[����(httpd)�̃C���X�g�[���Ɖғ��̎d���ɂ��Đ�����
���܂��B���������Ȃ��C���X�g�[���ł��Ă���Ȃ炷�łɃT�[�o�͉ғ�����
�Ă��܂��B�f�B���N�g����m�F���܂��F/home/httpd/�ȉ��R�̃T�u�f�B���N
�g��../cgi-bin/�A../html/�A../icons/ ������܂�(�FRedHat�ȊO�̃f�B
�X�g���r���[�V�����ł̓f�B���N�g������Ⴄ������܂�
��)�B../html/�f�B���N�g���ɂ�index.html �t�@�C��������܂��B���Ƃł���
�t�@�C���͊e���̃t�@�C��index.html�ɒu�������ĉ������B�ݒ�̏��
��/etc/httpd/conf/�ɒ~�ς���Ă��܂��B�V�X�e�����\���ɐݒ肳��Ă��āA
���ɃG���[��Ȃ��C���X�g�[�����ł����Ȃ炱��ȏ�͕K�v����܂���B
3.5. �u���E�U
��{�I��Linux�p�̃u���E�U�ɂ͂R�̂�̂�����܂��F
o Lynx�F�e�L�X�g�x�[�X�̃V�X�e���B
o Arena(�t���[)�F�V���v���ȃu���E�U�B�����I
o Netscape(�V�F�A)�FJava��T�|�[�g���Ă��܂��B
Lynx��ArenaLinux�ɕ������Ă��܂����ANetscape �͂悻�����肵�Ȃ���
�Ȃ�܂���ix86�A�[�L�e�N�`����œ��삷��Linux�p�̂�̂��o�C�i��
�t�@�C���Ŕz�z����Ă��܂��B�A�[�J�C�u��W�J���������(``out of
the box'')���s�ł��܂��B
3.5.1. Lynx�̐ݒ�
Lynx�͋N�����Ƀf�t�H���gURL��\�����悤�Ƃ��܂��B����͏�ɃC���^�[
�l�b�g�ɐڑ����Ă��Ȃ��ꍇ�ɂ͂����Ɩ��ł��B���̃f�t�H���gURL���
�X���� (�܂����̐ݒ��ύX����)���߂ɁA�V�X�e���Ǘ���
��/usr/lib/lynx.cfg (�F�܂���/usr/local/lib/lynx.cfg�Ȃ�)�t�@�C��
��ҏW����K�v������܂��B���̐ݒ�t�@�C���͖�57,000�o�C�g�Ƒ傫���s�K
�v�ȏ���܂�ł����̂���A/usr/local/lib/�f�B���N�g����z�[��
�f�B���N�g���Ƃ��ċL�q���Ă��܂��B�t�@�C���̂͂��߂������STARTFILE��
�͂��܂�s������̂ŁA�����ȉ��̂悤�ɕύX���܂��B
______________________________________________________________________
# STARTFILE:
http://www.nyu.edu/pages/wsn/subir/lynx.html
# STARTFILE:
http://lynx.browser.org/
STARTFILE:
http://localhost
______________________________________________________________________
�t�@�C����ۑ���ALynx�͈����Ȃ���index.html�h�L�������g��\������悤
�ɂȂ�܂��B
[�F"Lynx�ɂ���"
Lynx��Ver2.5�����肩���ʂȃp�b�`�Ȃ��œ��{�ꂪ�ʂ�悤�ɂȂ�܂����B
�ȉ��̃T�C�g��Q�Ƃ��Ă݂ĉ������B
o �ŐV��Lynx�\�[�X
ftp://ftp2.cc.ukans.edu/pub/lynx/
o Lynx�̓��{�ꉻ�ɂ���
http://www.three-a.co.jp/~asada/lynx/
o Lynx��kterm�Bterminfo�̃o�O�C���ɂ���
http://www-
nagao.kuee.kyoto-u.ac.jp/member/shimada/misc/lynx-kterm.html
]
3.5.2. Arena�̐ݒ�
Arena�����Ȃ��ŋN������ƃf�t�H���gURL��\�����܂��B���̃f�t�H��
�gURL�͎��s�t�@�C���ɑg�ݍ��܂�Ă��܂����A���ϐ�WWW_HOME�ɂ��ĕ�
�X (overrun)���邱�Ƃ�ł��܂��B�V�X�e���Ǘ��҂�/etc/profile�t�@�C����
WWW_HOME="
http://localhost"�ƂȂ�悤�ɏ�������ʼn�����(bash�Ȃǂ̏ꍇ
��export����悤�ɂ��܂�)�B�Ⴆ�A
______________________________________________________________________
WWW_HOME="
http://localhost"
export WWW_HOME
______________________________________________________________________
�Ƃ��܂��B��x���O�C���������A�V�����f�t�H���gURL��Arena�ŗL���ɂȂ�
�܂��B
3.5.3. Netscape�̃C���X�g�[���Ɛݒ�
Netscape�͏��p�̐��i��Linux�f�B�X�g���r���[�V�����ł͔z�z����Ă��܂�
��B (�FCaldera Open Linux�ȂǏ��p�̃f�B�X�g���r���[�V�����ł̓��C
�Z���X���ꂽNetscape�����Ă����̂���܂�)�B�C���^�[�l�b�g
��CDROM�̃\�t�g�E�F�A�R���N�V����������ł��܂��BNetscape �͊e�v���b
�g�t�H�[���p�ɃR���p�C�����ꂽ�o�C�i���`���Ŕz�z����Ă��܂��B�C���X�g
�[������ɂ̓A�[�J�C�u�t�@�C����W�J����f�B���N�g���Ƃ���
/usr/local/Netscape/����܂�(�F�A�[�J�C�u�ɕ����̃C���X�g�[���v
���O������g���Ύ����I��/usr/local/netscape/ �f�B���N�g������܂�)�B
Java���C�u��������t�@�C���͑S�Ă��̃f�B���N�g����ɂ����
��(Netscape ���C�u�����ɂ��Ă�README�t�@�C����Q�Ƃ��ĉ�����)�B�ȉ�
�̂悤�ɂ��ă����N��͂�܂�(/usr/local/bin/�f�B���N�g���ō�Ƃ��
��)�B
# ln -s /usr/local/Netscape/netscape .
Netscape�́uOptions�v���j���[�Őݒ�ł��܂��B�uGeneral Preferences�v��
�́uAppearance�v�J�[�h������̂ŁA�uHome Page Location�v��
http://localhost��w�肵�܂��BNetscape��I������܂��ɁA�I�v�V�����̕�
����Y��Ȃ��ʼn�����(�uOptions�v---�uSave Options�v��)�B����̋N����
Apache�̃y�[�W���J���܂�(�F����̓��[�J���}�V���̃y�[�W�ŁAApache
�C���X�g�[�����ɍ���܂�)�B
3.6. Apache�ƃu���E�U�̋��͊W
�u���E�U��http�T�[�o�̍ŏ��̃e�X�g��܂��B�K���ȃu���E�U��N�������
apache: red hat linux web server�̃y�[�W���\������܂��B���̃y�[�W�ł�
�t�@�C���̏ꏊ��http�T�[�o�̃C���X�g�[���̊�{������܂��B�����̃y
�[�W���\������Ȃ��ꍇ�̓t�@�C�����K���ȏꏊ�ɂ��邩�A�u���E�U�̐ݒ肪
���������`�F�b�N���Ă��������B�u���E�U�����x�J���O�ɐݒ�t�@�C����
�ҏW��I�点�ĉ������B�ȏ�̐ݒ肪��������Ύ��Ƀ}�V���̃l�b�g���[�N��
���e�X�g���܂��B�z�X�g�����ݒ�t�@�C���ɏ�������̂ƈ�����l�b�g��
�[�N�Z�b�g�A�b�v�����������ǂ����B���Ȃ��Ƃ�/etc/hosts�Ɉȉ��̍s������
���Ƃ�`�F�b�N���܂��B����͏d�v�ł��B
______________________________________________________________________
127.0.0.1 localhost localhost.localdomain
______________________________________________________________________
����̓}�V���Ƀ��[�J���ڑ����Ƃ����ɏd�v�ł��B�����Ƀz�X�g����g
���悤�ȃl�b�g���[�N�p�R�}���h��g���ăe�X�g���܂��B�Ⴆ�Atelnet
localhost �Ƃ��܂�(telnet �͂��łɃ}�V���ɃC���X�g�[������Ă��܂�)�B
�����ꂪ����������Ύ��̍�ƂɈڂ�܂��ɂ���x�l�b�g���[�N�ݒ��
�`�F�b�N���Ă����ĉ������B
3.7. �f�[�^�x�[�X�G���W���ƃC���X�g�[��
�f�[�^�x�[�X��C���X�g�[������ɂ́Anetscape�Ƃ�������L�̃C���X�g�[��
����A��������Ă������Ƃ�����܂��B�����^�C����A�h�~�j�X�g���[
�V���������ꂼ��Ⴄsql�f�[�^�x�[�X�G���W���� 2�`3����A���̒��ň�Ԃ�
����₷���V�X�e���ł���msql(mini-sql)��g���܂��B���̃V�X�e����david
hughes���ɂ���̂ŁA�V�F�A�E�F�A�ł��B����͎g���o�[�W�����Ɉ˂��
���B���p�I�Ȏg�p�̏ꍇ��250.00�h��(us)�ȏ�B�l���[�U�̏ꍇ��65.00�h
��(us)�ȏ�B����A�p�I�ȋ@�ւ̏ꍇ�̓t���[�Ŏg�����Ƃ��ł��܂��B��
�m�ȉ��i(figures)�̓f�[�^�x�[�X�ɕ������Ă���h�L�������g�̃��C�Z���X
��Q�Ƃ��Ă��������B�����ɏ��������i�͂��������̖ڈ��Ƃ��ĉ������B
�Ȃ����҂�msql��I��������̗��R��Q�A�R�q�ׂ܂��B�܂����ɃC���X�g
�[��/�Ǘ����ȒP�ŁAsql����̃J�o�[���Ă���͈͂��\���ł��邱�Ƃ�������
��܂��B�����܂ŏ��������_�� alligator descartes' dbi faq (perl
database interface faq) �ɓK���Ȑ���������܂����B
From the current author's point of view, if the dataset is
relatively small, being tables of less than 1 million rows,
and less than 1000 tables in a given database, then mSQL is
a perfectly acceptable solution to your problem. This
database is extremely cheap, is wonderfully robust and has
excellent support. [...]
[���{���F���݂̍�҂̎w�E�ɂ��ƁA�f�[�^�Z�b�g��100,000��
�ȉ��̕\��1000�ȉ��̃e�[�u���Ƃ������A��r�I��������̂�
��mSQL�͊��S�ɂ��Ȃ��̖������Ă���܂��B���̃f�[�^�x�[
�X�͈����������肵����̂ŗD�ꂽ�T�|�[�g������܂��B ]
Msql�͂Q�̃o�[�W����(msql-1.0.16, msql-2.0.1)������ł��܂��B���̈�
���̓p�t�H�[�}���X�̈Ⴂ(�������d���ł͓��ɍ��͂���܂���)��Y�t�����
����\�t�g�E�F�A�̈Ⴂ(�V�����o�[�W�����ɂ͑����̃c�[���A�X�N���v�g
�t�@�C��������܂�)�ɂ��Ă��܂��B�ȉ����̂Q�̃o�[�W�����ł̃C���X
�g�[���ɂ��Ă��ꂼ�����Ă����܂�(2�`3�Ⴂ������܂�)�B
3.7.1. msql-1.0.16�̃C���X�g�[��
msql�̓\�[�X��ELF�T�|�[�g�o�C�i���Ƃ��ē���ł��܂��BELF�o�C�i����g��
�C���X�g�[���͊ȒP�ł��B�A�[�J�C�u�t�@�C��msql-1.0.16.ELF.tgz�͂���
�p�b�P�[�W���ɃC���X�g�[����̃f�B���N�g����܂`�Ńp�b�P�[�W������
�Ă��܂��B���̂��ߓW�J���鎞�Ƀ��[�g�f�B���N�g���œW�J���邾���œK����
�f�B���N�g���ɃC���X�g�[������܂��B
��msql-1.0.16��R���p�C�����āADBI�C���^�[�t�F�[�X����MsqlPerl�p�b
�P�[�W (���̗��҂̈Ⴂ�ɂ��Ă͌�ŏq�ׂ܂�)��g���ꍇ�ɁA MsqlPerl��
�e�X�g���usome instruction inside msql failed(msql��Ŗ��߂����s���܂�
��)�v�ƂȂ邱�Ƃ�����܂��B���̏ꍇMsqlPerl�h�L�������g
(patch.lost.tables)�ɏ�����Ă���p�b�`���K�v�ł��B����msqldb.c
��1400�s( entry->def = NULL;)�����3�s
*(entry->DB) = 0;
*(entry->table) = 0;
entry->age = 0;
����ł��B�R�[�h�t���O�͈ȉ��ł��B
______________________________________________________________________
freeTableDef(entry->def);
safeFree(entry->rowBuf);
safeFree(entry->keyBuf);
entry->def = NULL;
*(entry->DB) = 0;
*(entry->table) = 0;
entry->age = 0;
______________________________________________________________________
msql��R���p�C�����邽�߂ɂ������菇�݂܂��B�܂��\�[�X�A�[�J�C�u
��W�J���ă^�[�Q�b�g�f�B���N�g������܂��B
# make target
���ꂪ���܂���������A�V�X�e����
Build of target directory for Linux-2.0.30-i486 complete
�ƕ\�����܂��B���̐V�����f�B���N�g���Ɉړ�����
# ./setup
�Ǝ��s���܂��B ./�V�[�P���X�͂��̃f�B���N�g����setup�R�}���h��s����
���߂ɕK�v�ł��B�����t���Ȃ��ƕʂ�setup�����s����Ă��܂��܂��B�\�[
�X�f�B���N�g����root�C���X�g�[�����K�v���ǂ���������܂��B���̌�V�X�e
���̓R���p�C���A���[�e�B���e�B�Ȃǂ̃\�t�g���g���邩�e�X�g���܂��B
Ready to build mSQL.
You may wish to check "common/site.h" although the defaults should be
fine. When you're ready, type "make all" to build the software
�ƕ\������܂��B������
# make all
�Ǝ��s���ĉ������B
make[2]: Leaving directory `/usr/local/Minerva/src/msql'
<-- [msql] done
Make of mSQL complete.
You should now mSQL using make install
NOTE : mSQL cannot be used free of charge at commercial sites.
Please read the doc/License file to see what you have to do.
make[1]: Leaving directory `/usr/local/Minerva/src'
�o�C�i����/usr/local/bin/�Ƀ\�t�g�����N���邱�ƂŌ����p�X�ɒʂ�悤
�ɂ��܂��B/usr/local/bin/�f�B���N�g���Ɉړ�����
# ln -s /usr/local/Minerva/bin/* .
�Ǝ��s���ĉ������B
3.7.2. msql-1�̃e�X�g
�C���X�g�[����A�f�[�^�x�[�X�������Ɠ��삷�邩�ǂ����e�X�g���܂��B�T
�[�o�f�[������X�^�[�g�����邽�߂ɃV�X�e���Ǘ���(root����)�Ƃ��ăR�}��
�h��s���܂��B
# msqld &
(�o�b�N�O�����h��msql��s���邽�߂ɁA&��t����̂�Y��Ȃ��悤�ɂ���
������)�B�ȉ��̃��b�Z�[�W���\������܂��B
mSQL Server 1.0.16 starting ...
Warning : Couldn't open ACL file: No such file or directory
Without an ACL file global access is Read/Write
���̃��b�Z�[�W�́A�A�N�Z�X������ݒ肵�Ă��Ȃ����߂ɓ��삵�Ă��Ȃ��Ƃ�
�����Ƃ�Ӗ����Ă��܂��B�����������ăV�F������msql�f�[������J�n�ł�
�܂��B�����ŃR�}���h��K����rc.d�X�N���v�g�ɏ����Ă����܂�( �Ǘ��҂���
���f�[�^�x�[�X�R�}���h��s�ł��܂�)�B
# msqladmin create inventur
(�F���̃R�}���h�̎��s�ŋ�̃f�[�^�x�[�Xinventur������܂�)�B
msql��Database "inventur" created.�ƕԓ����܂��B
/usr/local/Minerva/msqldb/�f�B���N�g���ɋ��../inventur/ �T�u�f�B���N
�g�����ł��܂��B���̐V�����f�[�^�x�[�X�̓A�h�~�j�X�g���[�V�����c�[
��(�ڍׂ�msql�h�L�������g�ɏ�����Ă��܂�)��g���đ���ł��܂��B
3.7.3. msql-2.0.1�̃C���X�g�[��
�V�����p���t����Hughe��mSQL�T�[�o������A�ȑO�̃o�[�W������2�`3�̓_��
�C���X�g�[���ɈႢ������܂��Bmsql-2�̃C���X�g�[����͂��߂���s���ɂ�
�ȉ��̃X�e�b�v��ӂ݂܂��B�K���ȃf�B���N�g��(�Ⴆ��/usr/local/msql-2/)
�ɃA�[�J�C�u��R�s�[���ēW�J���܂��B
# tar xfvz msql-2.0.1.tar.gz
(�F�A�[�J�C�u�͈ȉ��̃T�C�g������ł��܂��B
<
http://www.hughes.com.au/software/msql2/>)
# make target
�Ǝ��s���܂��B targets�ɕύX���ă}�V���^�C�v��I�т܂��B�V�����T�u�f�B
���N�g�� Linux-(�o�[�W����)-(CPU)/ ���̃f�B���N�g���ɕύX���Ĉȉ��̂�
���ɃZ�b�g�A�b�v��X�^�[�g���܂��B
# ./setup
�ҏW�\��site.mm�t�@�C��������܂��B�f�B���N�g����
/usr/local/Minerva/��g���Ă��邱�ƂƎv���܂��B�ۑ��������ł����H����
�ꍇINST_DIR=...�̍s�ɕۑ��������f�B���N�g�����������ʼn������B�f�[
�^�x�[�X��\�z���܂��B
# make
# make install
�C���X�g�[���ɐ�������ƈȉ��̃��b�Z�[�W���\������܂��B
[...]
Installation of mSQL-2 complete.
*********
** This is the commercial, production release of mSQL-2.0
** Please see the README file in the top directory of the
** distribution for license information.
*********
�C���X�g�[�����K�ɍs��ꂽ�玟�̓f�[�^�x�[�X�Ǘ��̏ڍׂɒ��ӂ��
����Ȃ�܂���B������msql-1�Ƃ͈Ⴄ��Ƃ��K�v�ł��B�f�[�^�x�[�X�Ǘ�
��S�����[�Umsql����܂��F
# adduser msql
mSQL�f�B���N�g���̃I�[�i�[��msql�ɕύX���܂��B
# cd /usr/local/Minerva
# chown -R msql:msql *
����/usr/local/bin/�̃f�[�^�x�[�X�o�C�i���ւ̃\�t�g�����N����܂��B
# ln -s /usr/local/Minerva/bin/* .
�ȏ�ł��B
3.7.4. msql-2�̃e�X�g
�f�[�^�x�[�X�T�[�o��msql2d &�R�}���h�ɂ��ĊJ�n����A
Mini SQL Version 2.0.1
Copyright (c) 1993-4 David J. Hughes
Copyright (c) 1995-7 Hughes Technologies Pty. Ltd.
All rights reserved.
Loading configuration from '/usr/local/Minerva/msql.conf'.
Server process reconfigured to accept 214 connections.
Server running as user 'msql'.
Server mode is Read/Write.
Warning : No ACL file. Using global read/write access.
�Ɖ������o�܂��B����Ŋ��ł��B�f�[�^�x�[�X�̓R���p�C������K���ȏꏊ
�ɂ���܂��B������perl���W���[����p�����܂��Bperl���W���[���̓e�X�g�p
�ɓ��삵�Ă���f�[�^�x�[�X�T�[�o�̐U�����ɕ����I�Ɋ�Â��Ă��܂��B
���������������msql-2.0.1�ɕ������Ă���}�j���A���̈��Ă����Ƃ�
���ł��傤�F
# gzip -d manual.ps.gz
# lpr manual.ps
�����ăC���^�[�t�F�[�X�̍\�z��s���܂����A�V��������SQL�T�[�o��ۑ�
���Ď��s�����ق����悢�ł��傤�B���̂ق������S���ăC���^�[�t�F�[�X���C
�u�����̃e�X�g���ł��܂��B
3.8. �C���^�[�t�F�[�X�̑I��FDBI/mSQL, MsqlPerl, Lite
perl��g�����ɎQ�l�ɂȂ邱�Ƃ��炪Camel Book(�F�u���N�_�{�v�ƌĂ�
����̂ł�)�ɏ�����Ă��܂��B����͍���̃��f���A�v���P�[�V�������
������Ă��܂��B��{�I��CGI��o�R����msql�f�[�^�x�[�X�ɃA�N�Z�X����
�@���ȉ��R����܂��B�͂��߂�perl��g�����ǂ����Ƃ������ƂɊւ��邱��
�ł��B (���̕������ΏۂƂ��Ă���)perl��g���Ȃ��̈قȂ�C���^�[
�t�F�[�X���f���̂ǂ��炩��I�ׂ܂��Bperl��g���ꍇ��msql�Ǝ��̃X�N���v
�g����(Lite)��g�����Ƃ��ł��܂��B���ɂ킩��₷���AC����ɋ߂��N��
�[���ł��B
3.8.1. DBI �� DBD-mSQL
���̎��M�̎��_�܂ł�DBI�ƌĂ��perl�̃f�[�^�x�[�X�C���^�[�t�F�[�X��
�B DBI��2,3�̖𗧂_������܂��F�R�}���h��ő����̏��p�f�[�^�x�[�X
�𑀍�ł��铝�ꂳ�ꂽ�A�N�Z�X�R���g���[��������Ă��܂��B�^�����
���V�X�e���Ŏ��ۂ̃f�[�^�x�[�X�̓v���O���}����f�[�^�x�[�X�̉���
��(pecularities)��h���h���C�o��g���ăA�N�Z�X�ł���BDBI��g�����Ƃ�
�}�[�J�[�ɂ��قȂ�f�[�^�x�[�X�ԂŃX���[�Y�Ȉڍs���ł���B��̃X�N
���v�g�ŕ����̃f�[�^�x�[�X�ɃA�N�Z�X�ł���B�ڂ�����DBI-FAQ��Q�Ƃ���
�������B����������_����܂��F DBI�C���^�[�t�F�[�X�͂܂��J�����Ńo
�[�W�������ǂ�ǂ�ς��Ă��܂�(��J����o���Ȃ������ɐV������̂ɕ�
���Ă��܂����Ƃ���܂�)�B���l�ɂ��ꂼ��̃f�[�^�x�[�X�h���C�o��
�A�b�v�f�[�g������̃C���^�[�t�F�[�X�o�[�W�����Ɉˑ����Ă��邱�Ƃ�
��܂��B�����ɃC���X�g�[���������[�U�[�͂��̕����ŋ������o�[�W�������
�g��Ȃ��Ƃ����Ȃ�������܂���B�Ƃ����̂��̃o�[�W�����ł͕��G��
�Ȃ��Ă��܂�����A�e�X�g�̃g���u���V���[�e�B���O��Ӗ��̂Ȃ���̂ɂȂ�
�Ă��܂����Ƃ����邩��ł��B
3.8.2. MsqlPerl
MsqlPerl ��perl�X�N���v�g����msql�ɒ��ڃA�N�Z�X���邽�߂̃��C�u������
���B DBI�C���^�[�t�F�[�X����ĂƂĂ�R���p�N�g�ł��B msql�̗��o�[
�W�����Ƃ�悭���삵�܂����A���̎g�����͈�ʉ����ꂽDBI �C���^�[�t�F�[
�X��g��(promoted)���Ƃ͂ł��܂���B�ł����������V�X�e���ŃC���X�g�[��
���e�ՂȂ̂őI���C���^�[�t�F�[�X�Ƃ��܂��B����DBI����̃f�[�^�x
�[�X�h���C�o����o�[�W�����Ɉˑ����܂���B
3.8.3. msql�̃X�N���v�g����FLite
msql-2�ł̓X�N���v�g����(Lite)����Ă��܂��B���̌���̓V�F�����C�N��
������lj����������ƕς�����̂ł�(�����Perl�o�[�W�����Ɏ��Ă���
��)�B Lite�̓V���v���Ȍ����msql-2�}�j���A���ɏڂ���������Ă���
���Bmsql-2 �p�b�P�[�W�ɂ�Lite��g�����ȒP�ȃA�v���P�[�V������������
���܂��B
Lite�ɂ��Ă͗D�ꂽ����(msql-2�ɓ��肵����e)������̂ł����ł�Lite��
���Ă͐����܂���B�܂����̕�����ǂ�ł���ǎ҂�perl�ɂ��Ċ�b�I
�ȗ�������̂Ƒz�肵�Ă��܂��B�ł���Lite��悭���ׂĂ݂邱�Ƃ��
�߂��܂��BLite�͂��̃V���v���Œ��ϓI�ȊT�O�Ɋւ���msql-2��(���̃f�[
�^�x�[�X�ōs���Ă���悤��) �ł̉����Ă���ꍇ������܂��B
3.9. ��ʓI�ȕ��@�FDBI �� DBD-msql
���łɃV�X�e���ݒ��perl��C���X�g�[�����Ă��邩��L�����p�b�P�[�W�}�l
�[�W����g����perl�������Ă����̂Ƃ��܂��Bperl�ɂ��Ă͏ڂ����q�ׂ�
����B perl�̃o�[�W�������ɂ́A
# perl -v
�Ƃ��܂��B perl�͈ȉ��̃��b�Z�[�W��\�����܂��B
This is perl, version 5.003 with EMBED
Locally applied patches:
SUIDBUF - Buffer overflow fixes for suidperl security
built under linux at Apr 22 1997 10:04:46
+ two suidperl security patches
Copyright 1987-1996, Larry Wall
[...]
����Ŗ��Ȃ���A���̓f�[�^�x�[�X�p��perl���C�u����(DBI)�Amsql�h��
�C�o (DBD-mSQL)�ACGI��C���X�g�[�����܂��BCGI�h���C�o�͂����ȏ�ʂ�
�K�v�ɂȂ�܂��B�R�̃A�[�J�C�u���K�v�ł��F
1. DBI-0.81.tar.gz
2. DBD-mSQL-0.65.tar.gz
3. CGI.pm-2.31.tar.gz (���邢�͂���ȏ�̂��)
���S�҂̕��ɒ��ӂ�����܂��B�����܂łŏq�ׂĂ����e�X�g�C���X�g�[��
�͏�L�����o�[�W������g���Đ��m�ɓ����Ă��܂��B���̃o�[�W�����ł�
�G���[�ƂȂ邩����܂���B���ׂ̂���o�[�W�����̃f�o�b�O�͌Ăяo
���̋K��(conventions)��C���^�[�t�F�[�X�ɂ��ďڂ����Ȃ��l�ɂ͂ǂ�
���悤����܂���B
���������Ă����̂�l�[������̂���̕��@�ł������\��������
���ύX����Ă��邱�Ƃ��������肵�܂��B������ ����܂ł͐V�����o�[�W��
���ɏオ���Ă��Ă�A���S�Ɏg�������̂ł�������ŏЉ���o�[�W������
����悤�S�����ĉ������B
mSQL((DBD-mSQL)�p�̃f�[�^�x�[�X�h���C�o�̓C���^�[�t�F�[�X(generic
interface) DBI�̌�ɃC���X�g�[������Ƃ������Ƃ͏d�v�ł��B
�I���W�i����perl�f�B���N�g����ۑ����邽�߂�/usr/local/PerlModules/
�f�B���N�g�����邱�Ƃ���n�߂܂��B�f�B���N�g�����͓��Ɍ����Ă��Ȃ���
�ł���Ƃ͈Ⴄ���O�ɂ��邱�Ƃ�ł��܂�(�ǂ�perl���W���[����README�t�@
�C���ɂ�f�B���N�g�����ɂ��Ă͏�����Ă��܂���)�B��L�̃A�[�J�C�u��
/usr/local/PerlModules/�ɃR�s�[���āA
# tar xzvf [archive-file]
�R�̃A�[�J�C�u��ꂼ��W�J���܂�([archive-file]�̓A�[�J�C�u���ɒu
�������ĉ�����)�B
�R�̃��W���[���̃C���X�g�[���v���Z�X�͒ʏ�ʂ�s���܂�(���̃h�L����
���g�ł͊e�p�b�P�[�W�ŏd�v�Ȃ�̂�������o���Ă��܂�)�B
3.9.1. perl�f�[�^�x�[�X�C���^�[�t�F�[�X DBI �̃C���X�g�[��
�f�[�^�x�[�X�C���^�[�t�F�[�X�͓���̃f�[�^�x�[�X�h���C�o��C���X�g�[��
����O�ɓ���Ă����ĉ������BDBI�A�[�J�C�u��W�J�����
/usr/local/PerlModules/DBI-0.81/�f�B���N�g���������̂ł��̃f�B���N
�g���Ɉړ����܂��BREADME�t�@�C����perl�pmakefile������܂��B
# perl Makefile.PL
�Ǝ��s���ĉ������B���X�ƃ��b�Z�[�W���\������܂��B���̂����d�v�ȉӏ���
���p���܂��B
[...]
MakeMaker (v5.34)
Checking if your kit is complete...
Looks good
NAME => q[DBI]
PREREQ_PM => { }
VERSION_FROM => q[DBI.pm]
clean => { FILES=>q[$(DISTVNAME)/] }
dist => { DIST_DEFAULT=>q[clean distcheck disttest [...]
Using PERL=/usr/bin/perl
WARNING! By default new modules are installed into your 'site_lib'
directories. Since site_lib directories come after the normal library
directories you MUST delete old DBI files and directories from your 'privlib'
and 'archlib' directories and their auto subdirectories.
Writing Makefile for DBI
�����Ǝ��s����Ă���悤�ł��B����
# make
�Ǝ��s���܂��B���G���[���b�Z�[�W���o�Ȃ����(��ʂɕ\�������v���g
�R���̓G���[���b�Z�[�W�ł͂���܂���)�A�V�����C���X�g�[������郉�C�u
������e�X�g���܂��B
# make test
�\�������o�͂�[Shift]-[PgUp]�ŃX�N���[���ł��܂��B
[...]
t/basics............ok
t/dbidrv............ok
t/examp.............ok
All tests successful.
[...]
DBI test application $Revision: 1.2 $
Switch: DBI-0.81 Switch by Tim Bunce, 0.81
Available Drivers: ExampleP, NullP, Sponge
ExampleP: testing 2 sets of 5 connections:
Connecting... 1 2 3 4 5
Disconnecting...
Connecting... 1 2 3 4 5
Disconnecting...
Made 10 connections in 0 secs ( 0.00 usr 0.00 sys = 0.00 cpu)
test.pl done
�Ō�ɃC���X�g�[������f�B���N�g���Ƀt�@�C�����܂��B
# make install
���̃R�}���h�͏\���Ɋm�F���Ă����s���ĉ������B����ȏシ�邱�Ƃ͂���
�܂���B���Ȃ�炩�̗��R�ŃC���X�g�[���Ɏ��s������Y��Ȃ������ɍ��
���蒼���ĉ������B
# make realclean
�܂��͂��߂ɁB���̃R�}���h�͑O�̃C���X�g�[���ŕs�p�Ȃ�̂�폜���܂��B
�܂���ʂ̕\��(�ȉ��ȗ����ċ����܂���)��R�s�[���ăC���X�g�[�������t�@
�C����폜�ł��܂��B
Installing /usr/lib/perl5/site_perl/i386-linux/./auto/DBI/DBIXS.h
Installing /usr/lib/perl5/site_perl/i386-linux/./auto/DBI/DBI.so
Installing /usr/lib/perl5/site_perl/i386-linux/./auto/DBI/DBI.bs
[...]
Writing /usr/lib/perl5/site_perl/i386-linux/auto/DBI/.packlist
Appending installation info to /usr/lib/perl5/i386-linux/5.003/perllocal.pod
����Installing��rm�ɒu�������܂��B�����uninstall�ɕۑ�����
# . uninstall
�Ǝ��s����A�C���X�g�[�����ꂽ�t�@�C�����폜����܂��B
3.9.2. perl �� msql �h���C�o DBD-mSQL
msql�h���C�o��perl�f�[�^�x�[�X(generic database)�C���^�[�t�F�[�X�̃C��
�X�g�[�������܂���������ɃC���X�g�[�����܂��B�C���X�g�[���ߒ��͏�L��
���X�e�b�v�Ɠ����ł��B
# perl Makefile.PL
�����ŃV�X�e���͓Y�t�h�L�������g��ǂނ悤�Ɍx����\�����܂��B������
msql�̏ꏊ����܂��B
$MSQL_HOME not defined. Searching for mSQL...
Using mSQL in /usr/local/Hughes
-> Which version of mSQL are you using [1/2]?
�������o�[�W������͂��ĉ������B�ȉ�2,3�s��\�����܂��B
Splendid! Your mSQL daemon is running. We can auto-detect your configuration!
I've auto-detected your configuration to be running on port: 1114
�ȉ��̂悤�ɂ��ăh���C�o�̃e�X�g��܂��B
# make test
�Ăђ����o�͂�����A
Testing: $cursor->func( '_ListSelectedFields' ). This will fail.
ok: not a SELECT in msqlListSelectedFields!
Re-testing: $dbh->do( 'DROP TABLE testaa' )
ok
*** Testing of DBD::mSQL complete! You appear to be normal! ***
�ŏI��܂��B����ő��v�ł��B
# make install
�Ƃ��ăC���X�g�[�����܂��B�������ł����̂Ŏ��̐߂͔���Ă��������B
3.10. MsqlPerl�C���^�[�t�F�[�X
��MsqlPerl�̕���I�Ȃ�AMsqlPerl-1.15.tar.gz�ȊO�ɓ���̃f�[�^�x
�[�X�h���C�o(generic database driver)�͕K�v����܂���B�n�߂ɏ�������
���� MsqlPerl��perl�ƃf�[�^�x�[�X�T�[�o�Ԃ�DBI�C���^�[�t�F�[�X��g�킸
�ɒ��ڂ�����邩��ł��B���ڃC���X�g�[���A�e�X�g���܂��B
perl Makefile.PL�Ǝ��s����ƃ��[�e�B���e�B���X�^�[�g���܂��B�͂��߂ɂ�
����mSQL�����邩�����܂��B/usr/local/Minerva/�Ȃ�f�t�H���g�̂܂܂ł�
���ł��B
������make test�Ƃ��܂��B���̑O��test�Ƃ����f�[�^�x�[�X�����邱�Ƃ�m
�F���ăp�[�~�b�V������ǂݏ����\�ɂ��ĉ������B
# msqladmin create test
�Ǝ��s���܂��B
3.11. perl��CGI���C�u����
perl��CGI�p�[�g�͂R�̃V���v���Ȓi�K�ɂ킩��Ă��܂��B�ȉ��̃R�}���h
��s���ĉ������B
# perl Makefile.PL
# make
# make install
�O�̃h���C�o�ƈႢ�A���̃C���^�[�t�F�[�X�̓e�X�g�I�v�V���� (# make
test)����Ă��܂���B�Ƃ��낪���̃��W���[���͔C�ӂ̃P�[�X�Ńe�X�g��
���K�v������܂��B
CGI�̃T���v���X�N���v�g������T�u�f�B���N�g��������ō���܂��B����
�f�B���N�g���̒��g��/home/http/cgi-bin/�ɃR�s�[���ăX�N���v�g�̃e�X�g
�̂��߂Ƀu���E�U��N�����Ă݂ĉ������B
3.12. �`�F�b�N���X�g�̃C���X�g�[��
�ȉ��̏��ɍ�Ƃ�i�߂܂��B
1. Linux��l�b�g���[�N�T�|�[�g�ŃC���X�g�[������
2. http�T�[�o�̃C���X�g�[��(Apache�Ȃ�)
3. �u���E�U�̃C���X�g�[��(Arena, lynx, Netscape�Ȃ�)
4. SQL�T�[�o�̃C���X�g�[��(msql)
5. �K����perl SQL�C���^�[�t�F�[�X��C���X�g�[��
6. CGI�t�@�C���̃C���X�g�[��
�Ō�ɃN���[���A�b�v��s���܂��B�o�C�i����h�L�������g�͈قȂ�f�B
���N�g���ɂ���̂�msql�̃\�[�X�c���[��perl���W���[���͈��S�̂��߂�
�폜���Ă����܂� (�A�[�J�C�u�t�@�C���͍폜���Ȃ��Ă悢�ł�)�B
4. �e�X�g�f�[�^�x�[�X�̎��s
�V�X�e���C���X�g�[���I����A���f���A�v���P�[�V������s���邱�Ƃ��ł�
�܂��B�C���X�g�[������msql�̃o�[�W������perl�f�[�^�x�[�X�C���^�[�t�F�[
�X�Ɉˑ������A�T���v���v���O������Q�`�R�C�����Ȃ�������܂���B
�܂�/home/httpd/html/�ɂ���index.html�t�@�C�����T���v���f�[�^�x�[�X�A
�v���P�[�V������Ăяo���悤�ɏC�����܂��B/home/httpd/html/test/�̃f�[
�^�x�[�X(�A�[�J�C�u����perl.lst.ck�ł����Adatabase.cgi ���邢
��inventur.cgi�ƌĂт܂�)�ɒu�������܂��B
index.html�Ɉ�s��lj����܂�(�����e���̃C���X�g�[���ɍ��킹�ĉ���
��)�B
______________________________________________________________________
<LI>Test the <A HREF="test/database.cgi">Database, DBI:DBD-mSQL style!</A>
<LI>Test the <A HREF="test/inventur.cgi">Database, MsqlPerl style!</A>
______________________________________________________________________
�ʏ�͂��̂Q�̂���������I���̂ł����A�������Ƃ�C���X�g�[
�����Ă���ꍇ�͏�̂悤�ɂQ�s��lj����邱�Ƃ�ł��܂��B�Q��g�����
�p�t�H�[�}���X�Ȃǂ��r���邱�Ƃ�ł��܂��B
4.1. MsqlPerl�T���v���X�N���v�g�̒lj�
�T���v���X�N���v�g��MsqlPerl�C���^�[�t�F�[�X��g���悤�ɂ��܂��B���̂�
�߂ɓK���ȉӏ���������܂��B�͂��߂Ƀt�@�C���̂͂��߂������use �w��
��ύX���܂��B
______________________________________________________________________
#
# use DBI; # Generisches Datenbank-Interface
use Msql;
______________________________________________________________________
������27�s�t�߂�MsqlPerl syntax������̃h���C�o��K�v�Ƃ��Ȃ��悤�ɂ�
�܂��B
______________________________________________________________________
# $dbh = DBI->connect($host, $database, '', $driver) ||
$dbh = Msql->connect($host, $database) ||
______________________________________________________________________
�܂�33�s����Ō�܂�do��query�ɕύX���܂��B
______________________________________________________________________
# $dbh->do("SELECT * FROM hw") || db_init($dbh);
$dbh->query("SELECT * FROM hw") || db_init($dbh);
______________________________________________________________________
�Ō�ɁA207�s��R�����g�A�E�g���܂��B
______________________________________________________________________
# $sth->execute || msg("SQL Error:", $sth->errstr);
______________________________________________________________________
�܂�errmsg�ɑ���O�̃R�[�h�t���O�����g�̈�̂悤�ɑSerrstr�R�[����
�X���b�v����K�v������܂��B����̓o�[�W�����Ɉˑ������̂ł��B�ȏ��
��Ƃ��I��������X�N���v�g�̓X���[�Y�Ɏ��s����܂��B
4.2. msql-2�p�T���v���X�N���v�g�̒lj�
SQL syntax��mslq-2�̊J�����ɍĒ�`����܂����B�I���W�i���X�N���v�g��
45�`58�s�Ƀe�[�u���������X�e�[�g�����g��s���邱�Ƃ͂ł��܂���B
primary key modifier��msql-2�ł͂��T�|�[�g����Ă��܂���B�ȉ���X
�L�b�v���܂��F
______________________________________________________________________
$dbh->do(<<EOT) || die $dbh->errstr; # Neue Personen-Tabelle �V�K�l�e�[�u��
create table person (
# We do not need the 'primary key' modifier anymore in msql-2!
# pn int primary key, # Personalnummer�l�ԍ�
pn int, # Personalnummer
name char(80), # Nachname, Vorname ���A��
raum int # Raumnummer��Ԕԍ�
)
EOT
$dbh->do(<<EOT) || die $dbh->errstr; # Neue Hardware-Tabelle
create table hw (
# We do not need the 'primary key' modifier anymore in msql-2!
# asset int primary key, # Inventurnummer �Ǘ��ԍ�
asset int, # Inventurnummer
name char(80), # Bezeichnung ����
person int # Besitzer ���L��
)
EOT
______________________________________________________________________
���̃X�N���v�g�͌l�ԍ���������̂�V�����G���g���[���Ă��܂��܂��B
msql-1��primary key��̓����h���̂Ɏg���܂��Bmsql-2�h�L�������g
��CREATE INDEX���B��̃G���g�����s������@�ɂ��ď�����Ă��܂��B
5. �܂Ƃ߂ƍ���̌��ʂ�
��msql-2��V�X�e���ɃC���X�g�[�����Ă���Ȃ�ALite, msql-2�̃X�N���v
�g����ŏ����ꂽ�T���v���v���O�����Amsql-2�Ǝ��̃X�N���v�g������
���܂��B
msql�̂ǂ���̃o�[�W�������[�U�[�s���e�[�u��(msqladmin)�ɗ�����
�悤�ɂ����Ǘ��c�[���̊�{�Z�b�g�A�f�[�^�x�[�X�\���̃e�X�g(relshow) ��
���Ă��܂��B
�Q����ڂ�msql(msql-2)�ɂ͂�艿�l�̂��郆�[�e�B���e�B(msqlimport
��msqlexport)�����Ă��܂��B������SQL�f�[�^�x�[�X�Ƀt���b�g���C���f
�[�^�t�@�C��(flat line data file)�̃_���v����̂ł��B���łɂ���f
�[�^d'un coup��łɂ���e�[�u���ɓǂݍ���t���b�g�f�[�^��e�[�u
������W�J�����肷��̂Ɏg���܂��B���[�U�[�͂��̍�Ƃ�邽��
��perl��SQL���邢�͂ǂ̂悤�ȃR�[�h�ł�P�s�ŏ������Ƃ͂ł��܂���B
���f�[�^�x�[�X���舵��perl�X�N���v�g��������ꍇ�̓T���v���t�@�C
����ADBI���W���[���ɕ������Ă���L�͈͂ɓn�����I�����C���h�L�������g
��Q�Ƃ��ĉ������B
�Ƃɂ�������Ńl�b�g���[�N���[�U�[�AWWW�̃��[�U�[�Ƀf�[�^��\�����鏀
�����ł��܂����B
[���{���F�ɍ��� �N,
[email protected]
���{���ɂ��Ċ��z�A�����Ȃǂ���܂����炲�A��������]