Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37636826
en ru br
ALT Linux repos
S:1.9.11-alt2
5.0: 1.8.0-alt1
4.1: 1.5.8-alt3.1
4.0: 1.5.8-alt1

Group :: Networking/Other
RPM: moin

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

#!/bin/sh

Die () { # [Message [Error_code]]
test "${2:-2}" -lt 1 || echo -n "$Usage
ERROR: " >&2
test -z "$1" || echo "${1:-UNKNOWN}" >&2
test "${2:-2}" -lt 0 || exit "${2:-2}"
}

SHARE=/usr/share/moin # path of MoinMoin shared files
HTDOCS=@HTDOCS@ # path of MoinMoin htdocs files
WIKIS=/var/www/wiki # path of wikis tree
ACFG=/etc/httpd2/conf # apache config directory
SITES="$ACFG/sites-available" # apache vhosts available
LOGS=
PFX="moin-" # VHOST prefix
USER=apache2; GROUP=apache2 # UID and GID
PKG=moin
VERSION="$(rpmquery --qf "%{VERSION}" $PKG | tr -d .)"

test -n "$1" || { # list wikis
# TODO more
echo "Wiki sites configured:"
ls "$SITES/$PFX"*.conf 2>/dev/null | sed 's@.*/\(.*\).conf@\t\1@'
echo
echo "To create new wiki use $0 sitename [alias [alias ...]]"
exit 0
}

SITE="$1"; INSTANCE="${SITE%%.*}"
CONF="$SITES/$PFX$SITE.conf"
DESTDIR="$WIKIS/$INSTANCE"
shift

test -f "$CONF" && { # print instance info
# TODO much more
echo
echo "=== $SITE exists:"
echo
cat "$CONF"
echo
echo "=== $DESTDIR exists:"
ls "$DESTDIR"
exit 0
} || test -d "$DESTDIR" && { # namespace clash
echo "$DESTDIR already exists, check $SITES"
exit 1
} || :

mkdir -p $DESTDIR/cgi-bin $DESTDIR/static
cp -R $SHARE/data $DESTDIR
cp -R $SHARE/underlay $DESTDIR
cp $SHARE/server/moin.cgi $DESTDIR/cgi-bin/
cp $SHARE/server/moinmodpy.py $DESTDIR/cgi-bin/
sed "
s@instance_dir = wikiconfig_dir@instance_dir = os.path.realpath(os.path.join(wikiconfig_dir, '..'))@
" $SHARE/config/wikiconfig.py > $DESTDIR/cgi-bin/wikiconfig.py

chown -R $USER:$GROUP $DESTDIR
chmod -R ug+rwX $DESTDIR
chmod -R o-rwx $DESTDIR

cat > "$CONF" <<@@@
<VirtualHost *:80>
ServerName $SITE
`for N; do echo ServerAlias $N; done`
RewriteEngine On
RewriteLog /etc/httpd2/logs/rewrite_log
RewriteRule ^/moin_static$VERSION/(.*)\$ $HTDOCS/\$1 [last]
RewriteRule ^/static/(.*)\$ $DESTDIR/static/\$1 [last]

ScriptAliasMatch ^(.*)$ $DESTDIR/cgi-bin/moin.cgi\$1
<Directory "$DESTDIR/cgi-bin/">
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<Directory "$HTDOCS/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
@@@

a2ensite vhosts
a2ensite $PFX$SITE
a2enmod rewrite
a2enmod cgi

service httpd2 restart

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin