mirror of
https://github.com/YunoHost-Apps/moodle_ynh.git
synced 2024-09-03 19:46:23 +02:00
Install & Remove rework
This commit is contained in:
parent
4b9bcf5180
commit
576a131635
7 changed files with 171 additions and 1131 deletions
884
conf/config.php
884
conf/config.php
|
@ -1,884 +0,0 @@
|
|||
<?php
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Moodle configuration file //
|
||||
// //
|
||||
// This file should be renamed "config.php" in the top-level directory //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// NOTICE OF COPYRIGHT //
|
||||
// //
|
||||
// Moodle - Modular Object-Oriented Dynamic Learning Environment //
|
||||
// http://moodle.org //
|
||||
// //
|
||||
// Copyright (C) 1999 onwards Martin Dougiamas http://moodle.com //
|
||||
// //
|
||||
// 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; either version 3 of the License, or //
|
||||
// (at your option) any later version. //
|
||||
// //
|
||||
// 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: //
|
||||
// //
|
||||
// http://www.gnu.org/copyleft/gpl.html //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
unset($CFG); // Ignore this line
|
||||
global $CFG; // This is necessary here for PHPUnit execution
|
||||
$CFG = new stdClass();
|
||||
//=========================================================================
|
||||
// 1. DATABASE SETUP
|
||||
//=========================================================================
|
||||
// First, you need to configure the database where all Moodle data //
|
||||
// will be stored. This database must already have been created //
|
||||
// and a username/password created to access it. //
|
||||
$CFG->dbtype = 'pgsql'; // 'pgsql', 'mariadb', 'mysqli', 'mssql', 'sqlsrv' or 'oci'
|
||||
$CFG->dblibrary = 'native'; // 'native' only at the moment
|
||||
$CFG->dbhost = 'localhost'; // eg 'localhost' or 'db.isp.com' or IP
|
||||
$CFG->dbname = 'YNH_DB_USER'; // database name, eg moodle
|
||||
$CFG->dbuser = 'YNH_APP'; // your database username
|
||||
$CFG->dbpass = 'YNH_DB_PWD'; // your database password
|
||||
$CFG->prefix = 'mdl_'; // prefix to use for all table names
|
||||
$CFG->dboptions = array(
|
||||
'dbpersist' => false, // should persistent database connections be
|
||||
// used? set to 'false' for the most stable
|
||||
// setting, 'true' can improve performance
|
||||
// sometimes
|
||||
'dbsocket' => false, // should connection via UNIX socket be used?
|
||||
// if you set it to 'true' or custom path
|
||||
// here set dbhost to 'localhost',
|
||||
// (please note mysql is always using socket
|
||||
// if dbhost is 'localhost' - if you need
|
||||
// local port connection use '127.0.0.1')
|
||||
'dbport' => '', // the TCP port number to use when connecting
|
||||
// to the server. keep empty string for the
|
||||
// default port
|
||||
'dbhandlesoptions' => false,// On PostgreSQL poolers like pgbouncer don't
|
||||
// support advanced options on connection.
|
||||
// If you set those in the database then
|
||||
// the advanced settings will not be sent.
|
||||
// 'dbcollation' => 'utf8mb4_unicode_ci', // MySQL has partial and full UTF-8
|
||||
// support. If you wish to use partial UTF-8
|
||||
// (three bytes) then set this option to
|
||||
// 'utf8_unicode_ci', otherwise this option
|
||||
// can be removed for MySQL (by default it will
|
||||
// use 'utf8mb4_unicode_ci'. This option should
|
||||
// be removed for all other databases.
|
||||
// 'fetchbuffersize' => 100000, // On PostgreSQL, this option sets a limit
|
||||
// on the number of rows that are fetched into
|
||||
// memory when doing a large recordset query
|
||||
// (e.g. search indexing). Default is 100000.
|
||||
// Uncomment and set to a value to change it,
|
||||
// or zero to turn off the limit. You need to
|
||||
// set to zero if you are using pg_bouncer in
|
||||
// 'transaction' mode (it is fine in 'session'
|
||||
// mode).
|
||||
);
|
||||
//=========================================================================
|
||||
// 2. WEB SITE LOCATION
|
||||
//=========================================================================
|
||||
// Now you need to tell Moodle where it is located. Specify the full
|
||||
// web address to where moodle has been installed. If your web site
|
||||
// is accessible via multiple URLs then choose the most natural one
|
||||
// that your students would use. Do not include a trailing slash
|
||||
//
|
||||
// If you need both intranet and Internet access please read
|
||||
// http://docs.moodle.org/en/masquerading
|
||||
$CFG->wwwroot = 'https://YNH_DOMAINYNH_WWW_PATH';
|
||||
//=========================================================================
|
||||
// 3. DATA FILES LOCATION
|
||||
//=========================================================================
|
||||
// Now you need a place where Moodle can save uploaded files. This
|
||||
// directory should be readable AND WRITEABLE by the web server user
|
||||
// (usually 'nobody' or 'apache'), but it should not be accessible
|
||||
// directly via the web.
|
||||
//
|
||||
// - On hosting systems you might need to make sure that your "group" has
|
||||
// no permissions at all, but that "others" have full permissions.
|
||||
//
|
||||
// - On Windows systems you might specify something like 'c:\moodledata'
|
||||
$CFG->dataroot = 'YNH_VAR_ROOT';
|
||||
//=========================================================================
|
||||
// 4. DATA FILES PERMISSIONS
|
||||
//=========================================================================
|
||||
// The following parameter sets the permissions of new directories
|
||||
// created by Moodle within the data directory. The format is in
|
||||
// octal format (as used by the Unix utility chmod, for example).
|
||||
// The default is usually OK, but you may want to change it to 0750
|
||||
// if you are concerned about world-access to the files (you will need
|
||||
// to make sure the web server process (eg Apache) can access the files.
|
||||
// NOTE: the prefixed 0 is important, and don't use quotes.
|
||||
$CFG->directorypermissions = 02777;
|
||||
//=========================================================================
|
||||
// 5. DIRECTORY LOCATION (most people can just ignore this setting)
|
||||
//=========================================================================
|
||||
// A very few webhosts use /admin as a special URL for you to access a
|
||||
// control panel or something. Unfortunately this conflicts with the
|
||||
// standard location for the Moodle admin pages. You can work around this
|
||||
// by renaming the admin directory in your installation, and putting that
|
||||
// new name here. eg "moodleadmin". This should fix all admin links in Moodle.
|
||||
// After any change you need to visit your new admin directory
|
||||
// and purge all caches.
|
||||
$CFG->admin = 'admin';
|
||||
//=========================================================================
|
||||
// 6. OTHER MISCELLANEOUS SETTINGS (ignore these for new installations)
|
||||
//=========================================================================
|
||||
//
|
||||
// These are additional tweaks for which no GUI exists in Moodle yet.
|
||||
//
|
||||
// Starting in PHP 5.3 administrators should specify default timezone
|
||||
// in PHP.ini, you can also specify it here if needed.
|
||||
// See details at: http://php.net/manual/en/function.date-default-timezone-set.php
|
||||
// List of time zones at: http://php.net/manual/en/timezones.php
|
||||
// date_default_timezone_set('Australia/Perth');
|
||||
//
|
||||
// Change the key pair lifetime for Moodle Networking
|
||||
// The default is 28 days. You would only want to change this if the key
|
||||
// was not getting regenerated for any reason. You would probably want
|
||||
// make it much longer. Note that you'll need to delete and manually update
|
||||
// any existing key.
|
||||
// $CFG->mnetkeylifetime = 28;
|
||||
//
|
||||
// Not recommended: Set the following to true to allow the use
|
||||
// off non-Moodle standard characters in usernames.
|
||||
// $CFG->extendedusernamechars = true;
|
||||
//
|
||||
// Allow user passwords to be included in backup files. Very dangerous
|
||||
// setting as far as it publishes password hashes that can be unencrypted
|
||||
// if the backup file is publicy available. Use it only if you can guarantee
|
||||
// that all your backup files remain only privacy available and are never
|
||||
// shared out from your site/institution!
|
||||
// $CFG->includeuserpasswordsinbackup = true;
|
||||
//
|
||||
// Completely disable user creation when restoring a course, bypassing any
|
||||
// permissions granted via roles and capabilities. Enabling this setting
|
||||
// results in the restore process stopping when a user attempts to restore a
|
||||
// course requiring users to be created.
|
||||
// $CFG->disableusercreationonrestore = true;
|
||||
//
|
||||
// Keep the temporary directories used by backup and restore without being
|
||||
// deleted at the end of the process. Use it if you want to debug / view
|
||||
// all the information stored there after the process has ended. Note that
|
||||
// those directories may be deleted (after some ttl) both by cron and / or
|
||||
// by new backup / restore invocations.
|
||||
// $CFG->keeptempdirectoriesonbackup = true;
|
||||
//
|
||||
// Modify the restore process in order to force the "user checks" to assume
|
||||
// that the backup originated from a different site, so detection of matching
|
||||
// users is performed with different (more "relaxed") rules. Note that this is
|
||||
// only useful if the backup file has been created using Moodle < 1.9.4 and the
|
||||
// site has been rebuilt from scratch using backup files (not the best way btw).
|
||||
// If you obtain user conflicts on restore, rather than enabling this setting
|
||||
// permanently, try restoring the backup on a different site, back it up again
|
||||
// and then restore on the target server.
|
||||
// $CFG->forcedifferentsitecheckingusersonrestore = true;
|
||||
//
|
||||
// Force the backup system to continue to create backups in the legacy zip
|
||||
// format instead of the new tgz format. Does not affect restore, which
|
||||
// auto-detects the underlying file format.
|
||||
// $CFG->usezipbackups = true;
|
||||
//
|
||||
// Prevent stats processing and hide the GUI
|
||||
// $CFG->disablestatsprocessing = true;
|
||||
//
|
||||
// Setting this to true will enable admins to edit any post at any time
|
||||
// $CFG->admineditalways = true;
|
||||
//
|
||||
// These variables define DEFAULT block variables for new courses
|
||||
// If this one is set it overrides all others and is the only one used.
|
||||
// $CFG->defaultblocks_override = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
|
||||
//
|
||||
// These variables define the specific settings for defined course formats.
|
||||
// They override any settings defined in the formats own config file.
|
||||
// $CFG->defaultblocks_site = 'site_main_menu,course_list:course_summary,calendar_month';
|
||||
// $CFG->defaultblocks_social = 'participants,search_forums,calendar_month,calendar_upcoming,social_activities,recent_activity,course_list';
|
||||
// $CFG->defaultblocks_topics = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
|
||||
// $CFG->defaultblocks_weeks = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
|
||||
//
|
||||
// These blocks are used when no other default setting is found.
|
||||
// $CFG->defaultblocks = 'participants,activity_modules,search_forums,course_list:news_items,calendar_upcoming,recent_activity';
|
||||
//
|
||||
// You can specify a different class to be created for the $PAGE global, and to
|
||||
// compute which blocks appear on each page. However, I cannot think of any good
|
||||
// reason why you would need to change that. It just felt wrong to hard-code the
|
||||
// the class name. You are strongly advised not to use these to settings unless
|
||||
// you are absolutely sure you know what you are doing.
|
||||
// $CFG->moodlepageclass = 'moodle_page';
|
||||
// $CFG->moodlepageclassfile = "$CFG->dirroot/local/myplugin/mypageclass.php";
|
||||
// $CFG->blockmanagerclass = 'block_manager';
|
||||
// $CFG->blockmanagerclassfile = "$CFG->dirroot/local/myplugin/myblockamanagerclass.php";
|
||||
//
|
||||
// Seconds for files to remain in caches. Decrease this if you are worried
|
||||
// about students being served outdated versions of uploaded files.
|
||||
// $CFG->filelifetime = 60*60*6;
|
||||
//
|
||||
// Some web servers can offload the file serving from PHP process,
|
||||
// comment out one the following options to enable it in Moodle:
|
||||
// $CFG->xsendfile = 'X-Sendfile'; // Apache {@see https://tn123.org/mod_xsendfile/}
|
||||
// $CFG->xsendfile = 'X-LIGHTTPD-send-file'; // Lighttpd {@see http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file}
|
||||
// $CFG->xsendfile = 'X-Accel-Redirect'; // Nginx {@see http://wiki.nginx.org/XSendfile}
|
||||
// If your X-Sendfile implementation (usually Nginx) uses directory aliases specify them
|
||||
// in the following array setting:
|
||||
// $CFG->xsendfilealiases = array(
|
||||
// '/dataroot/' => $CFG->dataroot,
|
||||
// '/cachedir/' => '/var/www/moodle/cache', // for custom $CFG->cachedir locations
|
||||
// '/localcachedir/' => '/var/local/cache', // for custom $CFG->localcachedir locations
|
||||
// '/tempdir/' => '/var/www/moodle/temp', // for custom $CFG->tempdir locations
|
||||
// '/filedir' => '/var/www/moodle/filedir', // for custom $CFG->filedir locations
|
||||
// );
|
||||
//
|
||||
// YUI caching may be sometimes improved by slasharguments:
|
||||
// $CFG->yuislasharguments = 1;
|
||||
// Some servers may need a special rewrite rule to work around internal path length limitations:
|
||||
// RewriteRule (^.*/theme/yui_combo\.php)(/.*) $1?file=$2
|
||||
//
|
||||
//
|
||||
// Following settings may be used to select session driver, uncomment only one of the handlers.
|
||||
// Database session handler (not compatible with MyISAM):
|
||||
// $CFG->session_handler_class = '\core\session\database';
|
||||
// $CFG->session_database_acquire_lock_timeout = 120;
|
||||
//
|
||||
// File session handler (file system locking required):
|
||||
// $CFG->session_handler_class = '\core\session\file';
|
||||
// $CFG->session_file_save_path = $CFG->dataroot.'/sessions';
|
||||
//
|
||||
// Memcached session handler (requires memcached server and extension):
|
||||
// $CFG->session_handler_class = '\core\session\memcached';
|
||||
// $CFG->session_memcached_save_path = '127.0.0.1:11211';
|
||||
// $CFG->session_memcached_prefix = 'memc.sess.key.';
|
||||
// $CFG->session_memcached_acquire_lock_timeout = 120;
|
||||
// $CFG->session_memcached_lock_expire = 7200; // Ignored if PECL memcached is below version 2.2.0
|
||||
// $CFG->session_memcached_lock_retry_sleep = 150; // Spin-lock retry sleeptime (msec). Only effective
|
||||
// // for tuning php-memcached 3.0.x (PHP 7)
|
||||
//
|
||||
// Redis session handler (requires redis server and redis extension):
|
||||
// $CFG->session_handler_class = '\core\session\redis';
|
||||
// $CFG->session_redis_host = '127.0.0.1';
|
||||
// $CFG->session_redis_port = 6379; // Optional.
|
||||
// $CFG->session_redis_database = 0; // Optional, default is db 0.
|
||||
// $CFG->session_redis_auth = ''; // Optional, default is don't set one.
|
||||
// $CFG->session_redis_prefix = ''; // Optional, default is don't set one.
|
||||
// $CFG->session_redis_acquire_lock_timeout = 120;
|
||||
// $CFG->session_redis_lock_expire = 7200;
|
||||
// Use the igbinary serializer instead of the php default one. Note that phpredis must be compiled with
|
||||
// igbinary support to make the setting to work. Also, if you change the serializer you have to flush the database!
|
||||
// $CFG->session_redis_serializer_use_igbinary = false; // Optional, default is PHP builtin serializer.
|
||||
//
|
||||
// Memcache session handler (requires memcached server and memcache extension):
|
||||
// $CFG->session_handler_class = '\core\session\memcache';
|
||||
// $CFG->session_memcache_save_path = '127.0.0.1:11211';
|
||||
// $CFG->session_memcache_acquire_lock_timeout = 120;
|
||||
// ** NOTE: Memcache extension has less features than memcached and may be
|
||||
// less reliable. Use memcached where possible or if you encounter
|
||||
// session problems. **
|
||||
//
|
||||
// Please be aware that when selecting either Memcached or Memcache for sessions that it is advised to use a dedicated
|
||||
// memcache server. The memcache and memcached extensions do not provide isolated environments for individual uses.
|
||||
// Using the same server for other purposes (MUC for example) can lead to sessions being prematurely removed should
|
||||
// the other uses of the server purge the cache.
|
||||
//
|
||||
// Following setting allows you to alter how frequently is timemodified updated in sessions table.
|
||||
// $CFG->session_update_timemodified_frequency = 20; // In seconds.
|
||||
//
|
||||
// If this setting is set to true, then Moodle will track the IP of the
|
||||
// current user to make sure it hasn't changed during a session. This
|
||||
// will prevent the possibility of sessions being hijacked via XSS, but it
|
||||
// may break things for users coming using proxies that change all the time,
|
||||
// like AOL.
|
||||
// $CFG->tracksessionip = true;
|
||||
//
|
||||
// The following lines are for handling email bounces.
|
||||
// $CFG->handlebounces = true;
|
||||
// $CFG->minbounces = 10;
|
||||
// $CFG->bounceratio = .20;
|
||||
// The next lines are needed both for bounce handling and any other email to module processing.
|
||||
// mailprefix must be EXACTLY four characters.
|
||||
// Uncomment and customise this block for Postfix
|
||||
// $CFG->mailprefix = 'mdl+'; // + is the separator for Exim and Postfix.
|
||||
// $CFG->mailprefix = 'mdl-'; // - is the separator for qmail
|
||||
// $CFG->maildomain = 'youremaildomain.com';
|
||||
//
|
||||
// Enable when setting up advanced reverse proxy load balancing configurations,
|
||||
// it may be also necessary to enable this when using port forwarding.
|
||||
// $CFG->reverseproxy = true;
|
||||
//
|
||||
// Enable when using external SSL appliance for performance reasons.
|
||||
// Please note that site may be accessible via http: or https:, but not both!
|
||||
// $CFG->sslproxy = true;
|
||||
//
|
||||
// This setting will cause the userdate() function not to fix %d in
|
||||
// date strings, and just let them show with a zero prefix.
|
||||
// $CFG->nofixday = true;
|
||||
//
|
||||
// This setting will make some graphs (eg user logs) use lines instead of bars
|
||||
// $CFG->preferlinegraphs = true;
|
||||
//
|
||||
// This setting allows you to specify a class to rewrite outgoing urls
|
||||
// enabling 'clean urls' in conjunction with an apache / nginx handler.
|
||||
// The handler must implement \core\output\url_rewriter.
|
||||
// $CFG->urlrewriteclass = '\local_cleanurls\url_rewriter';
|
||||
//
|
||||
// Enabling this will allow custom scripts to replace existing moodle scripts.
|
||||
// For example: if $CFG->customscripts/course/view.php exists then
|
||||
// it will be used instead of $CFG->wwwroot/course/view.php
|
||||
// At present this will only work for files that include config.php and are called
|
||||
// as part of the url (index.php is implied).
|
||||
// Some examples are:
|
||||
// http://my.moodle.site/course/view.php
|
||||
// http://my.moodle.site/index.php
|
||||
// http://my.moodle.site/admin (index.php implied)
|
||||
// Custom scripts should not include config.php
|
||||
// Warning: Replacing standard moodle scripts may pose security risks and/or may not
|
||||
// be compatible with upgrades. Use this option only if you are aware of the risks
|
||||
// involved.
|
||||
// Specify the full directory path to the custom scripts
|
||||
// $CFG->customscripts = '/home/example/customscripts';
|
||||
//
|
||||
// Performance profiling
|
||||
//
|
||||
// If you set Debug to "Yes" in the Configuration->Variables page some
|
||||
// performance profiling data will show up on your footer (in default theme).
|
||||
// With these settings you get more granular control over the capture
|
||||
// and printout of the data
|
||||
//
|
||||
// Capture performance profiling data
|
||||
// define('MDL_PERF' , true);
|
||||
//
|
||||
// Capture additional data from DB
|
||||
// define('MDL_PERFDB' , true);
|
||||
//
|
||||
// Print to log (for passive profiling of production servers)
|
||||
// define('MDL_PERFTOLOG' , true);
|
||||
//
|
||||
// Print to footer (works with the default theme)
|
||||
// define('MDL_PERFTOFOOT', true);
|
||||
//
|
||||
// Enable earlier profiling that causes more code to be covered
|
||||
// on every request (db connections, config load, other inits...).
|
||||
// Requires extra configuration to be defined in config.php like:
|
||||
// profilingincluded, profilingexcluded, profilingautofrec,
|
||||
// profilingallowme, profilingallowall, profilinglifetime
|
||||
// $CFG->earlyprofilingenabled = true;
|
||||
//
|
||||
// Force displayed usernames
|
||||
// A little hack to anonymise user names for all students. If you set these
|
||||
// then all non-teachers will always see these for every person.
|
||||
// $CFG->forcefirstname = 'Bruce';
|
||||
// $CFG->forcelastname = 'Simpson';
|
||||
//
|
||||
// The following setting will turn on username logging into Apache log. For full details regarding setting
|
||||
// up of this function please refer to the install section of the document.
|
||||
// $CFG->apacheloguser = 0; // Turn this feature off. Default value.
|
||||
// $CFG->apacheloguser = 1; // Log user id.
|
||||
// $CFG->apacheloguser = 2; // Log full name in cleaned format. ie, Darth Vader will be displayed as darth_vader.
|
||||
// $CFG->apacheloguser = 3; // Log username.
|
||||
// To get the values logged in Apache's log, add to your httpd.conf
|
||||
// the following statements. In the General part put:
|
||||
// LogFormat "%h %l %{MOODLEUSER}n %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\"" moodleformat
|
||||
// And in the part specific to your Moodle install / virtualhost:
|
||||
// CustomLog "/your/path/to/log" moodleformat
|
||||
//
|
||||
// Alternatively for other webservers such as nginx, you can instead have the username sent via a http header
|
||||
// 'X-MOODLEUSER' which can be saved in the logfile and then stripped out before being sent to the browser:
|
||||
// $CFG->headerloguser = 0; // Turn this feature off. Default value.
|
||||
// $CFG->headerloguser = 1; // Log user id.
|
||||
// $CFG->headerloguser = 2; // Log full name in cleaned format. ie, Darth Vader will be displayed as darth_vader.
|
||||
// $CFG->headerloguser = 3; // Log username.
|
||||
//
|
||||
// CAUTION: Use of this option will expose usernames in the Apache / nginx log,
|
||||
// If you are going to publish your log, or the output of your web stats analyzer
|
||||
// this will weaken the security of your website.
|
||||
//
|
||||
// Email database connection errors to someone. If Moodle cannot connect to the
|
||||
// database, then email this address with a notice.
|
||||
//
|
||||
// $CFG->emailconnectionerrorsto = 'your@emailaddress.com';
|
||||
//
|
||||
// Set the priority of themes from highest to lowest. This is useful (for
|
||||
// example) in sites where the user theme should override all other theme
|
||||
// settings for accessibility reasons. You can also disable types of themes
|
||||
// (other than site) by removing them from the array. The default setting is:
|
||||
//
|
||||
// $CFG->themeorder = array('course', 'category', 'session', 'user', 'cohort', 'site');
|
||||
//
|
||||
// NOTE: course, category, session, user, cohort themes still require the
|
||||
// respective settings to be enabled
|
||||
//
|
||||
// It is possible to add extra themes directory stored outside of $CFG->dirroot.
|
||||
// This local directory does not have to be accessible from internet.
|
||||
//
|
||||
// $CFG->themedir = '/location/of/extra/themes';
|
||||
//
|
||||
// It is possible to specify different cache and temp directories, use local fast filesystem
|
||||
// for normal web servers. Server clusters MUST use shared filesystem for cachedir!
|
||||
// Localcachedir is intended for server clusters, it does not have to be shared by cluster nodes.
|
||||
// The directories must not be accessible via web.
|
||||
//
|
||||
// $CFG->tempdir = '/var/www/moodle/temp'; // Directory MUST BE SHARED by all cluster nodes.
|
||||
// $CFG->cachedir = '/var/www/moodle/cache'; // Directory MUST BE SHARED by all cluster nodes, locking required.
|
||||
// $CFG->localcachedir = '/var/local/cache'; // Intended for local node caching.
|
||||
//
|
||||
// It is possible to specify a different backup temp directory, use local fast filesystem
|
||||
// for normal web servers. Server clusters MUST use shared filesystem for backuptempdir!
|
||||
// The directory must not be accessible via web.
|
||||
//
|
||||
// $CFG->backuptempdir = '/var/www/moodle/backuptemp'; // Directory MUST BE SHARED by all cluster nodes.
|
||||
//
|
||||
// Some filesystems such as NFS may not support file locking operations.
|
||||
// Locking resolves race conditions and is strongly recommended for production servers.
|
||||
// $CFG->preventfilelocking = false;
|
||||
//
|
||||
// Site default language can be set via standard administration interface. If you
|
||||
// want to have initial error messages for eventual database connection problems
|
||||
// localized too, you have to set your language code here.
|
||||
//
|
||||
// $CFG->lang = 'yourlangcode'; // for example 'cs'
|
||||
//
|
||||
// When Moodle is about to perform an intensive operation it raises PHP's memory
|
||||
// limit. The following setting should be used on large sites to set the raised
|
||||
// memory limit to something higher.
|
||||
// The value for the settings should be a valid PHP memory value. e.g. 512M, 1G
|
||||
//
|
||||
// $CFG->extramemorylimit = '1024M';
|
||||
//
|
||||
// Moodle 2.4 introduced a new cache API.
|
||||
// The cache API stores a configuration file within the Moodle data directory and
|
||||
// uses that rather than the database in order to function in a stand-alone manner.
|
||||
// Using altcacheconfigpath you can change the location where this config file is
|
||||
// looked for.
|
||||
// It can either be a directory in which to store the file, or the full path to the
|
||||
// file if you want to take full control. Either way it must be writable by the
|
||||
// webserver.
|
||||
//
|
||||
// $CFG->altcacheconfigpath = '/var/www/shared/moodle.cache.config.php
|
||||
//
|
||||
// Use the following flag to completely disable the Available update notifications
|
||||
// feature and hide it from the server administration UI.
|
||||
//
|
||||
// $CFG->disableupdatenotifications = true;
|
||||
//
|
||||
// Use the following flag to completely disable the installation of plugins
|
||||
// (new plugins, available updates and missing dependencies) and related
|
||||
// features (such as cancelling the plugin installation or upgrade) via the
|
||||
// server administration web interface.
|
||||
//
|
||||
// $CFG->disableupdateautodeploy = true;
|
||||
//
|
||||
// Use the following flag to disable the warning on the system notifications page
|
||||
// about present development libraries. This flag will not disable the warning within
|
||||
// the security overview report. Use this flag only if you really have prohibited web
|
||||
// access to the development libraries in your webserver configuration.
|
||||
//
|
||||
// $CFG->disabledevlibdirscheck = true;
|
||||
//
|
||||
// Use the following flag to disable modifications to scheduled tasks
|
||||
// whilst still showing the state of tasks.
|
||||
//
|
||||
// $CFG->preventscheduledtaskchanges = true;
|
||||
//
|
||||
// As of version 2.4 Moodle serves icons as SVG images if the users browser appears
|
||||
// to support SVG.
|
||||
// For those wanting to control the serving of SVG images the following setting can
|
||||
// be defined in your config.php.
|
||||
// If it is not defined then the default (browser detection) will occur.
|
||||
//
|
||||
// To ensure they are always used when available:
|
||||
// $CFG->svgicons = true;
|
||||
//
|
||||
// To ensure they are never used even when available:
|
||||
// $CFG->svgicons = false;
|
||||
//
|
||||
// Some administration options allow setting the path to executable files. This can
|
||||
// potentially cause a security risk. Set this option to true to disable editing
|
||||
// those config settings via the web. They will need to be set explicitly in the
|
||||
// config.php file
|
||||
// $CFG->preventexecpath = true;
|
||||
//
|
||||
// Use the following flag to set userid for noreply user. If not set then moodle will
|
||||
// create dummy user and use -ve value as user id.
|
||||
// $CFG->noreplyuserid = -10;
|
||||
//
|
||||
// As of version 2.6 Moodle supports admin to set support user. If not set, all mails
|
||||
// will be sent to supportemail.
|
||||
// $CFG->supportuserid = -20;
|
||||
//
|
||||
// Moodle 2.7 introduces a locking api for critical tasks (e.g. cron).
|
||||
// The default locking system to use is DB locking for Postgres, and file locking for
|
||||
// MySQL, Oracle and SQLServer. If $CFG->preventfilelocking is set, then the default
|
||||
// will always be DB locking. It can be manually set to one of the lock
|
||||
// factory classes listed below, or one of your own custom classes implementing the
|
||||
// \core\lock\lock_factory interface.
|
||||
//
|
||||
// $CFG->lock_factory = "auto";
|
||||
//
|
||||
// The list of available lock factories is:
|
||||
//
|
||||
// "\\core\\lock\\file_lock_factory" - File locking
|
||||
// Uses lock files stored by default in the dataroot. Whether this
|
||||
// works on clusters depends on the file system used for the dataroot.
|
||||
//
|
||||
// "\\core\\lock\\db_record_lock_factory" - DB locking based on table rows.
|
||||
//
|
||||
// "\\core\\lock\\postgres_lock_factory" - DB locking based on postgres advisory locks.
|
||||
//
|
||||
// Settings used by the lock factories
|
||||
//
|
||||
// Location for lock files used by the File locking factory. This must exist
|
||||
// on a shared file system that supports locking.
|
||||
// $CFG->lock_file_root = $CFG->dataroot . '/lock';
|
||||
//
|
||||
// Moodle 2.9 allows administrators to customise the list of supported file types.
|
||||
// To add a new filetype or override the definition of an existing one, set the
|
||||
// customfiletypes variable like this:
|
||||
//
|
||||
// $CFG->customfiletypes = array(
|
||||
// (object)array(
|
||||
// 'extension' => 'frog',
|
||||
// 'icon' => 'archive',
|
||||
// 'type' => 'application/frog',
|
||||
// 'customdescription' => 'Amphibian-related file archive'
|
||||
// )
|
||||
// );
|
||||
//
|
||||
// The extension, icon, and type fields are required. The icon field can refer to
|
||||
// any icon inside the pix/f folder. You can also set the customdescription field
|
||||
// (shown above) and (for advanced use) the groups, string, and defaulticon fields.
|
||||
//
|
||||
// Upgrade key
|
||||
//
|
||||
// If the upgrade key is defined here, then the value must be provided every time
|
||||
// the site is being upgraded though the web interface, regardless of whether the
|
||||
// administrator is logged in or not. This prevents anonymous access to the upgrade
|
||||
// screens where the real authentication and authorization mechanisms can not be
|
||||
// relied on.
|
||||
//
|
||||
// It is strongly recommended to use a value different from your real account
|
||||
// password.
|
||||
//
|
||||
// $CFG->upgradekey = 'put_some_password-like_value_here';
|
||||
//
|
||||
//=========================================================================
|
||||
// 7. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!!
|
||||
//=========================================================================
|
||||
//
|
||||
// Force a debugging mode regardless the settings in the site administration
|
||||
// @error_reporting(E_ALL | E_STRICT); // NOT FOR PRODUCTION SERVERS!
|
||||
// @ini_set('display_errors', '1'); // NOT FOR PRODUCTION SERVERS!
|
||||
// $CFG->debug = (E_ALL | E_STRICT); // === DEBUG_DEVELOPER - NOT FOR PRODUCTION SERVERS!
|
||||
// $CFG->debugdisplay = 1; // NOT FOR PRODUCTION SERVERS!
|
||||
//
|
||||
// You can specify a comma separated list of user ids that that always see
|
||||
// debug messages, this overrides the debug flag in $CFG->debug and $CFG->debugdisplay
|
||||
// for these users only.
|
||||
// $CFG->debugusers = '2';
|
||||
//
|
||||
// Prevent theme caching
|
||||
// $CFG->themedesignermode = true; // NOT FOR PRODUCTION SERVERS!
|
||||
//
|
||||
// Enable verbose debug information during fetching of email messages from IMAP server.
|
||||
// $CFG->debugimap = true;
|
||||
//
|
||||
// Prevent JS caching
|
||||
// $CFG->cachejs = false; // NOT FOR PRODUCTION SERVERS!
|
||||
//
|
||||
// Restrict which YUI logging statements are shown in the browser console.
|
||||
// For details see the upstream documentation:
|
||||
// http://yuilibrary.com/yui/docs/api/classes/config.html#property_logInclude
|
||||
// http://yuilibrary.com/yui/docs/api/classes/config.html#property_logExclude
|
||||
// $CFG->yuiloginclude = array(
|
||||
// 'moodle-core-dock-loader' => true,
|
||||
// 'moodle-course-categoryexpander' => true,
|
||||
// );
|
||||
// $CFG->yuilogexclude = array(
|
||||
// 'moodle-core-dock' => true,
|
||||
// 'moodle-core-notification' => true,
|
||||
// );
|
||||
//
|
||||
// Set the minimum log level for YUI logging statements.
|
||||
// For details see the upstream documentation:
|
||||
// http://yuilibrary.com/yui/docs/api/classes/config.html#property_logLevel
|
||||
// $CFG->yuiloglevel = 'debug';
|
||||
//
|
||||
// Prevent core_string_manager application caching
|
||||
// $CFG->langstringcache = false; // NOT FOR PRODUCTION SERVERS!
|
||||
//
|
||||
// When working with production data on test servers, no emails or other messages
|
||||
// should ever be send to real users
|
||||
// $CFG->noemailever = true; // NOT FOR PRODUCTION SERVERS!
|
||||
//
|
||||
// Divert all outgoing emails to this address to test and debug emailing features
|
||||
// $CFG->divertallemailsto = 'root@localhost.local'; // NOT FOR PRODUCTION SERVERS!
|
||||
//
|
||||
// Except for certain email addresses you want to let through for testing. Accepts
|
||||
// a comma separated list of regexes.
|
||||
// $CFG->divertallemailsexcept = 'tester@dev.com, fred(\+.*)?@example.com'; // NOT FOR PRODUCTION SERVERS!
|
||||
//
|
||||
// Uncomment if you want to allow empty comments when modifying install.xml files.
|
||||
// $CFG->xmldbdisablecommentchecking = true; // NOT FOR PRODUCTION SERVERS!
|
||||
//
|
||||
// Since 2.0 sql queries are not shown during upgrade by default.
|
||||
// Please note that this setting may produce very long upgrade page on large sites.
|
||||
// $CFG->upgradeshowsql = true; // NOT FOR PRODUCTION SERVERS!
|
||||
//
|
||||
// Add SQL queries to the output of cron, just before their execution
|
||||
// $CFG->showcronsql = true;
|
||||
//
|
||||
// Force developer level debug and add debug info to the output of cron
|
||||
// $CFG->showcrondebugging = true;
|
||||
//
|
||||
//=========================================================================
|
||||
// 8. FORCED SETTINGS
|
||||
//=========================================================================
|
||||
// It is possible to specify normal admin settings here, the point is that
|
||||
// they can not be changed through the standard admin settings pages any more.
|
||||
//
|
||||
// Core settings are specified directly via assignment to $CFG variable.
|
||||
// Example:
|
||||
// $CFG->somecoresetting = 'value';
|
||||
//
|
||||
// Plugin settings have to be put into a special array.
|
||||
// Example:
|
||||
// $CFG->forced_plugin_settings = array('pluginname' => array('settingname' => 'value', 'secondsetting' => 'othervalue'),
|
||||
// 'otherplugin' => array('mysetting' => 'myvalue', 'thesetting' => 'thevalue'));
|
||||
// Module default settings with advanced/locked checkboxes can be set too. To do this, add
|
||||
// an extra config with '_adv' or '_locked' as a suffix and set the value to true or false.
|
||||
// Example:
|
||||
// $CFG->forced_plugin_settings = array('pluginname' => array('settingname' => 'value', 'settingname_locked' => true, 'settingname_adv' => true));
|
||||
//
|
||||
//=========================================================================
|
||||
// 9. PHPUNIT SUPPORT
|
||||
//=========================================================================
|
||||
// $CFG->phpunit_prefix = 'phpu_';
|
||||
// $CFG->phpunit_dataroot = '/home/example/phpu_moodledata';
|
||||
// $CFG->phpunit_directorypermissions = 02777; // optional
|
||||
// $CFG->phpunit_profilingenabled = true; // optional to profile PHPUnit runs.
|
||||
//
|
||||
//
|
||||
//=========================================================================
|
||||
// 10. SECRET PASSWORD SALT
|
||||
//=========================================================================
|
||||
// A site-wide password salt is no longer used in new installations.
|
||||
// If upgrading from 2.6 or older, keep all existing salts in config.php file.
|
||||
//
|
||||
// $CFG->passwordsaltmain = 'a_very_long_random_string_of_characters#@6&*1';
|
||||
//
|
||||
// You may also have some alternative salts to allow migration from previously
|
||||
// used salts.
|
||||
//
|
||||
// $CFG->passwordsaltalt1 = '';
|
||||
// $CFG->passwordsaltalt2 = '';
|
||||
// $CFG->passwordsaltalt3 = '';
|
||||
// ....
|
||||
// $CFG->passwordsaltalt19 = '';
|
||||
// $CFG->passwordsaltalt20 = '';
|
||||
//
|
||||
//
|
||||
//=========================================================================
|
||||
// 11. BEHAT SUPPORT
|
||||
//=========================================================================
|
||||
// Behat test site needs a unique www root, data directory and database prefix:
|
||||
//
|
||||
// $CFG->behat_wwwroot = 'http://127.0.0.1/moodle';
|
||||
// $CFG->behat_prefix = 'bht_';
|
||||
// $CFG->behat_dataroot = '/home/example/bht_moodledata';
|
||||
//
|
||||
// You can override default Moodle configuration for Behat and add your own
|
||||
// params; here you can add more profiles, use different Mink drivers than Selenium...
|
||||
// These params would be merged with the default Moodle behat.yml, giving priority
|
||||
// to the ones specified here. The array format is YAML, following the Behat
|
||||
// params hierarchy. More info: http://docs.behat.org/guides/7.config.html
|
||||
// Example:
|
||||
// $CFG->behat_config = array(
|
||||
// 'Mac-Firefox' => array(
|
||||
// 'suites' => array (
|
||||
// 'default' => array(
|
||||
// 'filters' => array(
|
||||
// 'tags' => '~@_file_upload'
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// 'extensions' => array(
|
||||
// 'Behat\MinkExtension' => array(
|
||||
// 'selenium2' => array(
|
||||
// 'browser' => 'firefox',
|
||||
// 'capabilities' => array(
|
||||
// 'platform' => 'OS X 10.6',
|
||||
// 'version' => 20
|
||||
// )
|
||||
// )
|
||||
// )
|
||||
// )
|
||||
// ),
|
||||
// 'Mac-Safari' => array(
|
||||
// 'extensions' => array(
|
||||
// 'Behat\MinkExtension' => array(
|
||||
// 'selenium2' => array(
|
||||
// 'browser' => 'safari',
|
||||
// 'capabilities' => array(
|
||||
// 'platform' => 'OS X 10.8',
|
||||
// 'version' => 6
|
||||
// )
|
||||
// )
|
||||
// )
|
||||
// )
|
||||
// )
|
||||
// );
|
||||
// You can also use the following config to override default Moodle configuration for Behat.
|
||||
// This config is limited to default suite and will be supported in later versions.
|
||||
// It will have precedence over $CFG->behat_config.
|
||||
// $CFG->behat_profiles = array(
|
||||
// 'phantomjs' => array(
|
||||
// 'browser' => 'phantomjs',
|
||||
// 'tags' => '~@_file_upload&&~@_alert&&~@_bug_phantomjs',
|
||||
// 'wd_host' => 'http://127.0.0.1:4443/wd/hub',
|
||||
// 'capabilities' => array(
|
||||
// 'platform' => 'Linux',
|
||||
// 'version' => 2.1
|
||||
// )
|
||||
// ),
|
||||
// );
|
||||
//
|
||||
// You can force the browser session (not user's sessions) to restart after N seconds. This could
|
||||
// be useful if you are using a cloud-based service with time restrictions in the browser side.
|
||||
// Setting this value the browser session that Behat is using will be restarted. Set the time in
|
||||
// seconds. Is not recommended to use this setting if you don't explicitly need it.
|
||||
// Example:
|
||||
// $CFG->behat_restart_browser_after = 7200; // Restarts the browser session after 2 hours
|
||||
//
|
||||
// All this page's extra Moodle settings are compared against a white list of allowed settings
|
||||
// (the basic and behat_* ones) to avoid problems with production environments. This setting can be
|
||||
// used to expand the default white list with an array of extra settings.
|
||||
// Example:
|
||||
// $CFG->behat_extraallowedsettings = array('somecoresetting', ...);
|
||||
//
|
||||
// You should explicitly allow the usage of the deprecated behat steps, otherwise an exception will
|
||||
// be thrown when using them. The setting is disabled by default.
|
||||
// Example:
|
||||
// $CFG->behat_usedeprecated = true;
|
||||
//
|
||||
// Including feature files from directories outside the dirroot is possible if required. The setting
|
||||
// requires that the running user has executable permissions on all parent directories in the paths.
|
||||
// Example:
|
||||
// $CFG->behat_additionalfeatures = array('/home/developer/code/wipfeatures');
|
||||
//
|
||||
// You can make behat save several dumps when a scenario fails. The dumps currently saved are:
|
||||
// * a dump of the DOM in it's state at the time of failure; and
|
||||
// * a screenshot (JavaScript is required for the screenshot functionality, so not all browsers support this option)
|
||||
// Example:
|
||||
// $CFG->behat_faildump_path = '/my/path/to/save/failure/dumps';
|
||||
//
|
||||
// You can specify db, selenium wd_host etc. for behat parallel run by setting following variable.
|
||||
// Example:
|
||||
// $CFG->behat_parallel_run = array (
|
||||
// array (
|
||||
// 'dbtype' => 'mysqli',
|
||||
// 'dblibrary' => 'native',
|
||||
// 'dbhost' => 'localhost',
|
||||
// 'dbname' => 'moodletest',
|
||||
// 'dbuser' => 'moodle',
|
||||
// 'dbpass' => 'moodle',
|
||||
// 'behat_prefix' => 'mdl_',
|
||||
// 'wd_host' => 'http://127.0.0.1:4444/wd/hub',
|
||||
// 'behat_wwwroot' => 'http://127.0.0.1/moodle',
|
||||
// 'behat_dataroot' => '/home/example/bht_moodledata'
|
||||
// ),
|
||||
// );
|
||||
//
|
||||
// To change name of behat parallel run site, define BEHAT_PARALLEL_SITE_NAME and parallel run sites will be suffixed
|
||||
// with this value
|
||||
// Example:
|
||||
// define('BEHAT_PARALLEL_SITE_NAME', 'behatparallelsite');
|
||||
//
|
||||
// Command line output for parallel behat install is limited to 80 chars, if you are installing more then 4 sites and
|
||||
// want to expand output to more then 80 chars, then define BEHAT_MAX_CMD_LINE_OUTPUT
|
||||
// Example:
|
||||
// define('BEHAT_MAX_CMD_LINE_OUTPUT', 120);
|
||||
//
|
||||
// Behat feature files will be distributed randomly between the processes by default. If you have timing file or want
|
||||
// to create timing file then define BEHAT_FEATURE_TIMING_FILE with path to timing file. It will be updated for each
|
||||
// run with latest time taken to execute feature.
|
||||
// Example:
|
||||
// define('BEHAT_FEATURE_TIMING_FILE', '/PATH_TO_TIMING_FILE/timing.json');
|
||||
//
|
||||
// If you don't have timing file and want some stable distribution of features, then you can use step counts to
|
||||
// distribute the features. You can generate step file by executing php admin/tool/behat/cli/util.php --updatesteps
|
||||
// this will update step file which is defined by BEHAT_FEATURE_STEP_FILE.
|
||||
// Example:
|
||||
// define('BEHAT_FEATURE_STEP_FILE', '/PATH_TO_FEATURE_STEP_COUNT_FILE/stepcount.json');
|
||||
//
|
||||
// Feature distribution for each process is displayed as histogram. you can disable it by setting
|
||||
// BEHAT_DISABLE_HISTOGRAM
|
||||
// Example:
|
||||
// define('BEHAT_DISABLE_HISTOGRAM', true);
|
||||
//
|
||||
//=========================================================================
|
||||
// 12. DEVELOPER DATA GENERATOR
|
||||
//=========================================================================
|
||||
//
|
||||
// The developer data generator tool is intended to be used only in development or testing sites and
|
||||
// it's usage in production environments is not recommended; if it is used to create JMeter test plans
|
||||
// is even less recommended as JMeter needs to log in as site course users. JMeter needs to know the
|
||||
// users passwords but would be dangerous to have a default password as everybody would know it, which would
|
||||
// be specially dangerouse if somebody uses this tool in a production site, so in order to prevent unintended
|
||||
// uses of the tool and undesired accesses as well, is compulsory to set a password for the users
|
||||
// generated by this tool, but only in case you want to generate a JMeter test. The value should be a string.
|
||||
// Example:
|
||||
// $CFG->tool_generator_users_password = 'examplepassword';
|
||||
//
|
||||
//=========================================================================
|
||||
// 13. SYSTEM PATHS (You need to set following, depending on your system)
|
||||
//=========================================================================
|
||||
// Ghostscript path.
|
||||
// On most Linux installs, this can be left as '/usr/bin/gs'.
|
||||
// On Windows it will be something like 'c:\gs\bin\gswin32c.exe' (make sure
|
||||
// there are no spaces in the path - if necessary copy the files 'gswin32c.exe'
|
||||
// and 'gsdll32.dll' to a new folder without a space in the path)
|
||||
// $CFG->pathtogs = '/usr/bin/gs';
|
||||
//
|
||||
// Path to du.
|
||||
// Probably something like /usr/bin/du. If you enter this, pages that display
|
||||
// directory contents will run much faster for directories with a lot of files.
|
||||
// $CFG->pathtodu = '';
|
||||
//
|
||||
// Path to aspell.
|
||||
// To use spell-checking within the editor, you MUST have aspell 0.50 or later
|
||||
// installed on your server, and you must specify the correct path to access the
|
||||
// aspell binary. On Unix/Linux systems, this path is usually /usr/bin/aspell,
|
||||
// but it might be something else.
|
||||
// $CFG->aspellpath = '';
|
||||
//
|
||||
// Path to dot.
|
||||
// Probably something like /usr/bin/dot. To be able to generate graphics from
|
||||
// DOT files, you must have installed the dot executable and point to it here.
|
||||
// Note that, for now, this only used by the profiling features
|
||||
// (Development->Profiling) built into Moodle.
|
||||
// $CFG->pathtodot = '';
|
||||
//
|
||||
// Path to unoconv.
|
||||
// Probably something like /usr/bin/unoconv. Used as a fallback to convert between document formats.
|
||||
// Unoconv is used convert between file formats supported by LibreOffice.
|
||||
// Use a recent version of unoconv ( >= 0.7 ), older versions have trouble running from a webserver.
|
||||
// $CFG->pathtounoconv = '';
|
||||
//
|
||||
//=========================================================================
|
||||
// 14. ALTERNATIVE FILE SYSTEM SETTINGS
|
||||
//=========================================================================
|
||||
//
|
||||
// Alternative file system.
|
||||
// Since 3.3 it is possible to override file_storage and file_system API and use alternative storage systems (e.g. S3,
|
||||
// Rackspace Cloud Files, Google Cloud Storage, Azure Storage, etc.).
|
||||
// To set the alternative file storage system in config.php you can use the following setting, providing the
|
||||
// alternative system class name that will be auto-loaded by file_storage API.
|
||||
//
|
||||
// $CFG->alternative_file_system_class = '\\local_myfilestorage\\file_system';
|
||||
//
|
||||
//=========================================================================
|
||||
// ALL DONE! To continue installation, visit your main page with a browser
|
||||
//=========================================================================
|
||||
require_once(__DIR__ . '/lib/setup.php'); // Do not edit
|
||||
// There is no php closing tag in this file,
|
||||
// it is intentional because it prevents trailing whitespace problems!
|
|
@ -1 +1 @@
|
|||
* * * * * /usr/bin/php YNH_DOMAIN/admin/cli/cron.php >/dev/null
|
||||
*/15 * * * * /usr/bin/php__YNH_PHP_VERSION__ __FINAL_PATH__/admin/cli/cron.php >/dev/null
|
||||
|
|
|
@ -1,29 +1,23 @@
|
|||
location __PATH__ {
|
||||
#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
|
||||
location __PATH__/ {
|
||||
|
||||
# Path to source
|
||||
alias __FINALPATH__/ ;
|
||||
|
||||
# Force usage of https
|
||||
if ($scheme = http) {
|
||||
rewrite ^ https://$server_name$request_uri? permanent;
|
||||
}
|
||||
|
||||
# Example PHP configuration (remove if not used)
|
||||
index index.php;
|
||||
|
||||
# Common parameter to increase upload size limit in conjuction with dedicated php-fpm file
|
||||
# Common parameter to increase upload size limit in conjunction with dedicated php-fpm file
|
||||
#client_max_body_size 50M;
|
||||
|
||||
try_files $uri $uri/ index.php;
|
||||
location ~ [^/]\.php(/|$) {
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
fastcgi_pass unix:/var/run/php5-fpm-__NAME__.sock;
|
||||
|
||||
# If you don't use a dedicated fpm config for your app,
|
||||
# use a general fpm pool.
|
||||
# This is to be used INSTEAD of line above
|
||||
# Don't forget to adjust scripts install/upgrade/remove/backup accordingly
|
||||
#
|
||||
#fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||
fastcgi_pass unix:/var/run/php/php7.3-fpm-__NAME__.sock;
|
||||
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
|
@ -31,7 +25,6 @@ location __PATH__ {
|
|||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||
}
|
||||
# PHP configuration end
|
||||
|
||||
# Include SSOWAT user panel.
|
||||
include conf.d/yunohost_panel.conf.inc;
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
; Start a new pool named 'www'.
|
||||
; the variable $pool can we used in any directive and will be replaced by the
|
||||
; the variable $pool can be used in any directive and will be replaced by the
|
||||
; pool name ('www' here)
|
||||
[__NAMETOCHANGE__]
|
||||
|
||||
; Per pool prefix
|
||||
; It only applies on the following directives:
|
||||
; - 'access.log'
|
||||
; - 'slowlog'
|
||||
; - 'listen' (unixsocket)
|
||||
; - 'chroot'
|
||||
|
@ -24,17 +25,19 @@ group = __USER__
|
|||
|
||||
; The address on which to accept FastCGI requests.
|
||||
; Valid syntaxes are:
|
||||
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
|
||||
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
|
||||
; a specific port;
|
||||
; 'port' - to listen on a TCP socket to all addresses on a
|
||||
; specific port;
|
||||
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
|
||||
; a specific port;
|
||||
; 'port' - to listen on a TCP socket to all addresses
|
||||
; (IPv6 and IPv4-mapped) on a specific port;
|
||||
; '/path/to/unix/socket' - to listen on a unix socket.
|
||||
; Note: This value is mandatory.
|
||||
listen = /var/run/php5-fpm-__NAMETOCHANGE__.sock
|
||||
listen = /var/run/php/php7.3-fpm-__NAMETOCHANGE__.sock
|
||||
|
||||
; Set listen(2) backlog. A value of '-1' means unlimited.
|
||||
; Default Value: 128 (-1 on FreeBSD and OpenBSD)
|
||||
;listen.backlog = 128
|
||||
; Set listen(2) backlog.
|
||||
; Default Value: 511 (-1 on FreeBSD and OpenBSD)
|
||||
;listen.backlog = 511
|
||||
|
||||
; Set permissions for unix socket, if one is used. In Linux, read/write
|
||||
; permissions must be set in order to allow connections from a web server. Many
|
||||
|
@ -44,8 +47,13 @@ listen = /var/run/php5-fpm-__NAMETOCHANGE__.sock
|
|||
listen.owner = www-data
|
||||
listen.group = www-data
|
||||
;listen.mode = 0660
|
||||
; When POSIX Access Control Lists are supported you can set them using
|
||||
; these options, value is a comma separated list of user/group names.
|
||||
; When set, listen.owner and listen.group are ignored
|
||||
;listen.acl_users =
|
||||
;listen.acl_groups =
|
||||
|
||||
; List of ipv4 addresses of FastCGI clients which are allowed to connect.
|
||||
; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect.
|
||||
; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
|
||||
; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
|
||||
; must be separated by a comma. If this value is left blank, connections will be
|
||||
|
@ -59,7 +67,13 @@ listen.group = www-data
|
|||
; - The pool processes will inherit the master process priority
|
||||
; unless it specified otherwise
|
||||
; Default Value: no set
|
||||
; priority = -19
|
||||
; process.priority = -19
|
||||
|
||||
; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user
|
||||
; or group is differrent than the master process user. It allows to create process
|
||||
; core dump and ptrace the process for the pool user.
|
||||
; Default Value: no
|
||||
; process.dumpable = yes
|
||||
|
||||
; Choose how the process manager will control the number of child processes.
|
||||
; Possible Values:
|
||||
|
@ -96,7 +110,7 @@ pm = dynamic
|
|||
; forget to tweak pm.* to fit your needs.
|
||||
; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
|
||||
; Note: This value is mandatory.
|
||||
pm.max_children = 10
|
||||
pm.max_children = 5
|
||||
|
||||
; The number of child processes created on startup.
|
||||
; Note: Used only when pm is set to 'dynamic'
|
||||
|
@ -122,7 +136,7 @@ pm.max_spare_servers = 3
|
|||
; This can be useful to work around memory leaks in 3rd party libraries. For
|
||||
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
|
||||
; Default Value: 0
|
||||
pm.max_requests = 500
|
||||
;pm.max_requests = 500
|
||||
|
||||
; The URI to view the FPM status page. If this value is not set, no URI will be
|
||||
; recognized as a status page. It shows the following informations:
|
||||
|
@ -215,7 +229,7 @@ pm.max_requests = 500
|
|||
; last request memory: 0
|
||||
;
|
||||
; Note: There is a real-time FPM status monitoring sample web page available
|
||||
; It's available in: ${prefix}/share/fpm/status.html
|
||||
; It's available in: /usr/share/php/7.0/fpm/status.html
|
||||
;
|
||||
; Note: The value must start with a leading slash (/). The value can be
|
||||
; anything, but it may not be a good idea to use the .php extension or it
|
||||
|
@ -275,7 +289,7 @@ pm.max_requests = 500
|
|||
; - %{megabytes}M
|
||||
; - %{mega}M
|
||||
; %n: pool name
|
||||
; %o: ouput header
|
||||
; %o: output header
|
||||
; it must be associated with embraces to specify the name of the header:
|
||||
; - %{Content-Type}o
|
||||
; - %{X-Powered-By}o
|
||||
|
@ -291,9 +305,13 @@ pm.max_requests = 500
|
|||
; %t: server time the request was received
|
||||
; it can accept a strftime(3) format:
|
||||
; %d/%b/%Y:%H:%M:%S %z (default)
|
||||
; The strftime(3) format must be encapsuled in a %{<strftime_format>}t tag
|
||||
; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
|
||||
; %T: time the log has been written (the request has finished)
|
||||
; it can accept a strftime(3) format:
|
||||
; %d/%b/%Y:%H:%M:%S %z (default)
|
||||
; The strftime(3) format must be encapsuled in a %{<strftime_format>}t tag
|
||||
; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
|
||||
; %u: remote user
|
||||
;
|
||||
; Default: "%R - %u %t \"%m %r\" %s"
|
||||
|
@ -302,13 +320,13 @@ pm.max_requests = 500
|
|||
; The log file for slow requests
|
||||
; Default Value: not set
|
||||
; Note: slowlog is mandatory if request_slowlog_timeout is set
|
||||
slowlog = /var/log/nginx/__NAMETOCHANGE__.slow.log
|
||||
;slowlog = log/$pool.log.slow
|
||||
|
||||
; The timeout for serving a single request after which a PHP backtrace will be
|
||||
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
|
||||
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
|
||||
; Default Value: 0
|
||||
request_slowlog_timeout = 5s
|
||||
;request_slowlog_timeout = 0
|
||||
|
||||
; The timeout for serving a single request after which the worker process will
|
||||
; be killed. This option should be used when the 'max_execution_time' ini option
|
||||
|
@ -347,15 +365,24 @@ chdir = __FINALPATH__
|
|||
; Note: on highloaded environement, this can cause some delay in the page
|
||||
; process time (several ms).
|
||||
; Default Value: no
|
||||
catch_workers_output = yes
|
||||
;catch_workers_output = yes
|
||||
|
||||
; Clear environment in FPM workers
|
||||
; Prevents arbitrary environment variables from reaching FPM worker processes
|
||||
; by clearing the environment in workers before env vars specified in this
|
||||
; pool configuration are added.
|
||||
; Setting to "no" will make all environment variables available to PHP code
|
||||
; via getenv(), $_ENV and $_SERVER.
|
||||
; Default Value: yes
|
||||
;clear_env = no
|
||||
|
||||
; Limits the extensions of the main script FPM will allow to parse. This can
|
||||
; prevent configuration mistakes on the web server side. You should only limit
|
||||
; FPM to .php extensions to prevent malicious users to use other extensions to
|
||||
; exectute php code.
|
||||
; execute php code.
|
||||
; Note: set an empty value to allow all extensions.
|
||||
; Default Value: .php
|
||||
;security.limit_extensions = .php .php3 .php4 .php5
|
||||
;security.limit_extensions = .php .php3 .php4 .php5 .php7
|
||||
|
||||
; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
|
||||
; the current environment.
|
||||
|
@ -390,3 +417,14 @@ catch_workers_output = yes
|
|||
;php_admin_value[error_log] = /var/log/fpm-php.www.log
|
||||
;php_admin_flag[log_errors] = on
|
||||
;php_admin_value[memory_limit] = 32M
|
||||
|
||||
; Common values to change to increase file upload limit
|
||||
; php_admin_value[upload_max_filesize] = 50M
|
||||
; php_admin_value[post_max_size] = 50M
|
||||
; php_admin_flag[mail.add_x_header] = Off
|
||||
|
||||
; Other common parameters
|
||||
; php_admin_value[max_execution_time] = 600
|
||||
; php_admin_value[max_input_time] = 300
|
||||
; php_admin_value[memory_limit] = 256M
|
||||
; php_admin_flag[short_open_tag] = On
|
||||
|
|
|
@ -1,72 +1,27 @@
|
|||
#!/bin/bash
|
||||
|
||||
# ============= FUTURE YUNOHOST HELPER =============
|
||||
# Delete a file checksum from the app settings
|
||||
#
|
||||
# $app should be defined when calling this helper
|
||||
#
|
||||
# usage: ynh_remove_file_checksum file
|
||||
# | arg: file - The file for which the checksum will be deleted
|
||||
ynh_delete_file_checksum () {
|
||||
local checksum_setting_name=checksum_${1//[\/ ]/_} # Replace all '/' and ' ' by '_'
|
||||
ynh_app_setting_delete $app $checksum_setting_name
|
||||
}
|
||||
#=================================================
|
||||
# COMMON VARIABLES
|
||||
#=================================================
|
||||
|
||||
extra_pkg_dependencies="php7.1-zip php7.1-mysql php7.1-xml php7.1-intl php7.1-mbstring php7.1-gd php7.1-curl php7.1-soap php7.1-pgsql php7.1-xmlrpc"
|
||||
# dependencies used by the app
|
||||
YNH_PHP_VERSION="7.3"
|
||||
extra_pkg_dependencies="php$YNH_PHP_VERSION-common php$YNH_PHP_VERSION-mbstring php$YNH_PHP_VERSION-curl php$YNH_PHP_VERSION-xmlrpc php$YNH_PHP_VERSION-soap php$YNH_PHP_VERSION-zip php$YNH_PHP_VERSION-gd php$YNH_PHP_VERSION-xml php$YNH_PHP_VERSION-intl php$YNH_PHP_VERSION-json php$YNH_PHP_VERSION-pgsql php$YNH_PHP_VERSION-ldap"
|
||||
pkg_dependencies="postgresql"
|
||||
|
||||
# Send an email to inform the administrator
|
||||
#
|
||||
# usage: ynh_send_readme_to_admin app_message [recipients]
|
||||
# | arg: app_message - The message to send to the administrator.
|
||||
# | arg: recipients - The recipients of this email. Use spaces to separate multiples recipients. - default: root
|
||||
# example: "root admin@domain"
|
||||
# If you give the name of a YunoHost user, ynh_send_readme_to_admin will find its email adress for you
|
||||
# example: "root admin@domain user1 user2"
|
||||
ynh_send_readme_to_admin() {
|
||||
local app_message="${1:-...No specific information...}"
|
||||
local recipients="${2:-root}"
|
||||
#=================================================
|
||||
# EXPERIMENTAL HELPERS
|
||||
#=================================================
|
||||
|
||||
# Retrieve the email of users
|
||||
find_mails () {
|
||||
local list_mails="$1"
|
||||
local mail
|
||||
local recipients=" "
|
||||
# Read each mail in argument
|
||||
for mail in $list_mails
|
||||
do
|
||||
# Keep root or a real email address as it is
|
||||
if [ "$mail" = "root" ] || echo "$mail" | grep --quiet "@"
|
||||
then
|
||||
recipients="$recipients $mail"
|
||||
# Execute a command as another user
|
||||
# usage: exec_as USER COMMAND [ARG ...]
|
||||
exec_as() {
|
||||
local USER=$1
|
||||
shift 1
|
||||
|
||||
if [[ $USER = $(whoami) ]]; then
|
||||
eval "$@"
|
||||
else
|
||||
# But replace an user name without a domain after by its email
|
||||
if mail=$(ynh_user_get_info "$mail" "mail" 2> /dev/null)
|
||||
then
|
||||
recipients="$recipients $mail"
|
||||
sudo -u "$USER" "$@"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
echo "$recipients"
|
||||
}
|
||||
recipients=$(find_mails "$recipients")
|
||||
|
||||
local mail_subject="☁️🆈🅽🅷☁️: \`$app\` has important message for you"
|
||||
|
||||
local mail_message="This is an automated message from your beloved YunoHost server.
|
||||
Specific information for the application $app.
|
||||
$app_message
|
||||
---
|
||||
Automatic diagnosis data from YunoHost
|
||||
$(yunohost tools diagnosis | grep -B 100 "services:" | sed '/services:/d')"
|
||||
|
||||
# Define binary to use for mail command
|
||||
if [ -e /usr/bin/bsd-mailx ]
|
||||
then
|
||||
local mail_bin=/usr/bin/bsd-mailx
|
||||
else
|
||||
local mail_bin=/usr/bin/mail.mailutils
|
||||
fi
|
||||
|
||||
# Send the email to the recipients
|
||||
echo "$mail_message" | $mail_bin -a "Content-Type: text/plain; charset=UTF-8" -s "$mail_subject" "$recipients"
|
||||
}
|
167
scripts/install
167
scripts/install
|
@ -7,10 +7,9 @@
|
|||
#=================================================
|
||||
|
||||
source _common.sh
|
||||
source psql.sh
|
||||
source ynh_install_php
|
||||
source ynh_add_extra_apt_repos
|
||||
source /usr/share/yunohost/helpers
|
||||
source ynh_add_extra_apt_repos
|
||||
source ynh_install_php
|
||||
|
||||
#=================================================
|
||||
# MANAGE SCRIPT FAILURE
|
||||
|
@ -29,79 +28,72 @@ ynh_abort_if_errors
|
|||
|
||||
domain=$YNH_APP_ARG_DOMAIN
|
||||
path_url=$YNH_APP_ARG_PATH
|
||||
admin=$YNH_APP_ARG_ADMIN
|
||||
password=$YNH_APP_ARG_PASSWORD
|
||||
is_public=$YNH_APP_ARG_IS_PUBLIC
|
||||
|
||||
# This is a multi-instance app, meaning it can be installed several times independently
|
||||
# The id of the app as stated in the manifest is available as $YNH_APP_ID
|
||||
# The instance number is available as $YNH_APP_INSTANCE_NUMBER (equals "1", "2", ...)
|
||||
# The app instance name is available as $YNH_APP_INSTANCE_NAME
|
||||
# - the first time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample
|
||||
# - the second time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample__2
|
||||
# - ynhexample__{N} for the subsequent installations, with N=3,4, ...
|
||||
# The app instance name is probably what you are interested the most, since this is
|
||||
# guaranteed to be unique. This is a good unique identifier to define installation path,
|
||||
# db names, ...
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
#=================================================
|
||||
# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Validating installation parameters..." --time --weight=1
|
||||
|
||||
final_path=/var/www/$app
|
||||
test ! -e "$final_path" || ynh_die "This path already contains a folder"
|
||||
test ! -e "$final_path" || ynh_die --message="This path already contains a folder"
|
||||
data_root=/home/yunohost.app/$app
|
||||
test ! -e "$data_root" || ynh_die --message="This path already contains a folder"
|
||||
|
||||
# Normalize the url path syntax
|
||||
path_url=$(ynh_normalize_url_path "$path_url")
|
||||
|
||||
# Check web path availability
|
||||
ynh_webpath_available "$domain" "$path_url"
|
||||
# Register (book) web path
|
||||
ynh_webpath_register "$app" "$domain" "$path_url"
|
||||
ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url
|
||||
|
||||
#=================================================
|
||||
# STORE SETTINGS FROM MANIFEST
|
||||
#=================================================
|
||||
ynh_script_progression --message="Storing installation settings..." --time --weight=1
|
||||
|
||||
ynh_app_setting_set "$app" domain "$domain"
|
||||
ynh_app_setting_set "$app" path "$path_url"
|
||||
ynh_app_setting_set "$app" is_public "$is_public"
|
||||
ynh_app_setting_set --app=$app --key=domain --value=$domain
|
||||
ynh_app_setting_set --app=$app --key=path --value=$path_url
|
||||
ynh_app_setting_set --app=$app --key=admin --value=$admin
|
||||
ynh_app_setting_set --app=$app --key=password --value=$password
|
||||
ynh_app_setting_set --app=$app --key=is_public --value=$is_public
|
||||
|
||||
#=================================================
|
||||
# STANDARD MODIFICATIONS
|
||||
#=================================================
|
||||
# INSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Installing dependencies..." --time --weight=1
|
||||
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
ynh_install_php --phpversion="$YNH_PHP_VERSION" --package="$extra_pkg_dependencies"
|
||||
|
||||
#=================================================
|
||||
# INSTALL PHP7.3 AND DEPENDENCIES (EXP HELPER)
|
||||
# CREATE POSTGRESQL DATABASE
|
||||
#=================================================
|
||||
ynh_print_info --message="Installing php7.1..."
|
||||
ynh_script_progression --message="Creating a PostgreSQL database..." --time --weight=1
|
||||
|
||||
ynh_install_php --phpversion="7.1" --package="$extra_pkg_dependencies"
|
||||
ynh_install_app_dependencies postgresql
|
||||
|
||||
#=================================================
|
||||
# Create postgresql database
|
||||
#=================================================
|
||||
|
||||
db_name=$app
|
||||
db_pwd=$(ynh_string_random 30)
|
||||
ynh_app_setting_set "$app" psql_db "$db_name"
|
||||
ynh_app_setting_set "$app" psqlpwd "$db_pwd"
|
||||
ynh_psql_test_if_first_run
|
||||
ynh_psql_create_user "$app" "$db_pwd"
|
||||
ynh_psql_execute_as_root \
|
||||
"CREATE DATABASE $db_name ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER $app;"
|
||||
|
||||
db_name=$(ynh_sanitize_dbid --db_name=$app)
|
||||
ynh_app_setting_set --app=$app --key=db_name --value=$db_name
|
||||
ynh_psql_setup_db --db_user=$db_name --db_name=$db_name
|
||||
|
||||
db_pwd=$(ynh_app_setting_get $app psqlpwd)
|
||||
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Setting up source files..." --time --weight=1
|
||||
|
||||
ynh_app_setting_set "$app" final_path "$final_path"
|
||||
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
||||
# Download, check integrity, uncompress and patch the source from app.src
|
||||
ynh_setup_source "$final_path"
|
||||
cp ../conf/config.php "$final_path"/.
|
||||
ynh_setup_source --dest_dir="$final_path"
|
||||
|
||||
#=================================================
|
||||
# NGINX CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Configuring nginx web server..." --time --weight=1
|
||||
|
||||
# Create a dedicated nginx config
|
||||
ynh_add_nginx_config
|
||||
|
@ -109,97 +101,74 @@ ynh_add_nginx_config
|
|||
#=================================================
|
||||
# CREATE DEDICATED USER
|
||||
#=================================================
|
||||
ynh_script_progression --message="Configuring system user..." --time --weight=1
|
||||
|
||||
# Create a system user
|
||||
ynh_system_user_create "$app"
|
||||
ynh_system_user_create --username=$app
|
||||
|
||||
|
||||
#=================================================
|
||||
# PHP-FPM CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
### `ynh_add_fpm_config` is used to set up a PHP config.
|
||||
### You can remove it if your app doesn't use PHP.
|
||||
### `ynh_add_fpm_config` will use the files conf/php-fpm.conf and conf/php-fpm.ini
|
||||
### If you're not using these lines:
|
||||
### - You can remove these files in conf/.
|
||||
### - Remove the section "BACKUP THE PHP-FPM CONFIGURATION" in the backup script
|
||||
### - Remove also the section "REMOVE PHP-FPM CONFIGURATION" in the remove script
|
||||
### - As well as the section "RESTORE THE PHP-FPM CONFIGURATION" in the restore script
|
||||
### With the reload at the end of the script.
|
||||
### - And the section "PHP-FPM CONFIGURATION" in the upgrade script
|
||||
ynh_script_progression --message="Configuring php-fpm..." --time --weight=1
|
||||
|
||||
# Create a dedicated php-fpm config
|
||||
ynh_add_fpm_config --phpversion="7.1"
|
||||
ynh_add_fpm_config --phpversion="7.3"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC SETUP
|
||||
#=================================================
|
||||
# SETUP config file
|
||||
# SECURE FILES AND DIRECTORIES
|
||||
#=================================================
|
||||
var_root=/home/yunohost.app/$app
|
||||
ynh_replace_string "YNH_DB_USER" "$app" "$final_path/config.php"
|
||||
ynh_replace_string "YNH_APP" "$db_name" "$final_path/config.php"
|
||||
ynh_replace_string "YNH_DB_PWD" "$db_pwd" "$final_path/config.php"
|
||||
ynh_replace_string "YNH_DOMAIN" "$domain" "$final_path/config.php"
|
||||
if [ "$path_url" = "/" ]
|
||||
then
|
||||
ynh_replace_string "YNH_WWW_PATH" "" "$final_path/config.php"
|
||||
else
|
||||
ynh_replace_string "YNH_WWW_PATH" "$path_url" "$final_path/config.php"
|
||||
fi
|
||||
ynh_replace_string "YNH_VAR_ROOT" "$var_root" "$final_path/config.php"
|
||||
|
||||
ynh_app_setting_set --app=$app --key=data_root --value=$data_root
|
||||
mkdir -p $data_root
|
||||
chown -R "$app": "$data_root"
|
||||
chown -R "$app": "$final_path"
|
||||
|
||||
#=================================================
|
||||
# SETUP APPLICATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Configuring the application..." --time --weight=1
|
||||
|
||||
email=$(ynh_user_get_info $admin mail)
|
||||
|
||||
exec_as "$app" php$YNH_PHP_VERSION "$final_path/admin/cli/install.php" --wwwroot="https://$domain${path_url%/}" --dataroot=$data_root --dbtype='pgsql' --dbname=$db_name --dbuser=$db_name --dbpass=$db_pwd --adminuser=$admin --adminpass=$password --adminemail=$email --fullname="YunoHost" --shortname="YNH" --non-interactive --agree-license
|
||||
|
||||
# Calculate and store the config file checksum into the app settings
|
||||
ynh_store_file_checksum "$final_path/config.php"
|
||||
|
||||
# Create the home directory
|
||||
mkdir -p "$var_root"
|
||||
chown -R "$app": "$var_root"
|
||||
chmod -R 700 "$var_root"
|
||||
|
||||
#=================================================
|
||||
# SETUP APPLICATION WITH CURL
|
||||
# ADD CRON JOB
|
||||
#=================================================
|
||||
|
||||
# Set right permissions for curl install
|
||||
chown -R "$app": "$final_path"
|
||||
|
||||
# Reload Nginx
|
||||
systemctl reload nginx
|
||||
# Set up poller
|
||||
sudo cp "../conf/cron" "/etc/cron.d/$app"
|
||||
ynh_replace_string "__FINAL_PATH__" "$final_path" "/etc/cron.d/$app"
|
||||
ynh_replace_string "__YNH_PHP_VERSION__" "$YNH_PHP_VERSION" "/etc/cron.d/$app"
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
# SECURE FILES AND DIRECTORIES
|
||||
#=================================================
|
||||
|
||||
# Set permissions to app files
|
||||
chown root: "$final_path"/config.php
|
||||
|
||||
|
||||
# Set up poller
|
||||
sudo cp ../conf/cron /etc/cron.d/"$app"
|
||||
ynh_replace_string "YNH_DOMAIN" "$final_path" "/etc/cron.d/$app"
|
||||
|
||||
#=================================================
|
||||
# SETUP SSOWAT
|
||||
#=================================================
|
||||
|
||||
if [ "$is_public" -eq 0 ]
|
||||
then # Remove the public access
|
||||
ynh_app_setting_delete "$app" skipped_uris
|
||||
fi
|
||||
# Make app public if necessary
|
||||
if [ "$is_public" -eq 1 ]
|
||||
then
|
||||
# unprotected_uris allows SSO credentials to be passed anyway.
|
||||
ynh_app_setting_set "$app" unprotected_uris "/"
|
||||
ynh_app_setting_set --app=$app --key=unprotected_uris --value="/"
|
||||
fi
|
||||
|
||||
yunohost app ssowatconf
|
||||
|
||||
#=================================================
|
||||
# RELOAD NGINX
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reloading nginx web server..." --time --weight=1
|
||||
|
||||
systemctl reload nginx
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Installation of $app completed" --time --last
|
||||
|
|
|
@ -7,72 +7,52 @@
|
|||
#=================================================
|
||||
|
||||
source _common.sh
|
||||
source psql.sh
|
||||
source ynh_install_php
|
||||
source /usr/share/yunohost/helpers
|
||||
source ynh_add_extra_apt_repos
|
||||
source ynh_install_php
|
||||
|
||||
#=================================================
|
||||
# LOAD SETTINGS
|
||||
#=================================================
|
||||
ynh_print_info "Loading installation settings..."
|
||||
ynh_script_progression --message="Loading installation settings..." --time --weight=1
|
||||
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
domain=$(ynh_app_setting_get "$app" domain)
|
||||
db_name=$(ynh_app_setting_get "$app" psql_db)
|
||||
db_user=$db_name
|
||||
final_path=$(ynh_app_setting_get "$app" final_path)
|
||||
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
|
||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||
data_root=$(ynh_app_setting_get --app=$app --key=data_root)
|
||||
|
||||
#=================================================
|
||||
# STANDARD REMOVE
|
||||
#=================================================
|
||||
# REMOVE SERVICE FROM ADMIN PANEL
|
||||
#=================================================
|
||||
|
||||
# Remove a service from the admin panel, added by `yunohost service add`
|
||||
if yunohost service status "$app" >/dev/null 2>&1
|
||||
then
|
||||
ynh_print_info "Removing $app service"
|
||||
yunohost service remove "$app"
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# STOP AND REMOVE SERVICE
|
||||
#=================================================
|
||||
ynh_print_info "Stopping and removing the systemd service"
|
||||
|
||||
# Remove the dedicated systemd config
|
||||
ynh_remove_systemd_config
|
||||
|
||||
#=================================================
|
||||
# REMOVE THE POSTGRESQL DATABASE
|
||||
#=================================================
|
||||
ynh_print_info "Removing the PostgreSQL database"
|
||||
ynh_script_progression --message="Removing the PostgresSQL database..." --time --weight=1
|
||||
|
||||
# Remove a database if it exists, along with the associated user
|
||||
ynh_psql_remove_db "$db_name" "$db_name"
|
||||
ynh_psql_remove_db --db_user=$db_name --db_name=$db_name
|
||||
|
||||
#=================================================
|
||||
# REMOVE DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_print_info "Removing dependencies"
|
||||
ynh_script_progression --message="Removing dependencies..." --time --weight=1
|
||||
|
||||
# Remove metapackage and its dependencies
|
||||
ynh_remove_app_dependencies
|
||||
ynh_remove_php
|
||||
|
||||
#=================================================
|
||||
# REMOVE APP MAIN DIR
|
||||
#=================================================
|
||||
ynh_print_info "Removing app main directory"
|
||||
ynh_script_progression --message="Removing app main directory..." --time --weight=1
|
||||
|
||||
# Remove the app directory securely
|
||||
ynh_secure_remove "$final_path"
|
||||
ynh_secure_remove --file="$final_path"
|
||||
|
||||
#=================================================
|
||||
# REMOVE NGINX CONFIGURATION
|
||||
#=================================================
|
||||
ynh_print_info "Removing nginx web server configuration"
|
||||
ynh_script_progression --message="Removing nginx web server configuration..." --time --weight=1
|
||||
|
||||
# Remove the dedicated nginx config
|
||||
ynh_remove_nginx_config
|
||||
|
@ -80,18 +60,11 @@ ynh_remove_nginx_config
|
|||
#=================================================
|
||||
# REMOVE PHP-FPM CONFIGURATION
|
||||
#=================================================
|
||||
ynh_print_info "Removing php-fpm configuration"
|
||||
ynh_script_progression --message="Removing php-fpm configuration..." --time --weight=1
|
||||
|
||||
# Remove the dedicated php-fpm config
|
||||
ynh_remove_fpm_config
|
||||
|
||||
#=================================================
|
||||
# REMOVE LOGROTATE CONFIGURATION
|
||||
#=================================================
|
||||
ynh_print_info "Removing logrotate configuration"
|
||||
|
||||
# Remove the app-specific logrotate config
|
||||
ynh_remove_logrotate
|
||||
ynh_remove_php "7.3"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC REMOVE
|
||||
|
@ -100,24 +73,20 @@ ynh_remove_logrotate
|
|||
#=================================================
|
||||
|
||||
# Remove a cron file
|
||||
ynh_secure_remove "/etc/cron.d/$app"
|
||||
ynh_secure_remove --file="/etc/cron.d/$app"
|
||||
|
||||
# Remove a directory securely
|
||||
ynh_secure_remove "/etc/$app/"
|
||||
ynh_secure_remove "/home/yunohost.app/$app"
|
||||
|
||||
# Remove the log files
|
||||
ynh_secure_remove "/var/log/$app/"
|
||||
ynh_secure_remove --file="$data_root"
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
# REMOVE DEDICATED USER
|
||||
#=================================================
|
||||
ynh_print_info "Removing the dedicated system user"
|
||||
ynh_script_progression --message="Removing the dedicated system user..." --time --weight=1
|
||||
|
||||
# Delete a system user
|
||||
ynh_system_user_delete "$app"
|
||||
ynh_system_user_delete --username=$app
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
|
|
Loading…
Add table
Reference in a new issue