欢迎各位兄弟 发布技术文章
这里的技术是共享的
$ tar zxf Plone-4.0.2-UnifiedInstaller.tgz $ cd Plone-4.0.2-UnifiedInstaller $ ls base_skeleton buildout_templates helper_scripts install.log packages README.txt version.txt buildenv.sh config.log HISTORY.txt install.sh Plone-docs tests buildenv.sh.in config.status init_scripts Licenses preflight UPGRADING.txt安装时首先要选择安装模式。 安装模式有两种:standalone和zeo cluster。前者适合独立的服务器,后者用于服务器集群。咱自己用standalone就可以啦。 另外,可以使用普通用户安装,也可以使用特权用户安装。如果作为普通用户安装的话,Plone会安装到用户用户主目录下,而如果作为特权用户安装的话,Plone则被安装到/usr/local/下。这里使用特权用户安装。
$ sudo ./install.sh standalone安装完毕以后,进入安装目录看一看。
$ cd /usr/local/Plone $ ls -F buildout-cache/ Plone-docs/ Python-2.6/ zinstance/可见Plone并不使用系统的python,而是自己安装一套python来用,这样或许能够提高系统的可靠性吧。 注意看zinstance目录。
$ ls -F zinstance adminPassword.txt bootstrap.py develop-eggs/ products/ var/ base.cfg buildout.cfg parts/ README.html versions.cfg bin/ develop.cfg PloneController.app/ src/ zope_versions.cfg熟悉不?这不是buildout构建的嘛~ 再看看bin目录。
$ ls -F zinstance/bin backup* buildout* instance* paster* plonectl* restore* snapshotbackup* snapshotrestore* zopepy* zopeskel*嗯,启动plone的脚本就在这里。
$ cd zinstance $ bin/plonectl start现在打开 http://localhost:8080 应该就会看到Plone的界面。
$ cat buildout.cfg [buildout] parts = instance extends = http://dist.plone.org/release/4.0-latest/versions.cfg find-links = http://dist.repoze.org/ [instance] recipe = plone.recipe.zope2instance eggs = Plone PIL http-address = 8080参照 buildout使用小例 中的方法,构建一个buildout环境如下:
$ mkdir mini-Plone $ cp buildout.cfg mini-Plone $ cd mini-Plone $ wget http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py $ python bootstrap.py $ bin/buildout这样buildout就会下载Plone和Zope相关组件并生成相关脚本文件。
$ ls -F bin/ bootstrap.py buildout.cfg develop-eggs/ eggs/ parts/ var/可以看到和Unified Installer安装后的结构不一样。没有Python目录,没有buildout-cache目录。实际上,这里使用的系统的Python环境,而buildout-cache目录下的内容也都直接放在这里了。
$ ls -F bin buildout* instance*可执行脚本也只多了instance一个。而这个instance文件正是Plone的启动脚本。启动Plone:
$ bin/instance start若要在终端下输出所有的调试信息,则这样启动:
$ bin/instance fg这样,一个最小化的Plone便诞生啦~ 另一种方便的做法是使用zopeskel。zopeskel能够自动创建各种zope或plone的模板,然后我们只需要执行buildout就可以了。 首先安装zopeskel。
$ easy_install zopeskelzopeske自带一个工具叫做paster,来创建各个模板。可以先看看都有哪些模板:
$ paster create --list-templates Available templates: archetype: A Plone project that uses Archetypes content types basic_namespace: A basic Python project with a namespace package basic_package: A basic setuptools-enabled package basic_zope: A Zope project kss_plugin: A project for a KSS plugin nested_namespace: A basic Python project with a nested namespace (2 dots in name) paste_deploy: A web application deployed through paste.deploy plone: A project for Plone products plone2.5_buildout: A buildout for Plone 2.5 projects plone2.5_theme: A theme for Plone 2.5 plone2_theme: A theme for Plone 2.1 plone3_buildout: A buildout for Plone 3 installation plone3_portlet: A Plone 3 portlet plone3_theme: A theme for Plone 3 plone_app: A project for Plone products with a nested namespace (2 dots in name) plone_hosting: Plone hosting: buildout with ZEO and Plone versions below 3.2 plone_pas: A project for a Plone PAS plugin pylons: Pylons application template pylons_minimal: Pylons minimal application template recipe: A recipe project for zc.buildout restish: Template for creating a basic Restish package silva_buildout: A buildout for Silva projects也可以直接使用zopeskel命令查看,这个显得更为详细一些:
$ zopeskel --list内容比较多,这里就不一一列出了。其中plone3_buildout是目前为止最新的Plone版本了,可以通过下面的命令创建plone3的buildout环境:
$ paster create -t plone3_buildout或者简单地输入:
$ zopeskel plone3_buildout接下来会回答一系列问题,像工程名称(也就是要创建的文件夹名称),专家模式,Plone版本,Zope路径等,使用默认选择的话会下载安装Zope和Plone3.3.5。 接下来进入工程目录,假设是plone3。引导buildout,执行更新。
$ cd plone3 $ ls -F bin/ bootstrap.py buildout.cfg develop-eggs/ eggs/ parts/ products/ README.txt src/ var/ $ python bootstrap $ bin/buildout下载安装完毕,在bin目录下会多几个脚本。
$ ls -F bin buildout* instance* repozo* zopepy*这次比之前的多了两个:repozo和zopepy。repozo是用来备份Zope/Plone的数据文件Data.fs的,可以增量备份也可以完全备份。zopepy则提供了一个python交互界面,用来测试zope。 最后对各个文件夹再做一个简要的说明: