Commit d08bbe09 authored by Alain Takoudjou's avatar Alain Takoudjou

Add FengOffice, OpenGoo and DokuWiki software release

parent 417f37f8
[buildout]
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
parts = instance
[instance]
recipe = ${instance-recipe:egg}:${instance-recipe:module}
source = ${application:location}
httpd_binary = ${apache:location}/bin/httpd
mysql_binary = ${mariadb:location}/bin/mysql
mysql_install_binary = ${mariadb:location}/bin/mysql_install_db
mysql_upgrade_binary = ${mariadb:location}/bin/mysql_upgrade
mysqld_binary = ${mariadb:location}/libexec/mysqld
\ No newline at end of file
<?php
/*
* This is an example configuration for the mysql auth module.
*
* This SQL statements are optimized for following table structure.
* If you use a different one you have to change them accordingly.
* See comments of every statement for details.
*
* TABLE users
* uid login pass firstname lastname email
*
* TABLE groups
* gid name
*
* TABLE usergroup
* uid gid
*
* To use this configuration you have to copy them to local.protected.php
* or at least include this file in local.protected.php.
*/
/* Options to configure database access. You need to set up this
* options carefully, otherwise you won't be able to access you
* database.
*/
$conf['auth']['mysql']['server'] = '%(mysql_ip)s';
$conf['auth']['mysql']['user'] = '%(mysql_user)s';
$conf['auth']['mysql']['password'] = '%(mysql_password)s';
$conf['auth']['mysql']['database'] = '%(mysql_database)s';
/* This option enables debug messages in the mysql module. It is
* mostly usefull for system admins.
*/
$conf['auth']['mysql']['debug'] = 0;
/* Normally password encryption is done by DokuWiki (recommended) but for
* some reasons it might be usefull to let the database do the encryption.
* Set 'forwardClearPass' to '1' and the cleartext password is forwarded to
* the database, otherwise the encrypted one.
*/
$conf['auth']['mysql']['forwardClearPass'] = 0;
/* Multiple table operations will be protected by locks. This array tolds
* the module which tables to lock. If you use any aliases for table names
* these array must also contain these aliases. Any unamed alias will cause
* a warning during operation. See the example below.
*/
$conf['auth']['mysql']['TablesToLock']= array("users", "users AS u","groups", "groups AS g", "usergroup", "usergroup AS ug");
/***********************************************************************/
/* Basic SQL statements for user authentication (required) */
/***********************************************************************/
/* This statement is used to grant or deny access to the wiki. The result
* should be a table with exact one line containing at least the password
* of the user. If the result table is empty or contains more than one
* row, access will be denied.
*
* The module access the password as 'pass' so a alias might be necessary.
*
* Following patters will be replaced:
* %%{user} user name
* %%{pass} encrypted or clear text password (depends on 'encryptPass')
* %%{dgroup} default group name
*/
$conf['auth']['mysql']['checkPass'] = "SELECT pass
FROM usergroup AS ug
JOIN users AS u ON u.uid=ug.uid
JOIN groups AS g ON g.gid=ug.gid
WHERE login='%%{user}'
AND name='%%{dgroup}'";
/* This statement should return a table with exact one row containing
* information about one user. The field needed are:
* 'pass' containing the encrypted or clear text password
* 'name' the user's full name
* 'mail' the user's email address
*
* Keep in mind that Dokuwiki will access thise information through the
* names listed above so aliasses might be neseccary.
*
* Following patters will be replaced:
* %%{user} user name
*/
$conf['auth']['mysql']['getUserInfo'] = "SELECT pass, CONCAT(firstname,' ',lastname) AS name, email AS mail
FROM users
WHERE login='%%{user}'";
/* This statement is used to get all groups a user is member of. The
* result should be a table containing all groups the given user is
* member of. The module access the group name as 'group' so a alias
* might be nessecary.
*
* Following patters will be replaced:
* %%{user} user name
*/
$conf['auth']['mysql']['getGroups'] = "SELECT name as `group`
FROM groups g, users u, usergroup ug
WHERE u.uid = ug.uid
AND g.gid = ug.gid
AND u.login='%%{user}'";
/***********************************************************************/
/* Additional minimum SQL statements to use the user manager */
/***********************************************************************/
/* This statement should return a table containing all user login names
* that meet certain filter criteria. The filter expressions will be added
* case dependend by the module. At the end a sort expression will be added.
* Important is that this list contains no double entries fo a user. Each
* user name is only allowed once in the table.
*
* The login name will be accessed as 'user' to a alias might be neseccary.
* No patterns will be replaced in this statement but following patters
* will be replaced in the filter expressions:
* %%{user} in FilterLogin user's login name
* %%{name} in FilterName user's full name
* %%{email} in FilterEmail user's email address
* %%{group} in FilterGroup group name
*/
$conf['auth']['mysql']['getUsers'] = "SELECT DISTINCT login AS user
FROM users AS u
LEFT JOIN usergroup AS ug ON u.uid=ug.uid
LEFT JOIN groups AS g ON ug.gid=g.gid";
$conf['auth']['mysql']['FilterLogin'] = "login LIKE '%%{user}'";
$conf['auth']['mysql']['FilterName'] = "CONCAT(firstname,' ',lastname) LIKE '%%{name}'";
$conf['auth']['mysql']['FilterEmail'] = "email LIKE '%%{email}'";
$conf['auth']['mysql']['FilterGroup'] = "name LIKE '%%{group}'";
$conf['auth']['mysql']['SortOrder'] = "ORDER BY login";
/***********************************************************************/
/* Additional SQL statements to add new users with the user manager */
/***********************************************************************/
/* This statement should add a user to the database. Minimum information
* to store are: login name, password, email address and full name.
*
* Following patterns will be replaced:
* %%{user} user's login name
* %%{pass} password (encrypted or clear text, depends on 'encryptPass')
* %%{email} email address
* %%{name} user's full name
*/
$conf['auth']['mysql']['addUser'] = "INSERT INTO users
(login, pass, email, firstname, lastname)
VALUES ('%%{user}', '%%{pass}', '%%{email}',
SUBSTRING_INDEX('%%{name}',' ', 1),
SUBSTRING_INDEX('%%{name}',' ', -1))";
/* This statement should add a group to the database.
* Following patterns will be replaced:
* %%{group} group name
*/
$conf['auth']['mysql']['addGroup'] = "INSERT INTO groups (name)
VALUES ('%%{group}')";
/* This statement should connect a user to a group (a user become member
* of that group).
* Following patterns will be replaced:
* %%{user} user's login name
* %%{uid} id of a user dataset
* %%{group} group name
* %%{gid} id of a group dataset
*/
$conf['auth']['mysql']['addUserGroup']= "INSERT INTO usergroup (uid, gid)
VALUES ('%%{uid}', '%%{gid}')";
/* This statement should remove a group fom the database.
* Following patterns will be replaced:
* %%{group} group name
* %%{gid} id of a group dataset
*/
$conf['auth']['mysql']['delGroup'] = "DELETE FROM groups
WHERE gid='%%{gid}'";
/* This statement should return the database index of a given user name.
* The module will access the index with the name 'id' so a alias might be
* necessary.
* following patters will be replaced:
* %%{user} user name
*/
$conf['auth']['mysql']['getUserID'] = "SELECT uid AS id
FROM users
WHERE login='%%{user}'";
/***********************************************************************/
/* Additional SQL statements to delete users with the user manager */
/***********************************************************************/
/* This statement should remove a user fom the database.
* Following patterns will be replaced:
* %%{user} user's login name
* %%{uid} id of a user dataset
*/
$conf['auth']['mysql']['delUser'] = "DELETE FROM users
WHERE uid='%%{uid}'";
/* This statement should remove all connections from a user to any group
* (a user quits membership of all groups).
* Following patterns will be replaced:
* %%{uid} id of a user dataset
*/
$conf['auth']['mysql']['delUserRefs'] = "DELETE FROM usergroup
WHERE uid='%%{uid}'";
/***********************************************************************/
/* Additional SQL statements to modify users with the user manager */
/***********************************************************************/
/* This statements should modify a user entry in the database. The
* statements UpdateLogin, UpdatePass, UpdateEmail and UpdateName will be
* added to updateUser on demand. Only changed parameters will be used.
*
* Following patterns will be replaced:
* %%{user} user's login name
* %%{pass} password (encrypted or clear text, depends on 'encryptPass')
* %%{email} email address
* %%{name} user's full name
* %%{uid} user id that should be updated
*/
$conf['auth']['mysql']['updateUser'] = "UPDATE users SET";
$conf['auth']['mysql']['UpdateLogin'] = "login='%%{user}'";
$conf['auth']['mysql']['UpdatePass'] = "pass='%%{pass}'";
$conf['auth']['mysql']['UpdateEmail'] = "email='%%{email}'";
$conf['auth']['mysql']['UpdateName'] = "firstname=SUBSTRING_INDEX('%%{name}',' ', 1),
lastname=SUBSTRING_INDEX('%%{name}',' ', -1)";
$conf['auth']['mysql']['UpdateTarget']= "WHERE uid=%%{uid}";
/* This statement should remove a single connection from a user to a
* group (a user quits membership of that group).
*
* Following patterns will be replaced:
* %%{user} user's login name
* %%{uid} id of a user dataset
* %%{group} group name
* %%{gid} id of a group dataset
*/
$conf['auth']['mysql']['delUserGroup']= "DELETE FROM usergroup
WHERE uid='%%{uid}'
AND gid='%%{gid}'";
/* This statement should return the database index of a given group name.
* The module will access the index with the name 'id' so a alias might
* be necessary.
*
* Following patters will be replaced:
* %%{group} group name
*/
$conf['auth']['mysql']['getGroupID'] = "SELECT gid AS id
FROM groups
WHERE name='%%{group}'";
[buildout]
versions = versions
parts =
template
apache-php
mariadb
eggs
instance-recipe-egg
downloadcache-workaround
extends =
../../stack/lamp.cfg
../../stack/shacache-client.cfg
../../stack/lamp/buildout.cfg
[application]
recipe = hexagonit.recipe.download
url = http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2011-05-25a.tgz
md5sum = 6452eff54afa35e031e15fec9a737dd1
url = http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2012-10-13.tgz
md5sum = a910ebb2fcca13c0337ed672304c4ad4
#If provided tarball does not contain top directory, option shall be changed to false
strip-top-level-dir = true
[instance-recipe]
egg = slapos.cookbook
module = lamp.simple
[template]
# Default template for the instance.
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
#md5sum = Student shall put md5 of instance.cfg here
output = ${buildout:directory}/template.cfg
[application-template]
recipe = slapos.recipe.download
url = ${:_profile_base_location_}/mysql.conf.php.in
md5sum = 11c6793aa8c5bf7151886d1670796a22
download-only = True
filename = template.in
mode = 0644
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[instance-recipe-egg]
recipe = zc.recipe.egg
eggs = ${instance-recipe:egg}
[versions]
# Use SlapOS patched zc.buildout
zc.buildout = 1.5.3-dev-SlapOS-010
[downloadcache-workaround]
# workaround irritating problem of hexagonit.recipe.cmmi which automatically
# creates download cache, which in turn switches builout to "semi-offline" mode
recipe = plone.recipe.command
# in hexagonit.recipe.cmmi if there is no ${buildout:download-cache} set it resolves
# to ${buildout:directory}/downloads but this variable is available late, that's
# why it is hardcoded only for required case
download-cache = ${buildout:directory}/downloads
command = [ -d ${:download-cache} ] && rm -fr ${:download-cache}/* || exit 0
update-command = ${:command}
stop-on-error = True
\ No newline at end of file
[application-configuration]
location = conf/mysql.conf.php
\ No newline at end of file
?>
<h1 class="pageTitle"><span>Step <?php echo $current_step->getStepNumber() ?>:</span> System settings</h1>
<table class="formBlock">
<tr>
<th colspan="2">Database connection</th>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabaseType">Database type:</label></td>
<td>
<select name="config_form[database_type]" id="configFormDatabaseType">
<option value="mysql">MySQL</option>
<option value="pdo_mysql">PDO MySQL</option>
</select>
</td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabaseHost">Host name:</label></td>
<td><input type="text" name="config_form[database_host]" id="configFormDatabaseHost" value="%(mysql_ip)s" readonly /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabaseUser">Username:</label></td>
<td><input type="text" name="config_form[database_user]" id="configFormDatabaseUser" value="%(mysql_user)s" readonly /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabasePass">Password:</label></td>
<td><input type="password" name="config_form[database_pass]" id="configFormDatabasePass" value="%(mysql_password)s" readonly /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabaseName">Database name:</label></td>
<td><input type="text" name="config_form[database_name]" id="configFormDatabaseName" value="%(mysql_database)s" readonly /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabasePrefix">Table prefix:</label></td>
<td><input type="text" name="config_form[database_prefix]" id="configFormDatabasePrefix" value="<?php echo array_var($config_form_data, 'database_prefix', 'fo_') ?>" /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabaseEngine">Database engine:</label></td>
<td>
<select name="config_form[database_engine]" id="configFormDatabaseEngine">
<option value="InnoDB">InnoDB</option>
<option value="MyISAM">MyISAM</option>
</select>
</td>
</tr>
<tr>
<td colspan="2">
<b>Note:</b> InnoDB engine is highly recommended. Use MyISAM only as a last resort, and at your own risk, if your database doesn't support InnoDB.<br /><br />
<b>Note:</b> If the database doesn't exist Feng Office will try to create it. However, if the database user you supply doesn't have permissions to create databases, you will have to manually create the database before you can continue.
</td>
</tr>
</table>
<table class="formBlock">
<tr>
<th colspan="2">Other settings</th>
</tr>
<tr>
<td class="optionLabel"><label for="configFormAbsoluteUrl">Absolute script URL:</label></td>
<td><input type="text" name="config_form[absolute_url]" id="configFormAbsoluteUrl" value="<?php echo array_var($config_form_data, 'absolute_url', $installation_url) ?>" /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormPlugins">Plugins to install:</label></td>
<td class="pluginOptions">
<?php include_once 'plugins.php' ;?>
</td>
</tr>
</table>
\ No newline at end of file
[buildout]
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
parts = instance
[instance]
recipe = ${instance-recipe:egg}:${instance-recipe:module}
source = ${application:location}
httpd_binary = ${apache:location}/bin/httpd
mysql_binary = ${mariadb:location}/bin/mysql
mysql_install_binary = ${mariadb:location}/bin/mysql_install_db
mysql_upgrade_binary = ${mariadb:location}/bin/mysql_upgrade
mysqld_binary = ${mariadb:location}/libexec/mysqld
[buildout]
versions = versions
parts =
template
apache-php
mariadb
eggs
instance-recipe-egg
extends =
../../stack/lamp.cfg
../../stack/lamp/buildout.cfg
[application]
recipe = slapos.recipe.build:download-unpacked
url = http://freefr.dl.sourceforge.net/project/opengoo/fengoffice/fengoffice_2.0.0/fengoffice_2.0.0.zip
md5sum = 2f673962ac377da7942ba8a09429ddbf
[instance-recipe]
egg = slapos.cookbook
module = lamp.simple
url = http://freefr.dl.sourceforge.net/project/opengoo/fengoffice/fengoffice_2.2.3.1/fengoffice_2.2.3.1.zip
md5sum = f3b15616e1111f0114b084cdaa0dc3cd
strip-top-level-dir = false
[template]
# Default template for the instance.
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
#${:_profile_base_location_}/instance.cfg
#md5sum = Student shall put md5 of instance.cfg here
output = ${buildout:directory}/template.cfg
[application-template]
recipe = slapos.recipe.download
url = ${:_profile_base_location_}/config-form.php.in
md5sum = a32f1c8b14b8de2ecae40e71f710f384
download-only = True
filename = template.in
mode = 0644
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[instance-recipe-egg]
recipe = zc.recipe.egg
eggs =
${instance-recipe:egg}
\ No newline at end of file
[application-configuration]
location = public/install/installation/templates/system_config_form.php
\ No newline at end of file
<h1 class="pageTitle"><span>Step <?php echo $current_step->getStepNumber() ?>:</span> System settings</h1>
<table class="formBlock">
<tr>
<th colspan="2">Database connection</th>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabaseType">Database type:</label></td>
<td>
<select name="config_form[database_type]" id="configFormDatabaseType">
<option value="mysql">MySQL</option>
<option value="pdo_mysql">PDO MySQL</option>
</select>
</td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabaseHost">Host name:</label></td>
<td><input type="text" name="config_form[database_host]" id="configFormDatabaseHost" value="%(mysql_ip)s" readonly /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabaseUser">Username:</label></td>
<td><input type="text" name="config_form[database_user]" id="configFormDatabaseUser" value="%(mysql_user)s" readonly /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabasePass">Password:</label></td>
<td><input type="password" name="config_form[database_pass]" id="configFormDatabasePass" value="%(mysql_password)s" readonly /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabaseName">Database name:</label></td>
<td><input type="text" name="config_form[database_name]" id="configFormDatabaseName" value="%(mysql_database)s" readonly /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabasePrefix">Table prefix:</label></td>
<td><input type="text" name="config_form[database_prefix]" id="configFormDatabasePrefix" value="<?php echo array_var($config_form_data, 'database_prefix', 'og_') ?>" /></td>
</tr>
<tr>
<td class="optionLabel"><label for="configFormDatabaseEngine">Database engine:</label></td>
<td>
<select name="config_form[database_engine]" id="configFormDatabaseEngine">
<option value="InnoDB">InnoDB</option>
<option value="MyISAM">MyISAM</option>
</select>
</td>
</tr>
<tr>
<td colspan="2">
<b>Note:</b> InnoDB engine is highly recommended. Use MyISAM only as a last resort, and at your own risk, if your database doesn't support InnoDB.<br /><br />
<b>Note:</b> If the database doesn't exist OpenGoo will try to create it. However, if the database user you supply doesn't have permissions to create databases, you will have to manually create the database before you can continue.
</td>
</tr>
</table>
<table class="formBlock">
<tr>
<th colspan="2">Other settings</th>
</tr>
<tr>
<td class="optionLabel"><label for="configFormAbsoluteUrl">Absolute script URL:</label></td>
<td><input type="text" name="config_form[absolute_url]" id="configFormAbsoluteUrl" value="<?php echo array_var($config_form_data, 'absolute_url', $installation_url) ?>" /></td>
</tr>
</table>
\ No newline at end of file
[buildout]
extends =
../../stack/lamp/buildout.cfg
[application]
recipe = slapos.recipe.build:download-unpacked
url = http://heanet.dl.sourceforge.net/project/opengoo/opengoo/opengoo_1.6/opengoo_1.6.zip
md5sum = 79ddfc24f01bc843a8275463e63e96b0
strip-top-level-dir = true
[application-template]
recipe = slapos.recipe.download
url = ${:_profile_base_location_}/config-form.php.in
md5sum = 5d6ee1a23e1a5e762412a4867095b9e1
download-only = True
filename = template.in
mode = 0644
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[application-configuration]
location = public/install/installation/templates/system_config_form.php
\ No newline at end of file
......@@ -121,7 +121,7 @@ stunnel-binary = ${stunnel:location}/bin/stunnel
remote-host = $${mariadb-urlparse:host}
remote-port = $${mariadb-urlparse:port}
local-host = $${slap-network-information:local-ipv4}
local-port = 33060
local-port = 3306
log-file = $${basedirectory:log}/stunnel.log
config-file = $${directory:stunnel-conf}/stunnel.conf
key-file = $${directory:stunnel-conf}/stunnel.key
......
......@@ -74,7 +74,7 @@ mode = 0644
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/apache/instance-apache-php.cfg.in
output = ${buildout:directory}/instance-apache-php.cfg
md5sum = 0538b05d27d8a64e89f898c09eb57716
md5sum = 480a7197e679dd06b666c0573211cd40
mode = 0644
[instance-apache-import]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment