Merge branch 'master' of github.com:serghey-rodin/vesta

This commit is contained in:
Serghey Rodin 2015-10-22 16:58:12 +03:00
commit ddf19a4bbc
11 changed files with 57 additions and 86 deletions

View file

@ -13,12 +13,18 @@ Connect to your server as root via SSH
ssh root@your.server ssh root@your.server
``` ```
Download the installation script Download the installation script, and run it:
```bash
curl http://vestacp.com/pub/vst-install.sh | bash
```
If the above example does not work, try this 2 step method:
Download the installation script:
```bash ```bash
curl -O http://vestacp.com/pub/vst-install.sh curl -O http://vestacp.com/pub/vst-install.sh
``` ```
Then run it:
Run it
```bash ```bash
bash vst-install.sh bash vst-install.sh
``` ```

View file

@ -31,9 +31,10 @@ is_object_valid 'user' 'USER' "$user"
#----------------------------------------------------------# #----------------------------------------------------------#
# Updating disk quota # Updating disk quota
# Had quota equals package value. Soft quota equals 90% of package value for warnings.
quota=$(get_user_value '$DISK_QUOTA') quota=$(get_user_value '$DISK_QUOTA')
soft=$((quota * 1000)) soft=$((quota * 1024 * 0.90))
hard=$((quota + 50000)) hard=$((quota * 1024))
# Searching home mount point # Searching home mount point
mnt=$(df -P /home |awk '{print $6}' |tail -n1) mnt=$(df -P /home |awk '{print $6}' |tail -n1)

View file

@ -37,7 +37,8 @@ http {
# SSL PCI Compliance # SSL PCI Compliance
ssl_ciphers RC4:HIGH:!aNULL:!MD5:!kEDH; ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_ciphers EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_session_cache shared:SSL:10m; ssl_session_cache shared:SSL:10m;
ssl_prefer_server_ciphers on; ssl_prefer_server_ciphers on;

View file

@ -87,5 +87,3 @@ if (isset($_POST['user']) || isset($_POST['hash'])) {
} }
} }
} }
?>

View file

@ -4,25 +4,18 @@
//define(LISTING_TIMEOUT, 0.000001); //define(LISTING_TIMEOUT, 0.000001);
define(LISTING_TIMEOUT, 5); define(LISTING_TIMEOUT, 5);
//echo 'files: '; //echo 'files: ';
//$files = scandir(__DIR__); //$files = scandir(__DIR__);
//echo '<pre>'; //echo '<pre>';
//print_r($files); //print_r($files);
//$_REQUEST['sort_field'] = 'size'; //$_REQUEST['sort_field'] = 'size';
$_REQUEST['sort_field'] = 'name'; $_REQUEST['sort_field'] = 'name';
//$_REQUEST['sort_field'] = 'atime'; //$_REQUEST['sort_field'] = 'atime';
//$_REQUEST['sort_field'] = 'mtime'; //$_REQUEST['sort_field'] = 'mtime';
$_REQUEST['sort_desc'] = 1; $_REQUEST['sort_desc'] = 1;
/* /*
+- copy file / dir [ recursive ] +- copy file / dir [ recursive ]
+- rename(move) file / dir +- rename(move) file / dir
@ -33,7 +26,7 @@ $_REQUEST['sort_desc'] = 1;
+- create dir +- create dir
*/ */
switch($_REQUEST['action']){ switch($_REQUEST['action']) {
case 'copy': fm_copy($_REQUEST['source'], $_REQUEST['dest']); break; case 'copy': fm_copy($_REQUEST['source'], $_REQUEST['dest']); break;
case 'rename': fm_rename($_REQUEST['source'], $_REQUEST['dest']); break; case 'rename': fm_rename($_REQUEST['source'], $_REQUEST['dest']); break;
case 'delete': fm_delete($_REQUEST['source']); break; case 'delete': fm_delete($_REQUEST['source']); break;
@ -53,24 +46,12 @@ switch($_REQUEST['action']){
break; break;
} }
//echo $_GET['sort_field']; //echo $_GET['sort_field'];
// if(in_array($_GET['sort_field'], $available_sort_fields)){ // if(in_array($_GET['sort_field'], $available_sort_fields)){
// echo '1'; // echo '1';
// } // }
/* /*
upload_file upload_file
@ -87,17 +68,16 @@ switch($_REQUEST['action']){
download file / image download file / image
*/ */
function fm_create_file($filename)
{
function fm_create_file($filename){
if(is_file($filename)) if(is_file($filename))
return array('error' => 'file exists', 'code' => 1); return array('error' => 'file exists', 'code' => 1);
return !!fopen($filename, 'w'); return (bool) fopen($filename, 'w'); // (bool) > !!, sorry
} }
function fm_create_dir($dirname)
function fm_create_dir($dirname){ {
if(is_dir($filename)) if(is_dir($filename))
return array('error' => 'directory exists', 'code' => 1); return array('error' => 'directory exists', 'code' => 1);
@ -105,49 +85,49 @@ function fm_create_dir($dirname){
return mkdir($dirname); return mkdir($dirname);
} }
function fm_chown($filename, $recursive = 0, $uid = FALSE, $gid = FALSE)
function fm_chown($filename, $recursive = 0, $uid = FALSE, $gid = FALSE){ {
if(is_dir($filename) && $recursive){ if (is_dir($filename) && $recursive) {
$dir_handle = opendir($dir); $dir_handle = opendir($dir);
while ($item = readdir($dir_handle)){ while ($item = readdir($dir_handle)) {
if (!in_array($item, array('.','..'))){ if (!in_array($item, array('.','..'))) {
$new_item = $filename.'/'.$item; $new_item = $filename.'/'.$item;
if($uid !== FALSE) chown($new_item, (int)$uid); if ($uid !== FALSE) chown($new_item, (int)$uid);
if($gid !== FALSE) chgrp($new_item, (int)$gid); if ($gid !== FALSE) chgrp($new_item, (int)$gid);
if(is_dir($new_item)){ if (is_dir($new_item)) {
fm_chown($new_item, $recursive, $uid, $gid); fm_chown($new_item, $recursive, $uid, $gid);
} }
} }
} }
}else{ } else {
if($uid !== FALSE) chown($filename, (int)$uid); if($uid !== FALSE) chown($filename, (int)$uid);
if($gid !== FALSE) chgrp($filename, (int)$gid); if($gid !== FALSE) chgrp($filename, (int)$gid);
} }
} }
function fm_chmod($filename, $recursive = 0, $mode)
function fm_chmod($filename, $recursive = 0, $mode){ {
if(is_dir($filename) && $recursive){ if(is_dir($filename) && $recursive) {
$dir_handle = opendir($dir); $dir_handle = opendir($dir);
while ($item = readdir($dir_handle)){ while ($item = readdir($dir_handle)) {
if (!in_array($item, array('.','..'))){ if (!in_array($item, array('.','..'))) {
$new_item = $filename.'/'.$item; $new_item = $filename.'/'.$item;
chmod($new_item, octdec($mode)); chmod($new_item, octdec($mode));
if(is_dir($new_item)){ if (is_dir($new_item)) {
fm_chmod($new_item, $recursive, $mode); fm_chmod($new_item, $recursive, $mode);
} }
} }
} }
}else{ } else {
chmod($filename, octdec($mode)); chmod($filename, octdec($mode));
} }
} }
function fm_delete($filename)
function fm_delete($filename){ {
if(is_dir($filename)){ if(is_dir($filename)){
foreach ( foreach (
$iterator = new RecursiveIteratorIterator( $iterator = new RecursiveIteratorIterator(
@ -162,19 +142,21 @@ function fm_delete($filename){
// copy($item, $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName()); // copy($item, $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName());
} }
} }
}else{ } else {
return unlink($filename); return unlink($filename);
} }
} }
function fm_rename($source, $dest){ function fm_rename($source, $dest)
{
return rename($source, $dest); return rename($source, $dest);
} }
function fm_copy($source, $dest){ function fm_copy($source, $dest)
if(is_dir($source)){ {
if (is_dir($source)) {
foreach ( foreach (
$iterator = new RecursiveIteratorIterator( $iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($source, RecursiveDirectoryIterator::SKIP_DOTS), new RecursiveDirectoryIterator($source, RecursiveDirectoryIterator::SKIP_DOTS),
@ -187,14 +169,13 @@ function fm_copy($source, $dest){
copy($item, $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName()); copy($item, $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName());
} }
} }
}else{ }else{
return copy($source, $dest); return copy($source, $dest);
} }
} }
function list_dir()
function list_dir(){ {
$dir_iterator = new RecursiveDirectoryIterator("/path"); $dir_iterator = new RecursiveDirectoryIterator("/path");
$iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST); $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST);
// could use CHILD_FIRST if you so wish // could use CHILD_FIRST if you so wish
@ -214,12 +195,9 @@ function list_dir(){
echo "\nTotal file size: ", $size, " bytes\n"; echo "\nTotal file size: ", $size, " bytes\n";
} }
/// fast removing directory /// fast removing directory
function rmrf($dir) { function rmrf($dir)
{
foreach (glob($dir) as $file) { foreach (glob($dir) as $file) {
if (is_dir($file)) { if (is_dir($file)) {
rmrf("$file/*"); rmrf("$file/*");
@ -230,9 +208,6 @@ function rmrf($dir) {
} }
} }
function dir_list($dir, $sort = 0) function dir_list($dir, $sort = 0)
{ {
$sort_order_for_filename = SORT_ASC; $sort_order_for_filename = SORT_ASC;
@ -252,7 +227,7 @@ function dir_list($dir, $sort = 0)
if (!in_array($object, array('.','..'))){ if (!in_array($object, array('.','..'))){
$filename = $dir . $object; $filename = $dir . $object;
$time = microtime(true) - $start; $time = microtime(true) - $start;
if($time <= LISTING_TIMEOUT){ if ($time <= LISTING_TIMEOUT) {
$stats = stat($filename); $stats = stat($filename);
$mode = explain_mode($stats['mode']); $mode = explain_mode($stats['mode']);
$perms = decoct(fileperms($filename)); $perms = decoct(fileperms($filename));
@ -274,8 +249,11 @@ function dir_list($dir, $sort = 0)
); );
}else{ }else{
$listing['timeout_exeeded'] = TRUE; $listing['timeout_exeeded'] = TRUE;
if(is_dir($filename)){ $type = 'd'; if (is_dir($filename)) {
}else{ $type = '-'; } $type = 'd';
} else {
$type = '-';
}
$item = array( $item = array(
'name' => $object, 'name' => $object,
@ -294,7 +272,6 @@ function dir_list($dir, $sort = 0)
); );
} }
$listing['count']++; $listing['count']++;
if($item['type'] == 'd'){ if($item['type'] == 'd'){
@ -311,7 +288,6 @@ function dir_list($dir, $sort = 0)
} }
$listing['time'] = microtime(TRUE) - $start; $listing['time'] = microtime(TRUE) - $start;
if(!$listing['timeout_exeeded']){ if(!$listing['timeout_exeeded']){
if(in_array($_REQUEST['sort_field'], $available_sort_fields)){ if(in_array($_REQUEST['sort_field'], $available_sort_fields)){
if($_REQUEST['sort_desc']){ if($_REQUEST['sort_desc']){
@ -324,7 +300,6 @@ function dir_list($dir, $sort = 0)
return $listing; return $listing;
} }
function explain_mode($mode) function explain_mode($mode)
{ {
@ -355,5 +330,3 @@ function explain_mode($mode)
return $info; return $info;
} }
?>

View file

@ -108,5 +108,3 @@ $_SESSION['back'] = $_SERVER['REQUEST_URI'];
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/list_ssl.html'); include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/list_ssl.html');
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html'); include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
unset($_SESSION['ok_msg']); unset($_SESSION['ok_msg']);
?>

View file

@ -32,5 +32,3 @@ $mailtext = file_get_contents("php://stdin");
if ((!empty($to)) && (!empty($subject))) { if ((!empty($to)) && (!empty($subject))) {
send_email($to,$subject,$mailtext,$from); send_email($to,$subject,$mailtext,$from);
} }
?>

View file

@ -344,4 +344,3 @@ function list_timezones() {
} }
return $timezone_list; return $timezone_list;
} }
?>

View file

@ -1,8 +1,7 @@
<?php <?php
session_start(); session_start();
if (isset($_SESSION['user'])) { if (isset($_SESSION['user'])) {
header("Location: /list/user"); header("Location: /list/user/");
} else { } else {
header("Location: /login/"); header("Location: /login/");
} }
?>

View file

@ -1,7 +1,7 @@
<?php <?php
session_start(); session_start();
if (isset($_SESSION['user'])) { if (isset($_SESSION['user'])) {
header("Location: /list/user"); header("Location: /list/user/");
} else { } else {
header("Location: /login/"); header("Location: /login/");
} }

View file

@ -20,7 +20,7 @@ if (isset($_GET['logout'])) {
// Login as someone else // Login as someone else
if (isset($_SESSION['user'])) { if (isset($_SESSION['user'])) {
if ($_SESSION['user'] == 'admin' && !empty($_GET['loginas'])) { if ($_SESSION['user'] == 'admin' && !empty($_GET['loginas'])) {
exec (VESTA_CMD . "v-list-user ".escapeshellarg($_GET['loginas'])." json", $output, $return_var); exec (VESTA_CMD . "v-list-user ".escapeshellarg($_GET['loginas'])." json", $output, $return_var);
if ( $return_var == 0 ) { if ( $return_var == 0 ) {
$data = json_decode(implode('', $output), true); $data = json_decode(implode('', $output), true);
@ -96,5 +96,3 @@ if (empty($_SESSION['language'])) $_SESSION['language']='en';
require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$_SESSION['language'].'.php'); require_once($_SERVER['DOCUMENT_ROOT'].'/inc/i18n/'.$_SESSION['language'].'.php');
require_once('../templates/header.html'); require_once('../templates/header.html');
require_once('../templates/login.html'); require_once('../templates/login.html');
?>