Server/SRS1/2017: Unterschied zwischen den Versionen

Aus Wiki StuRa HTW Dresden
Zur Navigation springen Zur Suche springen
(→‎Konfiguration der Programme: rc.d tut nicht weh; kein mensch soll warten, plone soll starten)
Zeile 258: Zeile 258:
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.
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.


: <code>$EDITOR</code>
: <code>$EDITOR /usr/local/etc/rc.d/plone</code>
<pre>
<pre>
#!/bin/sh
#!/bin/sh
Zeile 301: Zeile 301:


run_rc_command "$1"
run_rc_command "$1"
</pre>
Anpassen der Berechtigung für eine Datei für ''rc.d''
: <code>chmod 555 /usr/local/etc/rc.d/plone</code>
: Kontrollieren der Berechtigung für eine Datei für ''rc.d''
:: <code>ls -l /usr/local/etc/rc.d/plone</code>
<pre>
-r-xr-xr-x  1 root  wheel  613 Jul 31 20:41 /usr/local/etc/rc.d/plone
</pre>
</pre>
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.)
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.)

Version vom 31. Juli 2015, 21:46 Uhr

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 555 /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-xr-x  1 root  wheel  613 Jul 31 20:41 /usr/local/etc/rc.d/plone

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
    .

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

Läuft!

Weblinks