Server/SRS1/2017

Aus Wiki StuRa HTW Dresden
Version vom 25. Februar 2018, 16:22 Uhr von PaulRiegel (Diskussion | Beiträge) (PaulRiegel verschob die Seite Server/Jails/SRS1 nach Server/SRS1/2017)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Verwendungszweck

Lauft!

Plone

Plone 4.0.5 via UnifiedInstaller installieren.


install.sh --password=<password>  standalone

Plone 4.0.5 to 4.1 fehlgeschlagen

  • im verzeichnis von …/GenericSetup die rolemap.xml angelegt

link : [1]

<?xml version="1.0" encoding="UTF-8"?>
<rolemap>
 <permissions>
   <permission name="ATContentTypes Topic: Add ATBooleanCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATCurrentAuthorCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATDateCriteria" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATDateRangeCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATListCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATPathCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATPortalTypeCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATReferenceCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATRelativePathCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATSelectionCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATSimpleIntCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATSimpleStringCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="ATContentTypes Topic: Add ATSortCriterion" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="Add portal topics" acquire="True">
     <role name="Contributor"/>
   </permission>
   <permission name="Change portal topics" acquire="True">
      <role name="Editor"/>
    </permission>
 </permissions>
</rolemap>

Ports

installierte Ports

  • atk
  • autoconf
  • autoconf-wrapper
  • automake
  • automake-wrapper
  • bdftopcf
  • bigreqsproto
  • bison
  • bitstream-vera
  • ca_root_nss
  • cairo
  • cmake
  • cmake-modules
  • compositeproto
  • curl
  • cvsps
  • damageproto
  • db41
  • dejavu
  • dialog4ports
  • emacs-nox11
  • encodings
  • expat
  • fixesproto
  • font-bh-ttf
  • font-misc-ethiopic
  • font-misc-meltho
  • font-util
  • fontconfig
  • fontsproto
  • freetype2
  • gamin
  • gdbm
  • gdk-pixbuf2
  • gettext
  • gio-fam-backend
  • git
  • glib
  • gmake
  • gnomehier
  • gobject-introspection
  • help2man
  • inputproto
  • jasper
  • jbigkit
  • jpeg
  • kbproto
  • libICE
  • libSM
  • libX11
  • libXau
  • libXcomposite
  • libXcursor
  • libXdamage
  • libXdmcp
  • libXext
  • libXfixes
  • libXfont
  • libXi
  • libXinerama
  • libXrandr
  • libXrender
  • libXt
  • libcheck
  • libevent
  • libevent2
  • libexecinfo
  • libffi
  • libfontenc
  • libgcrypt
  • libgpg-error
  • libiconv
  • libidn
  • libpthread-stubs
  • libsigsegv
  • libtool
  • libxcb
  • libxml2
  • libxslt
  • libyaml
  • lynx
  • m4
  • mkfontdir
  • mkfontscale
  • nano
  • p5-Error
  • p5-ExtUtils-Constant
  • p5-IO-Socket-IP
  • p5-IO-Socket-SSL
  • p5-Locale-gettext
  • p5-Net-SMTP-SSL
  • p5-Net-SSLeay
  • p5-Socket
  • pango
  • pcre
  • perl-threaded
  • pixman
  • pkgconf
  • png
  • portaudit
  • portupgrade
  • py27-wikitools
  • python27
  • python33
  • randrproto
  • renderproto
  • ruby
  • ruby
  • ruby18-bdb
  • ruby19-bdb
  • ruby19-date2
  • tiff
  • tmux
  • unzip
  • vim-lite
  • wget
  • xcb-proto
  • xcb-util
  • xcb-util-renderutil
  • xcmiscproto
  • xextproto
  • xf86bigfontproto
  • xineramaproto
  • xorg-fonts-truetype
  • xorg-macros
  • xproto
  • xtrans
  • zsh

konfigurierte Ports

cairo

OPTIONS_FILE_SET+=GLIB
OPTIONS_FILE_UNSET+=OPENGL
OPTIONS_FILE_SET+=X11
OPTIONS_FILE_SET+=XCB

freetype2

OPTIONS_FILE_UNSET+=CFF_HINTING_ADOBE
OPTIONS_FILE_UNSET+=LCD_FILTERING

gamin

OPTIONS_FILE_UNSET+=GAM_POLLER
OPTIONS_FILE_UNSET+=LIBINOTIFY
OPTIONS_FILE_SET+=RUN_AS_EUID

gdk-pixbuf2

OPTIONS_FILE_SET+=JASPER
OPTIONS_FILE_SET+=JPEG
OPTIONS_FILE_SET+=NLS
OPTIONS_FILE_SET+=PNG
OPTIONS_FILE_SET+=TIFF

jasper

OPTIONS_FILE_UNSET+=OPENGL
OPTIONS_FILE_UNSET+=UUID

libcheck

OPTIONS_FILE_SET+=DOCS
OPTIONS_FILE_UNSET+=EXAMPLES

libevent2

OPTIONS_FILE_SET+=OPENSSL
OPTIONS_FILE_SET+=THREADS

libffi

OPTIONS_FILE_UNSET+=TESTS

libxml2

OPTIONS_FILE_UNSET+=MEM_DEBUG
OPTIONS_FILE_SET+=SCHEMA
OPTIONS_FILE_SET+=THREADS
OPTIONS_FILE_UNSET+=THREAD_ALLOC
OPTIONS_FILE_UNSET+=XMLLINT_HIST

libxslt

OPTIONS_FILE_SET+=CRYPTO
OPTIONS_FILE_UNSET+=MEM_DEBUG

lynx

OPTIONS_FILE_SET+=SSL
OPTIONS_FILE_SET+=DEFAULT_COLORS
OPTIONS_FILE_SET+=IPV6
OPTIONS_FILE_SET+=NLS

pango

OPTIONS_FILE_SET+=X11

pixman

OPTIONS_FILE_SET+=SIMD

png

OPTIONS_FILE_SET+=APNG

python27

OPTIONS_FILE_SET+=EXAMPLES
OPTIONS_FILE_UNSET+=FPECTL
OPTIONS_FILE_SET+=IPV6
OPTIONS_FILE_SET+=NLS
OPTIONS_FILE_UNSET+=PTH
OPTIONS_FILE_SET+=PYMALLOC
OPTIONS_FILE_UNSET+=SEM
OPTIONS_FILE_SET+=THREADS
OPTIONS_FILE_UNSET+=UCS2
OPTIONS_FILE_SET+=UCS4

ruby18-bdb

OPTIONS_FILE_SET+=DOCS
OPTIONS_FILE_UNSET+=EXAMPLES

tmux

OPTIONS_FILE_SET+=BACKSPACE
OPTIONS_FILE_SET+=LIBEVENT2
OPTIONS_FILE_UNSET+=LIBEVENT_STATIC

Konfiguration der Programme

Konfiguration Plone

für Backup aktivierung
  • in die buildout.cfg schreiben unter der überschrift [buildout]
########################################## ##
# Parts Specification
#--------------------
# Specifies the components that should be included in the buildout.
# All the basics are in the base.cfg extension; you may add your
# own if you need them at the end of this file.
parts =
   instance
   zopepy
   zopeskel
   unifiedinstaller
   chown
   backup
   repozo
  • [backup] am Schluss hin schreiben und weitere Parameter eintragen (buildout.cfg)
[backup]
recipe = collective.recipe.backup
keep = 4
full = true
debug = false
snapshotlocation = /root/plonebackup/snapshot
backup_blobs = true
blobsnapshotlocation = /root/plonebackup/blobsnapshots
gzip = true
enable_snapshotrestore = false
wenn die Datei repozo.py fehlte (buildout.cfg)
[repozo]
recipe = zc.recipe.egg
eggs = ZODB3
scripts = repozo
/etc/crontab
# Plone inkrementelles Backup
*       23      *       *       6       root    <path/to/plone>/zinstance/bin/backup
# Plone Fullbackup (snapshot)
*       20      5       *       *       root    <path/to/plone>/zinstance/bin/snapshotbackup

Konfiguration Apache22

  • httpd.conf

ServerTokens ProductOnly
ServerSignature Off

  • extra/httpd-vhost.conf

<VirtualHost *:80>

# A sample VirtualHost section for using Apache as a webserver
# instead of Zope.
# ServerName is the url of your website.

ServerName <domain>
# ServerName 127.0.0.1
# Add serverAlias lines for other domain names that should
# point to this website. They will be rewritten by Apache to
# the ServerName, so that anyone going to www.site.com
# will be invisibly redirected to site.com in their browser.

ServerAlias domain

# ServerAdmin is your email address, which shows up on error
# pages when Apache cannot connect to Zope.

ServerAdmin adminmail

# The ProxyPass and ProxyPassReverse lines are the magic
# ingredients. They rewite requests to http://site.com and
# pass the entire request through to Zope on
# http://site.com:8080. The VirtualHostBase ensures that
# when the page goes back to the browser, it goes out through
# Apache, and appears to have come from http://site.com.

# The line is made up from:

# ProxyPass or ProxyPassReverse

# / is the url at http://site.com that you wish to use to
# point to the Zope site. You could keep http://site.com as a
# flat HTML site in Apache, and replace / with /zope to make
# http://site/com/zope point to your zope site.
# http://site.com:8080 is the address that your zope is
# running on.

# /VirtualHostBase/http/site.com:80 makes sure that zope
# *thinks* it is running at http://site.com instead of at
# http://site.com:8080. You don't have to do anything else
# in Zope to make this work.

# /yourplonesite is the location of your Plone Site within Zope.
# If you added a Plone Site into the root of your Zope with an id
# of 'mysite', then you just change this bit to /mysite

# /VirtualHostRoot/ makes your Plone site think it is the root of the site.

ProxyPass / http://127.0.0.1:8080/VirtualHostBase/http/<domain>:80/Plone/VirtualHostRoot/
ProxyPassReverse / http://127.0.0.1:8080/VirtualHostBase/http/<domain>:80/Plone/VirtualHostRoot/

# CacheRoot is the location on the filesystem to store files that
# Apache caches. This directory must be created, and the user that
# Apache runs as must have full write permissions to it.
# It's a bad idea to create this in the /tmp directory, as the
# directory itself will then be deleted when you reboot.

CacheRoot "/var/cache/www.stura.htw-dresden.de"
CacheEnable disk /

# CacheSize determines how big this cache can get in KB. It's a
# good idea that this number is about 30% less than the available
# space in the CacheRoot directory. Here we choose to cache 100MB
# of data, which is enough for a personal website, but not for
# anything larger.
MCacheSize 524288
MCacheMaxObjectCount 100000
MCacheMinObjectSize 1
MCacheMaxObjectSize 200000
# CacheGcInterval specifies how often (in hours) to examine the
# cache and delete obsolete files.
#CacheGcInterval 2

# CacheLastModifiedFactor allows the estimation of an expiry date
# for a page if it doesn't have an expiry-date specified in the
# HTTP headers returned from Zope. This is based on (time since
# last modification * CacheLastModifiedFactor), so that content
# that is ten hours old would be given an expiry date of 1 hour in
# the future.
CacheLastModifiedFactor 0.1

# CacheDefaultExpire sets a default expiry time of 0,5 hour into the
# future for cached pages.
CacheDefaultExpire 0.5

# CacheDirLength sets the number of characters used in directory
# names for subdirectories of CacheRoot
CacheDirLength 3

# The following definitions set expiry times for various content
# types. In this list, each content type defined is cached for a
# maximum period of 1 hour (3600 seconds) before it must be checked
# again. Non-listed content types are not cached.

ExpiresActive On
expiresByType image/ief A3600
ExpiresByType image/tiff A3600
ExpiresByType image/bmp A3600
ExpiresByType image/gif A3600
ExpiresByType image/png A3600
ExpiresByType image/jpeg A3600
ExpiresByType image/x-cmu-raster A3600
ExpiresByType image/x-portable-anymap A3600
ExpiresByType image/x-portable-bitmap A3600
ExpiresByType image/x-portable-graymap A3600
ExpiresByType image/x-portable-pixmap A3600
ExpiresByType image/x-rgb  A3600
ExpiresByType image/x-xbitmap A3600
ExpiresByType image/x-xpixmap A3600
ExpiresByType image/x-xwindowdump A3600
ExpiresByType text/css A3600
ExpiresByType text/javascript A3600
ExpiresByType application/x-javascript A3600
ExpiresByType text/html A3600
ExpiresByType text/xml A3600

# CustomLog "/var/log/www.stura.htw-dresden.de-access_log" common

</VirtualHost>

Konfiguration von Skripten

rc.d scripting Plone

Seit Anbeginn (nun mehrere Jahre) hat der Betrieb von Plone auf srs1 ein großes Manko: Plone startet nicht von allein. Daher musste sich auf srs1 manuell angemeldet werden und Plone musste "von Hand" gestartet werden. Das soll nun anders sein.

$EDITOR /usr/local/etc/rc.d/plone
#!/bin/sh
# PROVIDE: plone
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name="plone"
rcvar=plone_enable

start_cmd="${name}_start"
stop_cmd="${name}_stop"
restart_cmd="${name}_restart"
status_cmd="${name}_status"

extra_commands="status"

load_rc_config ${name}
#: ${plone_enable:="NO"}

plone_stop()
{
        /usr/local/Plone/zinstance/bin/plonectl stop
}

plone_status()
{
        /usr/local/Plone/zinstance/bin/plonectl status
}

plone_start()
{
        /usr/local/Plone/zinstance/bin/plonectl start
}

plone_restart()
{
        /usr/local/Plone/zinstance/bin/plonectl restart
}

run_rc_command "$1"

Anpassen der Berechtigung für eine Datei für rc.d

chmod 540 /usr/local/etc/rc.d/plone
Kontrollieren der Berechtigung für eine Datei für rc.d
ls -l /usr/local/etc/rc.d/plone
-r-xr-----  1 root  wheel  603 Oct 23 18:34 /usr/local/etc/rc.d/plone

Selbstverständlich bedarf es auch noch dem Eintrag in der rc.conf, um Anzuzeigen, dass plone gestartet werden soll kann.

echo 'plone_enable="YES"' >> /etc/rc.conf

Eigentlich ist die Datei für rc.d relativ simpel. (Der Bezug sind die komplexen Varianten, die rc.d und entsprechende Dateien mit sich brinken können.)

  • /usr/local/Plone/zinstance/bin/plonectl ist die Stelle und Datei zur Verwaltung des Betriebes von Plone. (Woher die Auswahl dieses Stelle stammt ist nicht näher bekannt.)
  • Bei der Entfernung der Auskommentierung bei #: ${plone_enable:="NO"} würde Plone nicht zu Starten der Jail selbst starten. Jedoch wären aber noch alle anderen gewünschten Funktionalitäten von rc.d verfügbar.
  • Folgende Befehle sind nun mittels rc.d verfügbar:
    • service plone stop
      Stoppen von Plone
    • service plone stauts
      Status von Plone ausgeben lassen
    • service plone start
      Starten von Plone
    • service plone restart
      Neustarten von Plone
    .

Läuft!

Weblinks