Zope 2�Fdev blog/CMS �C���X�g�[���K�C�h�i2/3 �y�[�W�j
» 2004�N12��17�� 12��40�� ���J
�@�O�q�̂悤��Zope�͎��O��HTTP�T�[�o�@�\�������Ă���B�W���ł�8080�ԃ|�[�g�ŋN������B
�@�����ł́A�T�[�o��ŗ��p����HTTP�T�[�o��Zope�Ő�L������̂Ƃ��āA�|�[�g��80�ԂɕύX���A���s���[�U���uzope�v�ɐݒ肷����@���Љ�悤�i�V�X�e���A�J�E���g�uzope�v�́A���炩���ߍ쐬���Ă����j�B
�@Linux�ł͈�ʓI�ɁAHTTP�T�[�o��80�ԂŋN�����邽�߂ɂ�root�������K�v�����AZope�̓Z�L�����e�B��̗��R����root�̂܂܂ł͓��삵�Ȃ��悤�ɂȂ��Ă���B���̂��߁AZope��80�ԃ|�[�g�œ����������ꍇ�ɂ́A�ȉ��̐ݒ肪�K�{���B
$ cd /usr/local/zope/instance/MyZopeSite1
$ ls
�@��L�̎w���Zope�C���X�^���X�̊K�w�Ɉړ����ăt�@�C���m�F������ƁA�ȉ��̂悤�Ȃ��̂�����ł��邱�Ƃ�������B
bin - Zope�̋N���E�I���X�N���v�g�Ȃ�
etc - �ݒ�t�@�C���uzope.conf�v
var - �f�[�^�uData.fs�v�Ȃ�
log - ���O
import - .zexp�t�@�C���iZope�o�C�i���j�̒u���ꏊ
Products - �v���_�N�g�i�@�\�g���v���O�C���j�̒u���ꏊ
Extensions - External Method�i�O�����\�b�h�j�̒u���ꏊ
�@���̒���etc�ɂ���uzope.conf�v���T�[�o�̐ݒ�t�@�C���ł���AApache�Ǝ����ݒ�L�q�t�H�[�}�b�g�ɂȂ��Ă���B���̃t�@�C�����G�f�B�^�œǂݍ��݁A����2����ҏW����i�s�́u#�v�ȍ~���e�̓R�����g�j�B
�`�t�@�C����A4����1���x�̌��`
# Directive: effective-user
�`�����`
# Example:
# effective-user chrism
effective-user zope # <- �lj�
�`�t�@�C����A�ł��Ō�̌��ӂ�`
# Directives: servers
�`�����`
# Default:
#
# An HTTP server starts on port 8080, an FTP server starts on port
# 8021.
<http-server>
# valid keys are "address" and "force-connection-close"
#address 8080 # <- �R�����g�A�E�g
address 80 # <- �lj�
# force-connection-close on
</http-server>
<ftp-server>
# valid key is "address"
#address 8021 # <- �R�����g�A�E�g
address 21 # <- �lj�
</ftp-server>
�@�Ȃ�Zope�ɂ�FTP�T�[�o�@�\���p�ӂ���Ă���B�����ł͂��̃|�[�g�ԍ���8021����21�ɕύX�����BFTP�T�[�o�𗧂Ă����Ȃ��ꍇ�ɂ́A���̂悤�ɃR�����g�A�E�g���Ă����悢�B
#<ftp-server>
# # valid key is "address"
# address 8021
#</ftp-server>
�@��L�̐ݒ�ŁAroot��Zope���N������ƁA80�ԃ|�[�g�ŃT�[�o���N�����A���s���[�U���uzope�v�ɐ�ւ��B
�@���̏ꍇ�A�uzope�v�A�J�E���g�Ńf�[�^�ƃ��O�̏������݂��ł���K�v�����邽�߁AZope�C���X�^���X�́uvar�v�Ɓulog�v��owner���uzope�v�ɕύX���Ă������B
$ cd /usr/local/zope/instance/MyZopeSite1
$ su
# chown zope:zope var
# chown zope:zope log
�@�ȏオ�ALinux����Zope��80�ԃ|�[�g�ŋN�����邽�߂̐ݒ肾�B8080�Ȃǂ̔�����|�[�g�ł悯��Aroot�ł͂Ȃ��A�J�E���g��home�̈�Ȃǂ�Zope�C���X�^���X���쐬���A���̃A�J�E���g�̂܂܋N�����邱�Ƃ��\�ł���B
�@Zope�T�[�o�\�t�g�̋N�����@�͎��̂悤�ɂȂ�B
$ cd /usr/local/zope/instance/MyZopeSite1/bin/
$ ./zopectl start
�@Apache�ȂǁA�ق��̃T�[�r�X��80�ԃ|�[�g�œ��삵�Ă���ꍇ�ɂ́A���O�ɒ�~���Ă����K�v������B��L�̎w�蒼��Ɏ��̃��b�Z�[�W���\��������OK���B
. . daemon process started, pid=12345
�@�܂��AZope�T�[�o�\�t�g���I�����邽�߂ɂ́A���̂悤�Ɏw�肷��悢�B�����ł͏I�����Ȃ��ʼn���𑱂��Ă���B
�@���邢�́A���̂悤�ɋN�����邱�Ƃ��\���B
�@���̏ꍇ�A�N�����̏ڂ������b�Z�[�W���\�������B�N���Ɏ��s���Ă��܂��ꍇ�́A�����ŕ\�������G���[���b�Z�[�W�������̃q���g�ɂȂ�B���̋N�����@�̏ꍇ�ACtrl�{C�L�[�ȂǂŏI������悢�B
�@���y�[�W�ł́A���悢��CMS�̊j�ƂȂ�Ǘ���ʂւ̃A�N�Z�X���@�ƁA��v��ʂ̋@�\������B
Copyright © ITmedia, Inc. All Rights Reserved.
';
e_dlv.innerHTML = html;
adRequest({position:dlv_pos,dom:true});
}else if(ad_type === 'gam'){
var html = '
';
e_dlv.innerHTML = html;
refreshGam('InArtSpecialLink');
}else if(ad_type === 'logly'){
var html = '
';
e_dlv.innerHTML = html;
loglySet(g_id);
}else if(ad_type === 'google'){
var html = '
';
e_dlv.innerHTML = html;
googletag.cmd.push(function(){
var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
googletag.display('div-gpt-ad-1551176482959-0');
googletag.pubads().refresh([slot8]);
});
}
};
var insert_ok = function(_target,_str){
var clearfix = d.createElement('div');
clearfix.className = 'colBoxClear';
if(ad_float_fix){
e_body.insertBefore(e_dlv,_target);
e_body.insertBefore(clearfix,_target.nextElementSibling);
}else{
e_body.insertBefore(e_dlv,_target);
}
set_dlv();
};
var insert_ng = function(_str){
e_dlv.style.display = 'none';
};
var main = function(){
var e_nodes = e_body.childNodes; // BODY �����q�v�f
var e_tags = []; // BODY �����^�O
var p_num = []; // BODY ���� P �^�O�ʒu
var p_target_num; // �g�}����ʒu
var o_float = {}; // ��荞�ݗv�f
var o_this = {}; // �A�N�e�B�u�^�O
var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O
var flag_insert = 0; // �}���t���O
// ��荞�ݗv�f�`�F�b�N
var check_float = function(_e){
var e = 0;
if(_e.id.match(/^col\d{3}(l|r)$/)){
e = _e;
}
return e;
};
// �v�f�� Y ���W�ƍ����̍��v�l
var get_element_y = function(_e){
var ey = 0;
var eh = _e.offsetHeight;
while(_e){
ey += _e.offsetTop;
_e = _e.offsetParent;
}
return ey + eh;
};
var check_ptag = function(_e){
var e = 0;
if(_e.tagName && _e.tagName === 'P'){
e = _e;
}
return e;
};
var try_insert = function(){
p_target_num = Math.floor(p_num.length / 2) - 1;
if(p_target_num >= _maxrange) p_target_num = _maxrange;
if(dis_con) p_target_num = 0;
for(var i = p_num[p_target_num]; i < e_tags.length; i++){
o_this.e = check_ptag(e_tags[i]);
if(o_this.e){
o_next.e = check_ptag(e_tags[i + 1]);
if(o_next.e){
if(!o_float.e || check_float(e_tags[i - 1])){
o_float.e = check_float(e_tags[i - 1]);
o_float.n = i - 1;
}
if(o_float.e && o_float.n < i + 1){
o_float.y = get_element_y(o_float.e);
o_this.y = get_element_y(o_this.e);
set_line(o_float.y,'red');
set_line(o_this.y,'blue');
if(o_float.y < o_this.y){
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���');
break;
}
}else{
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�');
break;
}
}
}else{
o_float = {};
}
}
if(!flag_insert){
insert_ng('�}���ʒu�Ȃ�');
}
};
// �S�q�v�f����^�O�̂ݔz��ɓ����
for(var i = 0; i < e_nodes.length; i++){
if(e_nodes[i].tagName){
e_tags.push(e_nodes[i]);
}
}
// �S�^�O���� P �^�O�ʒu��z��ɓ����
for(var i = 0; i < e_tags.length; i++){
if(e_tags[i].tagName === 'P') p_num.push(i);
// �ŏ��̉�荞�ݗv�f���i�[
if(!o_float.e){
o_float.e = check_float(e_tags[i]);
o_float.y = get_element_y(o_float.e);
o_float.n = i;
}
}
if(p_num.length >= _threshold){
try_insert();
}else{
insert_ng('P �^�O ' + _threshold + ' �ȉ�');
}
};
if(e_body){
main();
}else{
insert_ng('�L���{���Ȃ�');
}
})(document,4,5);