サーバとか」カテゴリーアーカイブ

Plone準備( Python-2.5.2 + Zope-2.10.6インストール ) その2

その1の続き

Plone 入れる前に、ちょっと細かいところを。

  • Zope のインストールディレクトリにシンボリックリンクを張る

# cd /usr/local/

# ln -s zope_2.10.6 zope

  • Zope を動作させるユーザを追加する

$ su –

# adduser -d /home/zope zpoe

  • パスワードの設定

# passwd zope

  • Zopeインストールディレクトリ配下を、zope:zope に変更

# chown -R zope:zope /usr/local/zope_2.10.6

※元々zopeユーザで configure / make してればいらない作業かも?

  • zope ユーザになって、zopeの初期設定をするスクリプトを動かす

# cd /usr/local/zope/bin

# ./mkzopeinstance.py

Please choose a directory in which you’d like to install

Zope “instance home” files such as database files, configuration

files, etc.

Directory: /usr/local/zope → Zopeインストールディレクトリ

Please choose a username and password for the initial user.

These will be the credentials you use to initially manage

your new Zope instance.

Username: admin → 管理者アカウント

Password: → 管理者パスワード

Verify password: → もう一回パスワード

※mkzeoinstance.py と間違え易いので注意

  • Zopeのデフォルトエンコードがiso-8859-15 なので、これを utf-8 に変更

# cd /usr/local/zope/etc

# vi zope.conf

default-zpublisher-encoding utf-8

これで、初期設定完了

んじゃ、zope を動かしてみましょうか

# su – zope

$ cd /usr/local/zope/bin

$ ./zopectl start

Traceback (most recent call last):

File “/usr/local/Zope_2.10.6/lib/python/Zope2/Startup/zopectl.py”, line 334, in <module>

exitstatus = main()

File “/usr/local/Zope_2.10.6/lib/python/Zope2/Startup/zopectl.py”, line 290, in main

options.realize(args)

File “/usr/local/Zope_2.10.6/lib/python/Zope2/Startup/zopectl.py”, line 95, in realize

ZDOptions.realize(self, *args, **kw)

File “/usr/local/Zope_2.10.6/lib/python/zdaemon/zdoptions.py”, line 273, in realize

self.load_schema()

File “/usr/local/Zope_2.10.6/lib/python/zdaemon/zdoptions.py”, line 321, in load_schema

self.schema = ZConfig.loadSchema(self.schemafile)

File “/usr/local/Zope_2.10.6/lib/python/ZConfig/loader.py”, line 31, in loadSchema

return SchemaLoader().loadURL(url)

File “/usr/local/Zope_2.10.6/lib/python/ZConfig/loader.py”, line 65, in loadURL

return self.loadResource(r)

File “/usr/local/Zope_2.10.6/lib/python/ZConfig/loader.py”, line 159, in loadResource

schema = ZConfig.schema.parseResource(resource, self)

File “/usr/local/Zope_2.10.6/lib/python/ZConfig/schema.py”, line 27, in parseResource

xml.sax.parse(resource.file, parser)

File “/usr/local/python_2.5.2/lib/python2.5/xml/sax/__init__.py”, line 33, in parse

parser.parse(source)

File “/usr/local/python_2.5.2/lib/python2.5/xml/sax/expatreader.py”, line 107, in parse

xmlreader.IncrementalParser.parse(self, source)

File “/usr/local/python_2.5.2/lib/python2.5/xml/sax/xmlreader.py”, line 123, in parse

self.feed(buffer)

File “/usr/local/python_2.5.2/lib/python2.5/xml/sax/expatreader.py”, line 207, in feed

self._parser.Parse(data, isFinal)

File “/usr/local/python_2.5.2/lib/python2.5/xml/sax/expatreader.py”, line 301, in start_element

self._cont_handler.startElement(name, AttributesImpl(attrs))

File “/usr/local/Zope_2.10.6/lib/python/ZConfig/schema.py”, line 99, in startElement

getattr(self, “start_” + name)(attrs)

File “/usr/local/Zope_2.10.6/lib/python/ZConfig/schema.py”, line 475, in start_schema

keytype, valuetype, datatype = self.get_sect_typeinfo(attrs)

File “/usr/local/Zope_2.10.6/lib/python/ZConfig/schema.py”, line 201, in get_sect_typeinfo

datatype = self.get_datatype(attrs, “datatype”, “null”, base)

File “/usr/local/Zope_2.10.6/lib/python/ZConfig/schema.py”, line 194, in get_datatype

return self._registry.get(dtname)

File “/usr/local/Zope_2.10.6/lib/python/ZConfig/datatypes.py”, line 398, in get

t = self.search(name)

File “/usr/local/Zope_2.10.6/lib/python/ZConfig/datatypes.py”, line 423, in search

package = __import__(n, g, g, component)

File “/usr/local/Zope_2.10.6/lib/python/Zope2/Startup/datatypes.py”, line 21, in <module>

import OFS.Uninstalled

File “/usr/local/Zope_2.10.6/lib/python/OFS/Uninstalled.py”, line 16, in <module>

import SimpleItem, Globals, Acquisition

File “/usr/local/Zope_2.10.6/lib/python/OFS/SimpleItem.py”, line 26, in <module>

import AccessControl.Role, AccessControl.Owned, App.Common

File “/usr/local/Zope_2.10.6/lib/python/AccessControl/__init__.py”, line 17, in <module>

from Implementation import setImplementation

File “/usr/local/Zope_2.10.6/lib/python/AccessControl/Implementation.py”, line 98, in <module>

setImplementation(“C”)

File “/usr/local/Zope_2.10.6/lib/python/AccessControl/Implementation.py”, line 51, in setImplementation

from AccessControl import ImplC as impl

File “/usr/local/Zope_2.10.6/lib/python/AccessControl/ImplC.py”, line 18, in <module>

from cAccessControl import rolesForPermissionOn, \

File “/usr/local/Zope_2.10.6/lib/python/AccessControl/SimpleObjectPolicies.py”, line 82, in <module>

from DocumentTemplate.DT_Util import TemplateDict

File “/usr/local/Zope_2.10.6/lib/python/DocumentTemplate/__init__.py”, line 21, in <module>

from DocumentTemplate import String, File, HTML, HTMLDefault, HTMLFile

File “/usr/local/Zope_2.10.6/lib/python/DocumentTemplate/DocumentTemplate.py”, line 112, in <module>

from DT_String import String, File

File “/usr/local/Zope_2.10.6/lib/python/DocumentTemplate/DT_String.py”, line 19, in <module>

from DT_Util import ParseError, InstanceDict, TemplateDict, render_blocks, str

File “/usr/local/Zope_2.10.6/lib/python/DocumentTemplate/DT_Util.py”, line 19, in <module>

from html_quote import html_quote, ustr # for import by other modules, dont remove!

File “/usr/local/Zope_2.10.6/lib/python/DocumentTemplate/html_quote.py”, line 4, in <module>

from ustr import ustr

File “/usr/local/Zope_2.10.6/lib/python/DocumentTemplate/ustr.py”, line 18, in <module>

nasty_exception_str = Exception.__str__.im_func

AttributeError: ‘wrapper_descriptor’ object has no attribute ‘im_func’

ちょwwwwwwwwwwwwwwww

エラー出過ぎwwwwwwwwwwwwwwww

色々調べたところ、Python 2.5系ではダメっぽい

ん~・・・

2.4系に戻してもう一度やってみよう

デフォルトで入っていた 2.4.3 では怒られたので、次回は、2.4系の最新の、2.4.5 でやってみようと思う

でわ

Plone準備( Python-2.5.2 + Zope-2.10.6インストール )

環境は以下。

OS:CentOS5.2(WinXP上のVMWareにて稼働)

Plone を入れる為に Zope を入れようとしたのだが、

Python-2.4.3 ではダメと怒られたので、2.5.2 を入れる。

  • まずはPython を DL

$ cd /usr/local/src

$ wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz

$ tar zxvf ./Python-2.5.2.tgz

  • そのあと、ディレクトリを別に掘って、configure

$ cd /usr/local

$ su

# mkdir python_2.5.2

# exit

$ cd /usr/local/src

$ cd Python-2.5.2

$ ./configure –prefix=/usr/local/python_2.5.2

  • んでもって、make して、make install

$ su –

# cd /usr/local/src/Python-2.5.2

# make

# make install

  • ここで、Python-2.5.2 を有効にする為に、PATHに追加

# cd /etc

# vi profile

PATH=/usr/local/python_2.5.2/bin:$PATH

# python -V

Python 2.5.2

これが出ればおk。

次は Zope

$ cd /usr/local/src

$ wget http://www.zope.org/Products/Zope/2.10.6/Zope-2.10.6-final.tgz

$ tar zxvf ./Zope-2.10.6-final.tgz

  • ディレクトリ掘って、configure

$ cd /usr/local

$ su

# mkdir zope_2.10.6

# exit

$ cd /usr/local/src

$ cd Zope-2.10.6-final

$ ./configure –prefix=/usr/local/zope_2.10.6 –with-python=/usr/local/python_2.5.2/bin/python

  • make して、make install

$ su –

# cd /usr/local/src/Zope-2.10.6-final

# make

# make install

これで、Plone 入れるだけ。

さて、また空いた時間にやります。

でわ。

CheckInstall によるRPMパッケージ化

ソースでインストールしたり、

それを管理するのが面倒な人は、使ってみてください。

CheckInstall

RPM化出来ます。

configureやったあとにRPM化するので、

既存案件の環境を保持しておきたい場合に便利だったりします。

使い方とか、そのあたりはGoogle先生がよく知っています。

気が向いたら書きます。

でわ。

VMWarePlayer + QEmu + CentOS 5.2

やってみました。

※あくまで自端末にて実施した内容です!!

 下記の通りに設定してうまくいくとは限りません!!

ホストOS:WindowsXP SP2

ゲストOS:CentOS 5.2

  • CentOS5.2 のイメージ(isoファイル)をダウンロード。

http://ftp.riken.jp/Linux/centos/5/isos/i386/CentOS-5.2-i386-bin-DVD.iso

  • VMWarePlayer をダウンロードして、インスコ。

http://www.vmware.com/jp/download/player/

  • Qemu ダウンロード。

http://www1.interq.or.jp/~t-takeda/qemu/qemu-0.9.1-windows.zip

※コマンドラインツール

  • Qemu で、vmdk ファイルを作成

qemu-img.exe create -f vmdk D:\VMWare\centos52.vmdk 35G

※ココで指定するサイズは最大サイズなので、はじめから35GBのファイルが作成されるわけではないです

  • vmxファイルの作成

この、vmxファイルに、色々と設定が書かれるのです。

で、それを作ってくれるサイトがこれ。

[VMBuilder]

http://dcgrendel.thewaffleiron.net/vmbuilder/2.0/

※Firefoxで見てくださいな

設定した内容は以下。

 ・OS

  Red Hat Enterprise Linux 4  → あとで手動で5に変更する

 ・memory

  1GB

 ・Ethernet

  AddressType = Generatad

  ConnectionType = Bridged

 ・IDE0

  Master: Enable = on

  Filename = D:\VMWare\centos52.vmdk

  Device Type = disk

  Mode = persistent

  AutoDetect = on

  Start Connected = on

 ・IDE0

  Slave: Enable

  Filename = D:\VMWare\CentOS-5.2-i386-bin-DVD.iso

  Device Type = cdrom-image

  Mode = persistent

  AutoDetect = on

  Start Connected = on

他は適宜変更な感じで。

左上の「Generate VMX File」クリックで、設定した内容が表示されるので、

それを適当な名前でテキストファイル作って、貼り付け。

D:\VMWare\centos52.vmx

  • ホストOS 側のネットワークの設定

VMWareインストールディレクトリに、「vmnetcfg.exe」があるので起動。

「ホスト仮想ネットワークの割り当て」タブを選択。

VMnet0に自分のネットワークカードを設定。

  • ゲストOSのインストール

作成した、centos52.vmx ファイルを起動すると、CentOSのインストールが開始。

あとは、普通のCentOSのインストールと同じです。

NICの部分でちょっと引っかかるかもですが、まぁ、適当に自端末の設定によって変更してくださいな。

でわ。

Dell PowerEdge R300 へ FreeBSD 6.2 をインストール

さて、障害発生です。

いきなり、インストーラが立ち上がりません。。。

どうやら、電源周りの設定がおかしいようで。

ちょろっと直して、再度インストール作業。

今度はおk。

で、無事にインストール出来たのだが、NIC が認識しない問題が発生。

筐体が新しすぎて、NIC が認識しないよう。

ココを参考に、設定を実施。

http://pc.usy.jp/wiki/index.php?PowerEdge%2FT105

# cd /usr/src/sys/dev/bge

# vi if_bgereg.h

#define BCOM_DEVICEID_BCM5721 0x1659

のしたに、

#define BCOM_DEVICEID_BCM5722 0x165A

を追加して、

# vi if_bge.c

{ BCOM_VENDORID, BCOM_DEVICEID_BCM5721 },

のしたに、

{ BCOM_VENDORID, BCOM_DEVICEID_BCM5722 },

を追加。

# cd /usr/src

# make buildkernel

# make installkernel

# reboot

で、完了。

CentOS だとサックリ出来る事も、FreeBSD では、サックリといかない。

それがまたおもしろかったりする。

でわ。

iptablesの設定

久々にiptablesを触る。

とある案件で既存システムのカスタマイズがあった。

で、CentOS にて開発環境を構築したのだが、

メール送信部分でお客さんにメールが飛んでしまうかもって事で、iptables を使って制限。

# iptables -P INPUT ACCEPT

# iptables -P FORWARD DROP

# iptables -P OUTPUT ACCEPT

#

# iptables -F

#

# iptables -A INPUT -p icmp -j ACCEPT

# iptables -A INPUT -i lo -j ACCEPT

#

# iptables -A INPUT -p tcp –dport 80 -j ACCEPT

# iptables -A INPUT -p tcp –dport 443 -j ACCEPT

# iptables -A INPUT -p tcp –dport 21 -j ACCEPT

# iptables -A INPUT -p tcp –dport 22 -j ACCEPT

# iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

# iptables -P INPUT DROP

#

# iptables -A OUTPUT -p tcp –dport 25 -j DROP

#

# /etc/rc.d/init.d/iptables save

と、まぁ、こんな感じで。

あと、sendmail が動いてないけど、25番のポートが空いていたので調査。

# netstat -ap

で、どのポートをどのアプリが使ってるかが見えるので、それで特定。

exim

という、MTA が使ってるようで。

Debian系では、デフォルトで動いてるヤツみたい。

CentOSなんだけどw

サックリ消して、対応完了。

やっぱり、Excel とにらめっこより、サーバいじりの方が楽しい。

でわ。

検索エンジンでのDBのIndexing方法

以前、業務で HyperEstraier を使用したのだが、

静的なファイル(HTMLやPDFなどなど)が対象だったです。

PostgreSQL・MySQLなどなど、DBのIndexingが出来ればいいなぁ~、と。

本家のサイト(http://hyperestraier.sourceforge.net/index.ja.html)を見ると、

DBを扱うAPIもあるのだが、ちょっと難しそうな・・・

もう少し簡単に出来ないかな・・・?

色々やってみたい。

でわ。

FMV-6000CL2 + Linux

普通にCentOS入れても起動しないす。

なんか、おかしな事になっているようで。

起動時のkernelパラメータに、

edd=off

ってのをつけてあげると起動します。

起動時にいちいちやるのが面倒なら、

grub.conf

のkernelパラメータのところに、

edd=off

って、追加してあげましょう。

って感じのメモ。

でわ。

SSL対応Apache起動時にPasswordを入力せずに起動する方法

ちょっくらセキュリティ度は下がるけど、お手軽な方法を。

1) パスワードを出力するシェルスクリプトを用意する

# vi /etc/httpd/conf.d/pass_phrase.sh

————————————————-

#!/bin/sh

echo “pass_phrase”

exit 0

————————————————-

# chmod 755 pass_phrase.sh

2) ssl.conf を編集する

SSLPassPhraseDialog builtin

→ SSLPassPhraseDialog exec:/etc/httpd/conf.d/pass_phrase.sh

3) Apacheを再起動する

これで、Apache起動時にパスワードを聞かれなくてすみます。

他にも、server.key にパスワード設定しない方法とかあるみたいだけど、

面倒そうなのでw

でわ。