move data dir to /home/yunohost.app

This commit is contained in:
Julien Malik 2014-09-30 10:33:55 +02:00
parent d198413d91
commit 4521dbbd86
4 changed files with 147 additions and 8 deletions

130
conf/bootstrap_context.php Normal file
View file

@ -0,0 +1,130 @@
<?php
/*
* Copyright 2007-2013 Charles du Jeu - Abstrium SAS <team (at) pyd.io>
* This file is part of Pydio.
*
* Pydio is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Pydio 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Pydio. If not, see <http://www.gnu.org/licenses/>.
*
* The latest code can be found at <http://pyd.io/>.
*
* This is the main configuration file for configuring the core of the application.
* In a standard usage, you should not have to change any variables.
*/
@date_default_timezone_set(@date_default_timezone_get());
if (function_exists("xdebug_disable")) {
xdebug_disable();
}
@error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT);
//Windows users may have to uncomment this
//setlocale(LC_ALL, '');
@libxml_disable_entity_loader(false);
list($vNmber,$vDate) = explode("__",file_get_contents(AJXP_CONF_PATH."/VERSION"));
define("AJXP_VERSION", $vNmber);
define("AJXP_VERSION_DATE", $vDate);
define("AJXP_EXEC", true);
// APPLICATION PATHES CONFIGURATION
define("AJXP_DATA_PATH", "/home/yunohost.app/pydio/data");
define("AJXP_CACHE_DIR", AJXP_DATA_PATH."/cache");
define("AJXP_SHARED_CACHE_DIR", AJXP_DATA_PATH."/cache");
define("AJXP_PLUGINS_CACHE_FILE", AJXP_CACHE_DIR."/plugins_cache.ser");
define("AJXP_PLUGINS_REQUIRES_FILE", AJXP_CACHE_DIR."/plugins_requires.ser");
define("AJXP_PLUGINS_QUERIES_CACHE", AJXP_CACHE_DIR."/plugins_queries.ser");
define("AJXP_PLUGINS_MESSAGES_FILE", AJXP_CACHE_DIR."/plugins_messages.ser");
define("AJXP_SERVER_ACCESS", "index.php");
define("AJXP_PLUGINS_FOLDER", "plugins");
define("AJXP_BIN_FOLDER_REL", "core/classes");
define("AJXP_BIN_FOLDER", AJXP_INSTALL_PATH."/core/classes");
define("AJXP_DOCS_FOLDER", "core/doc");
define("AJXP_COREI18N_FOLDER", AJXP_INSTALL_PATH."/plugins/core.ajaxplorer/i18n");
define("TESTS_RESULT_FILE", AJXP_CACHE_DIR."/diag_result.php");
define("AJXP_TESTS_FOLDER", AJXP_INSTALL_PATH."/core/tests");
define("INITIAL_ADMIN_PASSWORD", "admin");
// Startup admin password (used at first creation). Once
// The admin password is created and his password is changed,
// this config has no more impact.
define("ADMIN_PASSWORD", "admin");
// For a specific distribution, you can specify where the
// log files will be stored. This should be detected by log.* plugins
// and used if defined. See bootstrap_plugins.php default configs for
// example in log.serial. Do not forget the trailing slash
// define("AJXP_FORCE_LOGPATH", "/var/log/ajaxplorer/");
// DEBUG OPTIONS
define("AJXP_CLIENT_DEBUG" , false);
define("AJXP_SERVER_DEBUG" , false);
define("AJXP_SKIP_CACHE" , false);
// PBKDF2 CONSTANTS FOR A SECURE STORAGE OF PASSWORDS
// These constants may be changed without breaking existing hashes.
define("PBKDF2_HASH_ALGORITHM", "sha256");
define("PBKDF2_ITERATIONS", 1000);
define("PBKDF2_SALT_BYTE_SIZE", 24);
define("PBKDF2_HASH_BYTE_SIZE", 24);
define("HASH_SECTIONS", 4);
define("HASH_ALGORITHM_INDEX", 0);
define("HASH_ITERATION_INDEX", 1);
define("HASH_SALT_INDEX", 2);
define("HASH_PBKDF2_INDEX", 3);
// CAN BE SWITCHED TO TRUE TO MAKE THE SECURE TOKEN MORE SAFE
// MAKE SURE YOU HAVE PHP.5.3, OPENSSL, AND THAT IT DOES NOT DEGRADE PERFORMANCES
define("USE_OPENSSL_RANDOM", false);
function AjaXplorer_autoload($className)
{
$fileName = AJXP_BIN_FOLDER."/"."class.".$className.".php";
if (file_exists($fileName)) {
require_once($fileName);
return;
}
$fileName = AJXP_BIN_FOLDER."/"."interface.".$className.".php";
if (file_exists($fileName)) {
require_once($fileName);
return;
}
$corePlugClass = glob(AJXP_INSTALL_PATH."/".AJXP_PLUGINS_FOLDER."/core.*/class.".$className.".php", GLOB_NOSORT);
if ($corePlugClass !== false && count($corePlugClass)) {
require_once($corePlugClass[0]);
return;
}
$corePlugInterface = glob(AJXP_INSTALL_PATH."/".AJXP_PLUGINS_FOLDER."/core.*/interface.".$className.".php", GLOB_NOSORT);
if ($corePlugInterface !== false && count($corePlugInterface)) {
require_once($corePlugInterface[0]);
return;
}
}
spl_autoload_register('AjaXplorer_autoload');
AJXP_Utils::safeIniSet("session.cookie_httponly", 1);
if (is_file(AJXP_CONF_PATH."/bootstrap_conf.php")) {
include(AJXP_CONF_PATH."/bootstrap_conf.php");
if (isSet($AJXP_INISET)) {
foreach($AJXP_INISET as $key => $value) AJXP_Utils::safeIniSet($key, $value);
}
if (defined('AJXP_LOCALE')) {
setlocale(LC_CTYPE, AJXP_LOCALE);
}else if(file_exists(AJXP_DATA_PATH."/plugins/boot.conf/encoding.php")){
require_once(AJXP_DATA_PATH."/plugins/boot.conf/encoding.php");
if(isSet($ROOT_ENCODING)){
setlocale(LC_CTYPE, $ROOT_ENCODING);
}
}
}

View file

@ -124,9 +124,9 @@ CREATE TABLE `ajxp_plugin_configs` (
LOCK TABLES `ajxp_plugin_configs` WRITE; LOCK TABLES `ajxp_plugin_configs` WRITE;
/*!40000 ALTER TABLE `ajxp_plugin_configs` DISABLE KEYS */; /*!40000 ALTER TABLE `ajxp_plugin_configs` DISABLE KEYS */;
INSERT INTO `ajxp_plugin_configs` VALUES INSERT INTO `ajxp_plugin_configs` VALUES
('authfront.http_basic', 'a:3:{s:19:"AJXP_PLUGIN_ENABLED";b:0;s:5:"ORDER";s:2:"10";s:13:"PROTOCOL_TYPE";s:10:"no_session";}'), ('authfront.http_basic', 'a:3:{s:19:\"AJXP_PLUGIN_ENABLED\";b:0;s:5:\"ORDER\";s:2:\"10\";s:13:\"PROTOCOL_TYPE\";s:10:\"no_session\";}'),
('authfront.http_server', 'a:5:{s:19:"AJXP_PLUGIN_ENABLED";b:1;s:11:"CREATE_USER";b:0;s:10:"AJXP_ADMIN";s:4:"";s:5:"ORDER";s:1:"1";s:13:"PROTOCOL_TYPE";s:4:"both";}'), ('authfront.http_server', 'a:5:{s:19:\"AJXP_PLUGIN_ENABLED\";b:1;s:11:\"CREATE_USER\";b:0;s:10:\"AJXP_ADMIN\";s:0:\"\";s:5:\"ORDER\";s:1:\"1\";s:13:\"PROTOCOL_TYPE\";s:4:\"both\";}'),
('authfront.session_login','a:3:{s:19:"AJXP_PLUGIN_ENABLED";b:0;s:5:"ORDER";s:2:"20";s:13:"PROTOCOL_TYPE";s:12:"session_only";}'), ('authfront.session_login','a:3:{s:19:\"AJXP_PLUGIN_ENABLED\";b:0;s:5:\"ORDER\";s:2:\"20\";s:13:\"PROTOCOL_TYPE\";s:12:\"session_only\";}'),
('core.ajaxplorer','a:2:{s:17:\"APPLICATION_TITLE\";s:5:\"Pydio\";s:16:\"DEFAULT_LANGUAGE\";s:2:\"en\";}'), ('core.ajaxplorer','a:2:{s:17:\"APPLICATION_TITLE\";s:5:\"Pydio\";s:16:\"DEFAULT_LANGUAGE\";s:2:\"en\";}'),
('core.log','a:1:{s:22:\"UNIQUE_PLUGIN_INSTANCE\";a:3:{s:13:\"instance_name\";s:7:\"log.sql\";s:18:\"group_switch_value\";s:7:\"log.sql\";s:10:\"SQL_DRIVER\";a:2:{s:11:\"core_driver\";s:4:\"core\";s:18:\"group_switch_value\";s:4:\"core\";}}}'), ('core.log','a:1:{s:22:\"UNIQUE_PLUGIN_INSTANCE\";a:3:{s:13:\"instance_name\";s:7:\"log.sql\";s:18:\"group_switch_value\";s:7:\"log.sql\";s:10:\"SQL_DRIVER\";a:2:{s:11:\"core_driver\";s:4:\"core\";s:18:\"group_switch_value\";s:4:\"core\";}}}'),
('core.mq','a:1:{s:18:\"UNIQUE_MS_INSTANCE\";a:3:{s:13:\"instance_name\";s:6:\"mq.sql\";s:18:\"group_switch_value\";s:6:\"mq.sql\";s:10:\"SQL_DRIVER\";a:2:{s:11:\"core_driver\";s:4:\"core\";s:18:\"group_switch_value\";s:4:\"core\";}}}'), ('core.mq','a:1:{s:18:\"UNIQUE_MS_INSTANCE\";a:3:{s:13:\"instance_name\";s:6:\"mq.sql\";s:18:\"group_switch_value\";s:6:\"mq.sql\";s:10:\"SQL_DRIVER\";a:2:{s:11:\"core_driver\";s:4:\"core\";s:18:\"group_switch_value\";s:4:\"core\";}}}'),

View file

@ -25,6 +25,7 @@ tar xzf ../upstream/pydio-core.tar.gz -C ../upstream
# Copy files to the right place # Copy files to the right place
final_path=/var/www/pydio final_path=/var/www/pydio
data_path=/home/yunohost.app/pydio
# Create owncloud user # Create owncloud user
sudo useradd -d /var/www/pydio pydio sudo useradd -d /var/www/pydio pydio
@ -32,6 +33,8 @@ sudo useradd -d /var/www/pydio pydio
sudo mkdir -p $final_path sudo mkdir -p $final_path
sudo cp -ar ../upstream/pydio-core-$version/* $final_path sudo cp -ar ../upstream/pydio-core-$version/* $final_path
sudo mkdir -p $data_path
# Database # Database
db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p') db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p')
db_user=pydio db_user=pydio
@ -44,16 +47,22 @@ sudo mkdir -p $final_path/data/plugins/boot.conf
sudo cp ../conf/bootstrap.json $final_path/data/plugins/boot.conf/bootstrap.json sudo cp ../conf/bootstrap.json $final_path/data/plugins/boot.conf/bootstrap.json
sudo yunohost app setting pydio admin -v $admin sudo yunohost app setting pydio admin -v $admin
sudo cp ../conf/bootstrap_context.php $final_path/conf
sudo touch $final_path/data/cache/admin_counted sudo touch $final_path/data/cache/admin_counted
sudo touch $final_path/data/cache/first_run_passed sudo touch $final_path/data/cache/first_run_passed
sudo touch $final_path/data/cache/diag_result.php sudo touch $final_path/data/cache/diag_result.php
sudo mv $final_path/data $data_path
# Fix up permissions # Fix up permissions
sudo chown -R root:pydio $final_path sudo chown -R root: $final_path
sudo find $final_path -type f -exec chmod 644 {} \; sudo find $final_path -type f -exec chmod 644 {} \;
sudo find $final_path -type d -exec chmod 755 {} \; sudo find $final_path -type d -exec chmod 755 {} \;
sudo find $final_path/data -type f -exec chmod 664 {} \;
sudo find $final_path/data -type d -exec chmod 775 {} \; sudo chown -R pydio:pydio $data_path
sudo find $data_path/data -type f -exec chmod 660 {} \;
sudo find $data_path/data -type d -exec chmod 770 {} \;
sed -i "s@NAMETOCHANGE@pydio@g" ../conf/php-fpm.conf sed -i "s@NAMETOCHANGE@pydio@g" ../conf/php-fpm.conf
finalphpconf=/etc/php5/fpm/pool.d/pydio.conf finalphpconf=/etc/php5/fpm/pool.d/pydio.conf

View file

@ -1,7 +1,8 @@
#!/bin/bash #!/bin/bash
# Removing executable files
sudo rm -rf /var/www/pydio sudo rm -rf /var/www/pydio
sudo rm -rf /home/yunohost.app/pydio
domain=$(sudo yunohost app setting pydio domain) domain=$(sudo yunohost app setting pydio domain)
sudo rm -f /etc/nginx/conf.d/$domain.d/pydio.conf sudo rm -f /etc/nginx/conf.d/$domain.d/pydio.conf
sudo rm -f /etc/php5/fpm/pool.d/pydio.conf sudo rm -f /etc/php5/fpm/pool.d/pydio.conf
@ -15,6 +16,5 @@ mysql -u root -p$root_pwd -e "DROP DATABASE $db_name ; DROP USER $db_user@localh
sudo userdel pydio > /dev/null 2>&1 sudo userdel pydio > /dev/null 2>&1
# Restarting services
sudo service nginx reload sudo service nginx reload
sudo service php5-fpm restart sudo service php5-fpm restart