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

でわ。

Windowsでのファイルバックアップについて

新しい端末への乗り換えの時とか、前の端末のデータをバックアップしたり、

新しい端末へコピーしたりするのだが・・・

10GB未満なら、まぁ、ちょっと時間かかるけど普通にコピーして済ませちゃいいます。

が、それ以上だと時間がかかる。

翌朝もまだやってたりする。

しかも、エラー出たらやり直し。。

と、それで、前は xcopy コマンドを使ってました。

が、フルパスが255Byte以上だと、エラーで落ちてしまうのです。

※エラーを無視するオプションをつけていてもダメ

なので、WindowsResourceKIT なるものをDLし、robocopy を使用しました。

このコマンドは、Source と Destination の同期を取ってくれたりする。

こんな感じ。

robocopy /mir <Source> <Destination>

これでさっくりと解決。

オプションは色々ありますが、割愛。

詳しくは以下を見てくださいな。

http://www.microsoft.com/japan/technet/windowsserver/2008/library/d4c6e8e9-fcb3-4a4a-9d04-2d8c367b6354.mspx?mfr=true

で、あとは、終わるのを待つだけ。

明らかにエクスプローラ上でコピーするより早いです。

便利がいい。

でわ。