mirror of
https://github.com/serghey-rodin/vesta.git
synced 2025-08-19 21:04:06 -07:00
Merge branch 'master' of github.com:serghey-rodin/vesta
This commit is contained in:
commit
ddf19a4bbc
11 changed files with 57 additions and 86 deletions
12
README.md
12
README.md
|
@ -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
|
||||||
```
|
```
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -87,5 +87,3 @@ if (isset($_POST['user']) || isset($_POST['hash'])) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
@ -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']);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
@ -344,4 +344,3 @@ function list_timezones() {
|
||||||
}
|
}
|
||||||
return $timezone_list;
|
return $timezone_list;
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
|
@ -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/");
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
|
@ -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/");
|
||||||
}
|
}
|
||||||
|
|
|
@ -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');
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue