Release V2 with better username display and a cleaner set of DokuWiki commits.
This commit is contained in:
parent
6d20100350
commit
6cd5c8c8c8
|
@ -1,2 +1,5 @@
|
|||
.vagrant
|
||||
*.spk
|
||||
*.spk
|
||||
conf
|
||||
plugins
|
||||
tpl
|
|
@ -10,8 +10,7 @@ VM_NAME = File.basename(File.dirname(File.dirname(__FILE__))) + "_sandstorm_#{Ti
|
|||
VAGRANTFILE_API_VERSION = "2"
|
||||
|
||||
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||
# We base ourselves off Debian Jessie
|
||||
config.vm.box = "debian/jessie64"
|
||||
config.vm.box = "sandstorm/debian-jessie64"
|
||||
|
||||
if Vagrant.has_plugin?("vagrant-vbguest") then
|
||||
# vagrant-vbguest is a Vagrant plugin that upgrades
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
|
@ -11,3 +11,17 @@ if [ -f /opt/app/dokuwiki/composer.json ] ; then
|
|||
fi
|
||||
php composer.phar install
|
||||
fi
|
||||
|
||||
rsync -a /opt/app/plugin/ /opt/app/dokuwiki/lib/plugins/sandstorm/
|
||||
|
||||
for p in /opt/app/dokuwiki/{conf,data,lib/plugins,lib/tpl}; do
|
||||
if [ -e $p ]; then
|
||||
mv $p $p.orig
|
||||
rm -rf $p
|
||||
fi
|
||||
done
|
||||
|
||||
ln -sf /var/lib/dokuwiki/conf /opt/app/dokuwiki/conf
|
||||
ln -sf /var/lib/dokuwiki/data /opt/app/dokuwiki/data
|
||||
ln -sf /var/lib/dokuwiki/lib/plugins /opt/app/dokuwiki/lib/plugins
|
||||
ln -sf /var/lib/dokuwiki/lib/tpl /opt/app/dokuwiki/lib/tpl
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
# V2 (2016-04-18)
|
||||
|
||||
* Now displays usernames rather than UUIDs in topbar and recent changes feeds
|
||||
|
||||
# V1 (2015-12-29)
|
||||
|
||||
* Dramatically shrunk grain size by only persisting config, data, plugins and templates
|
||||
* Fixed rewrite issue where doku.php was appended to URLs
|
||||
* Configured clean URLs
|
||||
|
||||
# V0 (2015-11-18)
|
||||
|
||||
* Initial release
|
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
|
@ -15,15 +15,33 @@ mkdir -p /var/run
|
|||
/usr/sbin/php5-fpm --nodaemonize --fpm-config /etc/php5/fpm/php-fpm.conf &
|
||||
# Wait until php have bound its socket, indicating readiness
|
||||
while [ ! -e /var/run/php5-fpm.sock ] ; do
|
||||
echo "waiting for php5-fpm to be available at /var/run/php5-fpm.sock"
|
||||
sleep .2
|
||||
echo "waiting for php5-fpm to be available at /var/run/php5-fpm.sock"
|
||||
sleep .2
|
||||
done
|
||||
|
||||
rsync -a /opt/app/dokuwiki/ /var/www
|
||||
mkdir -p /var/lib/dokuwiki/lib/plugins/sandstorm
|
||||
|
||||
if [ ! -f /var/www/conf/local.php ]; then
|
||||
cp /opt/app/local.php /var/www/conf
|
||||
if [ ! -e /var/lib/dokuwiki/conf/local.php ]; then
|
||||
echo Adding new configuration.
|
||||
rsync -a /opt/app/dokuwiki/conf.orig/ /var/lib/dokuwiki/conf
|
||||
cp /opt/app/local.php /var/lib/dokuwiki/conf
|
||||
fi
|
||||
|
||||
if [ ! -e /var/lib/dokuwiki/data ]; then
|
||||
echo Adding data.
|
||||
rsync -a /opt/app/dokuwiki/data.orig/ /var/lib/dokuwiki/data
|
||||
fi
|
||||
|
||||
rsync -a /opt/app/dokuwiki/lib/plugins.orig/ /var/lib/dokuwiki/lib/plugins
|
||||
rsync -a /opt/app/plugin/ /var/lib/dokuwiki/lib/plugins/sandstorm
|
||||
|
||||
if [ ! -e /var/lib/dokuwiki/lib/tpl ]; then
|
||||
echo Adding templates.
|
||||
rsync -a /opt/app/dokuwiki/lib/tpl.orig/ /var/lib/dokuwiki/lib/tpl
|
||||
fi
|
||||
|
||||
cd /var/lib/dokuwiki
|
||||
grep -Ev '^($|#)' /opt/app/dokuwiki/data.orig/deleted.files | xargs -n 1 rm -vrf
|
||||
|
||||
# Start nginx.
|
||||
/usr/sbin/nginx -g "daemon off;"
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -19,7 +19,7 @@ const pkgdef :Spk.PackageDefinition = (
|
|||
|
||||
appTitle = (defaultText = "DokuWiki"),
|
||||
|
||||
appVersion = 0, # Increment this for every release.
|
||||
appVersion = 2, # Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "2015-08-10a"),
|
||||
# Human-readable representation of appVersion. Should match the way you
|
||||
|
@ -48,9 +48,9 @@ const pkgdef :Spk.PackageDefinition = (
|
|||
# https://github.com/sandstorm-io/sandstorm/blob/master/src/sandstorm/package.capnp
|
||||
icons = (
|
||||
# Various icons to represent the app in various contexts.
|
||||
#appGrid = (svg = embed "path/to/appgrid-128x128.svg"),
|
||||
#grain = (svg = embed "path/to/grain-24x24.svg"),
|
||||
#market = (svg = embed "path/to/market-150x150.svg"),
|
||||
appGrid = (png = (dpi1x = embed "appGrid.png")),
|
||||
grain = (png = (dpi1x = embed "grain.png")),
|
||||
market = (png = (dpi1x = embed "market.png")),
|
||||
#marketBig = (svg = embed "path/to/market-big-300x300.svg"),
|
||||
),
|
||||
|
||||
|
@ -61,11 +61,11 @@ const pkgdef :Spk.PackageDefinition = (
|
|||
# URL of the app's source code repository, e.g. a GitHub URL.
|
||||
# Required if you specify a license requiring redistributing code, but optional otherwise.
|
||||
|
||||
license = (none = void),
|
||||
license = (openSource = gpl2),
|
||||
# The license this package is distributed under. See
|
||||
# https://docs.sandstorm.io/en/latest/developing/publishing-apps/#license
|
||||
|
||||
categories = [],
|
||||
categories = [webPublishing, productivity],
|
||||
# A list of categories/genres to which this app belongs, sorted with best fit first.
|
||||
# See the list of categories at
|
||||
# https://docs.sandstorm.io/en/latest/developing/publishing-apps/#categories
|
||||
|
@ -78,7 +78,7 @@ const pkgdef :Spk.PackageDefinition = (
|
|||
# requests as well as app store administrator requests, so it is very important that this be a
|
||||
# valid address with someone paying attention to it.
|
||||
|
||||
pgpSignature = embed "../pgp-signature",
|
||||
pgpSignature = embed "pgp-signature",
|
||||
# PGP signature attesting responsibility for the app ID. This is a binary-format detached
|
||||
# signature of the following ASCII message (not including the quotes, no newlines, and
|
||||
# replacing <app-id> with the standard base-32 text format of the app's ID):
|
||||
|
@ -99,7 +99,7 @@ const pkgdef :Spk.PackageDefinition = (
|
|||
# Remove this line if you consider yourself as the author of the app.
|
||||
),
|
||||
|
||||
pgpKeyring = embed "../pgp-keyring",
|
||||
pgpKeyring = embed "pgp-keyring",
|
||||
# A keyring in GPG keyring format containing all public keys needed to verify PGP signatures in
|
||||
# this manifest (as of this writing, there is only one: `author.pgpSignature`).
|
||||
#
|
||||
|
@ -109,7 +109,7 @@ const pkgdef :Spk.PackageDefinition = (
|
|||
#
|
||||
# Where `<key-id>` is a PGP key ID or email address associated with the key.
|
||||
|
||||
description = (defaultText = embed "../description.md"),
|
||||
description = (defaultText = embed "description.md"),
|
||||
# The app's description description in Github-flavored Markdown format, to be displayed e.g.
|
||||
# in an app store. Note that the Markdown is not permitted to contain HTML nor image tags (but
|
||||
# you can include a list of screenshots separately).
|
||||
|
@ -127,7 +127,7 @@ const pkgdef :Spk.PackageDefinition = (
|
|||
#(width = 746, height = 795, jpeg = embed "path/to/screenshot-1.jpeg"),
|
||||
#(width = 640, height = 480, png = embed "path/to/screenshot-2.png"),
|
||||
],
|
||||
changeLog = (defaultText = embed "../changelog.md"),
|
||||
changeLog = (defaultText = embed "changelog.md"),
|
||||
# Documents the history of changes in Github-flavored markdown format (with the same restrictions
|
||||
# as govern `description`). We recommend formatting this with an H1 heading for each version
|
||||
# followed by a bullet list of changes.
|
||||
|
|
|
@ -17,27 +17,30 @@ server {
|
|||
client_max_body_size 0;
|
||||
|
||||
server_name localhost;
|
||||
root /var/www;
|
||||
root /opt/app/dokuwiki;
|
||||
index doku.php;
|
||||
location ~ /(data/|conf/|bin/|inc/|install.php) { deny all; }
|
||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
|
||||
expires 31536000s;
|
||||
add_header Pragma "public";
|
||||
add_header Cache-Control "max-age=31536000, public, must-revalidate, proxy-revalidate";
|
||||
log_not_found off;
|
||||
}
|
||||
location / {
|
||||
index doku.php;
|
||||
try_files \$uri \$uri/ @dokuwiki;
|
||||
}
|
||||
location ^~ /lib/ {
|
||||
expires 30d;
|
||||
}
|
||||
location ^~ /conf/ { return 403; }
|
||||
location ^~ /data/ { return 403; }
|
||||
location @dokuwiki {
|
||||
rewrite ^/_media/(.*) /lib/exe/fetch.php?media=\$1 last;
|
||||
rewrite ^/_detail/(.*) /lib/exe/detail.php?media=\$1 last;
|
||||
rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_\$1&id=\$2 last;
|
||||
rewrite ^/(.*) /doku.php?id=\$1 last;
|
||||
rewrite ^/(.*) /doku.php?id=\$1&\$args last;
|
||||
}
|
||||
location ~ \\.php\$ {
|
||||
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||
fastcgi_split_path_info ^(.+\\.php)(/.+)\$;
|
||||
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
|
||||
if (!-f \$request_filename) { return 404; }
|
||||
include fastcgi_params;
|
||||
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||
fastcgi_param REDIRECT_STATUS 200;
|
||||
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
@ -83,3 +86,5 @@ sed --in-place='' \
|
|||
--expression 's/^fastcgi_param *HTTPS.*$/fastcgi_param HTTPS \$fe_https if_not_empty;/' \
|
||||
/etc/nginx/fastcgi_params
|
||||
|
||||
mkdir -p /var/lib/dokuwiki/{conf,data,lib/plugins,lib/tpl}
|
||||
chown -R vagrant.vagrant /var/lib/dokuwiki
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
# V0
|
||||
|
||||
* Initial release
|
2
dokuwiki
2
dokuwiki
|
@ -1 +1 @@
|
|||
Subproject commit 8bb94359b937d75319a05ffea59f725c775072e2
|
||||
Subproject commit e97ab57612804569b7df0be3901315a37ae0a43a
|
|
@ -8,10 +8,14 @@
|
|||
* you automatically.
|
||||
*/
|
||||
|
||||
$conf['showuseras'] = 'username';
|
||||
$conf['useacl'] = 1; //Use Access Control Lists to restrict access?
|
||||
$conf['autopasswd'] = 0; //autogenerate passwords and email them to user
|
||||
$conf['authtype'] = 'sandstorm'; //which authentication backend should be used
|
||||
$conf['superuser'] = '@admin'; //The admin can be user or @group or comma separated list user1,@group1,user2
|
||||
$conf['manager'] = '@manager'; //The manager can be user or @group or comma separated list user1,@group1,user2
|
||||
$conf['profileconfirm'] = 0; //Require current password to confirm changes to user profile
|
||||
$conf['disableactions']='login';
|
||||
$conf['disableactions']='login';
|
||||
$conf['userewrite'] = 1; //this makes nice URLs: 0: off 1: .htaccess 2: internal
|
||||
$conf['useslash'] = 1; //use slash instead of colon? only when rewrite is on
|
||||
$conf['savedir'] = '/var/lib/dokuwiki/data'; //where to store all the files
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
sandstorm Plugin for DokuWiki
|
||||
|
||||
Modifications needed to run in Sandstorm
|
||||
|
||||
All documentation for this plugin can be found at
|
||||
https://dev.thewordnerd.info/nolan/dokuwiki-sandstorm
|
||||
|
||||
If you install this plugin manually, make sure it is installed in
|
||||
lib/plugins/sandstorm/ - if the folder is called different it
|
||||
will not work!
|
||||
|
||||
Please refer to http://www.dokuwiki.org/plugins for additional info
|
||||
on how to install plugins in DokuWiki.
|
||||
|
||||
----
|
||||
Copyright (C) Nolan Darilek <nolan@thewordnerd.info>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 of the License
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
See the COPYING file in your DokuWiki folder for details
|
|
@ -0,0 +1,63 @@
|
|||
<?php
|
||||
/**
|
||||
* DokuWiki Plugin sandstorm (Auth Component)
|
||||
*
|
||||
* @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
|
||||
* @author Nolan Darilek <nolan@thewordnerd.info>
|
||||
*/
|
||||
|
||||
// must be run within Dokuwiki
|
||||
if(!defined('DOKU_INC')) die();
|
||||
|
||||
class auth_plugin_sandstorm extends DokuWiki_Auth_Plugin {
|
||||
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct() {
|
||||
parent::__construct(); // for compatibility
|
||||
|
||||
// FIXME set capabilities accordingly
|
||||
//$this->cando['addUser'] = false; // can Users be created?
|
||||
//$this->cando['delUser'] = false; // can Users be deleted?
|
||||
//$this->cando['modLogin'] = false; // can login names be changed?
|
||||
//$this->cando['modPass'] = false; // can passwords be changed?
|
||||
//$this->cando['modName'] = false; // can real names be changed?
|
||||
//$this->cando['modMail'] = false; // can emails be changed?
|
||||
//$this->cando['modGroups'] = false; // can groups be changed?
|
||||
//$this->cando['getUsers'] = false; // can a (filtered) list of users be retrieved?
|
||||
//$this->cando['getUserCount']= false; // can the number of users be retrieved?
|
||||
//$this->cando['getGroups'] = false; // can a list of available groups be retrieved?
|
||||
$this->cando['external'] = true; // does the module do external auth checking?
|
||||
$this->cando['logout'] = false; // can the user logout again? (eg. not possible with HTTP auth)
|
||||
|
||||
// FIXME intialize your auth system and set success to true, if successful
|
||||
$this->success = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Do all authentication [ OPTIONAL ]
|
||||
*
|
||||
* @param string $user Username
|
||||
* @param string $pass Cleartext Password
|
||||
* @param bool $sticky Cookie should not expire
|
||||
* @return bool true on successful auth
|
||||
*/
|
||||
public function trustExternal($user, $pass, $sticky = true) {
|
||||
global $USERINFO;
|
||||
global $conf;
|
||||
$sticky = true;
|
||||
$USERINFO['name'] = rawurldecode($_SERVER['HTTP_X_SANDSTORM_USERNAME']);
|
||||
$USERINFO['mail'] = 'user@example.com';
|
||||
$USERINFO['grps'] = str_getcsv($_SERVER['HTTP_X_SANDSTORM_PERMISSIONS']);
|
||||
$_SERVER['REMOTE_USER'] = $_SERVER['HTTP_X_SANDSTORM_USER_ID'];
|
||||
$_SESSION[DOKU_COOKIE]['auth']['user'] = $USERINFO['name'];
|
||||
$_SESSION[DOKU_COOKIE]['auth']['pass'] = $pass;
|
||||
$_SESSION[DOKU_COOKIE]['auth']['info'] = $USERINFO;
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// vim:ts=4:sw=4:et:
|
|
@ -0,0 +1,7 @@
|
|||
base sandstorm
|
||||
author Nolan Darilek
|
||||
email nolan@thewordnerd.info
|
||||
date 2015-11-16
|
||||
name sandstorm plugin
|
||||
desc Modifications needed to run in Sandstorm
|
||||
url https://dev.thewordnerd.info/nolan/dokuwiki-sandstorm
|
Loading…
Reference in New Issue