Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1844 commits
Select commit Hold shift + click to select a range
90fddaa
Update Changelog.md
myvesta Jun 12, 2023
21071f4
Fix for Grammarly Addon conflict
myvesta Jun 16, 2023
b421b5f
Version 0.9.9-0-3
myvesta Jun 16, 2023
b5ccfbe
debian12 vesta_compile.sh fixes
myvesta Jun 16, 2023
af61d62
debian12 php8.2 templates
myvesta Jun 17, 2023
698069d
Making php8.2 templates executable
Jun 17, 2023
f6cb92c
Debian12 installer script, first fix
myvesta Jun 17, 2023
f332227
v-install-unsigned-ssl deb12 fix
myvesta Jun 17, 2023
420c0d0
Reverting mistakenly changed 7.4 to 8.2 for deb12
myvesta Jun 17, 2023
58c2793
vesta-nginx-deb12 conf fix
myvesta Jun 17, 2023
159755e
deb12 spamassassin temporary fix
myvesta Jun 17, 2023
83092b8
Fix for deb12 xxd install and php8.2 in default package
myvesta Jun 17, 2023
89c86b8
deb12 new exim4 conf
myvesta Jun 17, 2023
b535c86
deb12 spamd install
myvesta Jun 17, 2023
a6fdb87
v-list-sys-services deb12 mariadb detection fix
myvesta Jun 17, 2023
d52e27c
deb12 install rsyslog
myvesta Jun 17, 2023
c74dfde
deb12 exim4 smtputf8_advertise_hosts
myvesta Jun 17, 2023
ce5fac9
deb12 nginx listen ssl
myvesta Jun 17, 2023
93a6d0b
deb12 fail2ban auth.log fix
myvesta Jun 17, 2023
599ce37
exim4 fix for Tainted filename for search for aliases
myvesta Jun 18, 2023
1d89e93
Update exim4.conf.template
myvesta Jun 18, 2023
82956ff
Setting up rsyslog for deb12
myvesta Jun 18, 2023
b3336ba
Update exim4.conf.template-RC deb11
myvesta Jun 18, 2023
fdff356
Switching signing apt key to "gpg --dearmor"
myvesta Jun 25, 2023
ebd1005
Temporary ProFTPD fix for Debian12
myvesta Jun 25, 2023
d41ca32
Update install-new-roundcube.sh 1.6.1
myvesta Jun 26, 2023
473277d
Update install-new-roundcube.sh - deleting filter plugin
myvesta Jun 26, 2023
c41a540
Update install-new-roundcube.sh
myvesta Jun 26, 2023
ac98e1d
Patching spamassassin dns_server
myvesta Jun 26, 2023
a6eedcc
Creating spamassassin /nonexistent folder
myvesta Jun 26, 2023
fb3e1e5
Update barracuda.cf
myvesta Jun 27, 2023
e095751
Update barracuda.cf - correcting scores
myvesta Jun 27, 2023
9290ba6
Version 0.9.9-0-4
myvesta Jun 27, 2023
d4f0baa
Update Changelog.md
myvesta Jun 27, 2023
12c6583
Update Changelog.md
myvesta Jun 27, 2023
dc8abe9
Update list_user.html - coffee typo
myvesta Jun 27, 2023
ef5ef95
get deb12 exim conf
myvesta Jun 28, 2023
7ee011a
Update v-import-cpanel-backup
myvesta Jul 27, 2023
12d6e59
Update v-import-cpanel-backup
myvesta Jul 27, 2023
5d2f0d6
Removing sury repo from multi-php-install.sh for Debian 8 and 9
myvesta Jul 29, 2023
843d4a9
Update install_rate_limit_tpl.sh
myvesta Aug 8, 2023
e82378c
v-grep LF ending
myvesta Aug 9, 2023
4d7ce60
deb12 fixes in postinst
myvesta Aug 9, 2023
cb52ef6
postinst removing tabs indent
myvesta Aug 9, 2023
0213d74
Update exim_forwarding.patch
myvesta Aug 11, 2023
bb79f9f
deb12 nginx http2 on;
myvesta Aug 18, 2023
6586800
http2 typo
myvesta Aug 18, 2023
c32036e
Handling tailf watcher processes in v-clean-garbage
myvesta Aug 23, 2023
b80a975
Muting some unnecessary cleaning errors
myvesta Aug 23, 2023
34c0588
ignoring nohup messages
myvesta Aug 23, 2023
8d467b9
Muting some unnecessary cleaning errors
myvesta Aug 23, 2023
022f307
Fixing 'dh key too small' in dovecot
myvesta Sep 6, 2023
06527b4
Update postinst
myvesta Sep 14, 2023
c43b3b0
Check if source user is suspended
myvesta Sep 15, 2023
39a4dff
Check if source user is suspended
myvesta Sep 15, 2023
1709e9a
Disabling SpamAssassin on Deb12
myvesta Sep 24, 2023
98d8ab7
v-list-sys-services: detection for official mariadb repo installation
myvesta Sep 27, 2023
c8fcc08
Clean /home/*/tmp/ in v-clean-garbage
myvesta Sep 30, 2023
8a323f6
Update v-clean-garbage
myvesta Sep 30, 2023
33e6263
Update v-clean-garbage
myvesta Sep 30, 2023
3d503f4
Update v-clean-garbage
myvesta Oct 1, 2023
85bbc56
Update v-make-separated-ip-for-email
myvesta Oct 1, 2023
e1fe2ba
Patching exim4.conf for: Helo name contains a ip address
myvesta Oct 1, 2023
64fa7d9
Update exim4.conf.template
myvesta Oct 1, 2023
b5d57ba
Update vst-install-debian.sh
myvesta Oct 3, 2023
1099b0c
Update install_rate_limit_tpl.sh
myvesta Oct 4, 2023
5fb32ef
Delete pool.d conf file for all PHP versions
myvesta Oct 4, 2023
baa9319
Update README.md
isscbta Oct 6, 2023
fd57420
Delete current SSL before v-install-unsigned-ssl
myvesta Oct 8, 2023
9c233e9
v-restart-web: systemctl instead of service
myvesta Oct 8, 2023
af7b658
v-restart-web: systemctl instead of service
myvesta Oct 8, 2023
1848c36
Update v-suspend-web-domain, allowing restart=no
myvesta Oct 8, 2023
a4acb57
Fixing removing certificates during apache reload
myvesta Oct 8, 2023
8748ffc
Update v-suspend-web-domain
myvesta Oct 8, 2023
3f3cfec
Update Changelog.md
myvesta Oct 8, 2023
bf8411f
Update latest.txt: version 0.9.9-0-5
myvesta Oct 8, 2023
946a195
v-update-mail-domains-disk - even mail account is symlinked
myvesta Oct 13, 2023
2f0807e
Update v-commander: redis installer conf fix
myvesta Oct 18, 2023
bfdefc5
nginx rate-limit improvements
myvesta Nov 2, 2023
c87de26
Fix to download force-https-firewall-wordpress.stpl
myvesta Nov 2, 2023
911dc91
Fix message: Added rate_limit 'wfone' to nginx.conf
myvesta Nov 2, 2023
3d8880e
Rotating places for limit_conn_zone
myvesta Nov 2, 2023
88f52ec
Adding limit_conn zone_site 15; to wordpress tpl
myvesta Nov 2, 2023
5e525f8
nginx rate limit fixes for http:// templates
myvesta Nov 2, 2023
803cde4
CRLF to LF for nginx-rate-.limit templates for WordPresd
myvesta Nov 3, 2023
7993d50
v-install-wordpress to put force-https-firewall-wordpress nginx template
myvesta Nov 5, 2023
562ad76
v-commander: install nginx-rate-limit templates
myvesta Nov 5, 2023
fff4088
webp smush nginx template
myvesta Nov 12, 2023
fc05c65
Create wp-super-cache.tpl
lukapaunovic Nov 12, 2023
9985fcb
Create wp-super-cache.stpl
lukapaunovic Nov 12, 2023
65aa97d
Merge pull request #168 from lukapaunovic/patch-4
myvesta Nov 12, 2023
5e3473f
Merge pull request #169 from lukapaunovic/patch-5
myvesta Nov 12, 2023
25749e8
Update fix-fpm-poold.sh
myvesta Nov 17, 2023
c4eb89e
Update install-rocket-nginx.sh
myvesta Nov 25, 2023
f4beb1c
Update vst-install-debian.sh, MAX_DBUSER_LEN=80
myvesta Dec 11, 2023
328f6f2
Disable hosts_try_fastopen for all hosts
myvesta Dec 20, 2023
91f6ae0
Update Wordfence WAF Path
isscbta Dec 28, 2023
fa71d3a
Update Wordfence WAF Path
isscbta Dec 28, 2023
0beaa0a
Update multi-php-install.sh: install phpgate
myvesta Dec 28, 2023
e1053b1
Update multi-php-install.sh: upgrading tailf_apache_error.php
myvesta Dec 28, 2023
cecb7cf
Update multi-php-install.sh
myvesta Dec 28, 2023
6800013
Update v-commander
myvesta Dec 28, 2023
f344c0b
Update multi-php-install.sh
myvesta Dec 28, 2023
f39dc8e
Update multi-php-install.sh
myvesta Dec 28, 2023
5e72ead
Create v-fix-website-permissions
isscbta Jan 3, 2024
a55b160
Added: Email rate limit
isscbta Jan 6, 2024
942b46a
v-php-func takes STDIN only if --stdin parameter is passed
myvesta Jan 7, 2024
db6ba14
Apache templates for PHP 8.3
myvesta Jan 7, 2024
08d0db0
php8.3 templetes typo fix
myvesta Jan 7, 2024
8ef3fb0
PHP 8.3 support
myvesta Jan 7, 2024
add9c5c
php8.3 installer fix
myvesta Jan 7, 2024
c3720e5
Fixing typo in secure_login.php
myvesta Jan 7, 2024
bdde36d
Update v-fix-website-permissions
myvesta Jan 8, 2024
ecf419c
Update v-fix-website-permissions
myvesta Jan 8, 2024
f400b40
Update v-fix-website-permissions
myvesta Jan 8, 2024
1a6562e
Update v-fix-website-permissions
myvesta Jan 8, 2024
003f358
Update v-fix-website-permissions
myvesta Jan 8, 2024
b0b3a94
Update Wordfence WAF Path
isscbta Jan 15, 2024
cf1eacd
Update Wordfence WAF Path
isscbta Jan 15, 2024
a43eef9
Updating WAF path in v-clone-website
myvesta Jan 15, 2024
834fcfc
php8.3 fpm www.conf
myvesta Jan 22, 2024
e9317fc
Update latest.txt to 0.9.9-0-6
myvesta Jan 22, 2024
22463fd
Update Changelog.md to 0.9.9-0-6
myvesta Jan 22, 2024
7274147
v-list-php
myvesta Jan 24, 2024
11ab872
Update v-list-php
myvesta Jan 24, 2024
db7e663
Update v-list-php
myvesta Jan 26, 2024
560fa67
v-list-php-apache
myvesta Jan 26, 2024
edfea0d
Get quick info about a banned IP (Host, Banlist, Location)
VasilisParaschos Feb 2, 2024
2aca864
imapsync tools
myvesta Feb 8, 2024
7e209c5
Update v-backup-users
myvesta Feb 27, 2024
a7def7b
Changelog
myvesta Feb 27, 2024
6819f21
Update v-commander
myvesta Mar 8, 2024
138a307
Update v-commander
myvesta Mar 8, 2024
e6bf09c
Update v-commander
myvesta Mar 8, 2024
0ae1ea6
Update v-commander
myvesta Mar 8, 2024
fa165a0
Update v-fix-user-permissions
myvesta Mar 14, 2024
dd18d6d
Blocking xmlrpc.php and wp-config.php in nginx-rate-limit templatre f…
myvesta Mar 29, 2024
2069519
tpl CRLF to LF
myvesta Mar 29, 2024
55e0fcb
Update v-clean-garbage: restart exim4
myvesta Apr 4, 2024
5acdfb6
Merge pull request #175 from VasilisParaschos/174-banned-ip-quick-info
myvesta Apr 4, 2024
dd825b9
Update latest.txt - 0.9.9-0-8
myvesta Apr 4, 2024
8cc35b4
Update header.html
myvesta Apr 4, 2024
63c4826
Update v-commander
myvesta Apr 5, 2024
583a1e5
Update v-commander
myvesta Apr 5, 2024
929241c
Version 0.9.9-0-9
myvesta Apr 5, 2024
40afd5b
Create v-edit-domain-php-ini
isscbta Apr 9, 2024
f540cf9
Update v-edit-domain-php-ini
isscbta Apr 11, 2024
6514ea1
Create v-edit-php-ini
isscbta Apr 11, 2024
9d65824
v-edit-php tuning
myvesta Apr 11, 2024
cc3437c
v-edit-php return fix
myvesta Apr 11, 2024
9b0f9e5
Version 0.9.9-0-10
myvesta Apr 11, 2024
65d4f0e
deb12 exim4: message_linelength_limit = 1G
myvesta Apr 19, 2024
05f5288
Update v-clone-website: --skip-plugins --skip-themes
myvesta Apr 24, 2024
dcd0bf2
Update v-clone-website: wp-cli to use proper php version
myvesta Apr 24, 2024
66ae558
Fix mailadress and subject
ikheetjeff May 5, 2024
4acfa26
Fix emailadres and subject
ikheetjeff May 5, 2024
806ebf1
disable root login phpmyadmin
ikheetjeff May 5, 2024
763eea5
Update install-new-roundcube.sh - version 1.6.6
myvesta May 15, 2024
81f507b
nodejs templates ssl fix
myvesta May 16, 2024
491ac62
Create v-run-wpcli
isscbta May 22, 2024
9cf91d5
Create v-add-wordpress-admin
isscbta May 22, 2024
abc2377
Update v-run-wpcli
isscbta May 22, 2024
e51cd34
Update v-add-wordpress-admin
isscbta May 22, 2024
75ffd02
nodejs tpl fix
myvesta May 23, 2024
21f7a50
nginx nodejs tpl CRLF to LF
myvesta May 23, 2024
c3985ba
Create v-backup-user-now
myvesta May 23, 2024
f99bcf8
Update v-migrate-site-to-https
myvesta May 30, 2024
a8435ca
hosting-firewall-wordpress-2
myvesta May 30, 2024
7a13c03
Update v-migrate-site-to-https to use $phpver
myvesta May 30, 2024
8a84225
Update v-migrate-site-to-https to use $phpver
myvesta May 30, 2024
6a72798
Update v-clone-website to use $phpver
myvesta May 30, 2024
67b8376
Update v-add-wordpress-admin to use $phpver
myvesta May 30, 2024
d59c4fa
Update v-run-wpcli to use $phpver
myvesta May 30, 2024
30fb3d6
Update v-delete-user: rm -rf /hdd/home/$user
myvesta May 30, 2024
357b20c
Rename v-run-wpcli to v-run-wp-cli
isscbta May 30, 2024
edf1f61
Update v-run-wp-cli: removing --skip-plugins and --skip-themes
myvesta May 30, 2024
72baf4c
Version 0.9.9-0-11
myvesta May 30, 2024
7fa725b
Update Changelog.md
myvesta May 30, 2024
c1f7c91
Added support for PHP 8.3
isscbta Aug 7, 2024
7ff828b
Update v-import-cpanel-backup - removing /*!999999\- enable the sandb…
myvesta Aug 12, 2024
574fff0
Update multi-php-install.sh - removing buster sury repo
myvesta Aug 13, 2024
1ee4920
Update multi-php-install.sh
myvesta Aug 13, 2024
6e7954d
Fixing Issue #185
myvesta Aug 15, 2024
138f41c
Merge pull request #180 from ikheetjeff/fix-db-mail
myvesta Aug 15, 2024
7dcaaac
Merge pull request #181 from ikheetjeff/disable-root-login-phpmyadmin
myvesta Aug 15, 2024
b9f89d0
Update v-make-separated-ip-for-email - fix for deb 10 and 11
myvesta Aug 23, 2024
a99ae91
Update v-update-firewall: $FIREWALL_STATEFUL conf variable
myvesta Sep 2, 2024
3ed2cfa
Removing whitespace in php patch
myvesta Sep 18, 2024
c32bd2c
Generate random root password instead of using admin password
isscbta Sep 19, 2024
c148a1e
Create v-get-dns-config
isscbta Sep 19, 2024
76ad95d
Update vst-install-debian.sh - removing phppgadmin
myvesta Sep 26, 2024
e79acf1
v-make-main-apache-log
myvesta Oct 7, 2024
acfc563
Logging apache pid in v-make-main-apache-log
myvesta Oct 14, 2024
24371b8
Update v-clone-website: adding --EXCLUDE_UPLOADS parameter
myvesta Oct 18, 2024
da84a0b
v-fix-php-ini-disable-functions
myvesta Oct 25, 2024
afc6b62
v-fix-php-ini-disable-dunctions exclude patching
myvesta Oct 25, 2024
89fc5a1
SRS support for Exim4
myvesta Nov 8, 2024
24d84de
Update v-fix-php-ini-disable-functions
myvesta Nov 8, 2024
46d2a72
Update v-clean-garbage
myvesta Nov 10, 2024
f5027af
Update v-clean-garbage
myvesta Nov 10, 2024
5eb0607
Update exim4.conf.template - avoid ACL error
myvesta Nov 10, 2024
60ce986
Update v-add-srs-support-to-exim
myvesta Nov 11, 2024
de2305b
Update vst-install-debian.sh
myvesta Nov 11, 2024
5e9cf71
Add some loops due to 403 errors durring LE request in some random cases
myvesta Nov 11, 2024
e8c9125
Support for PHP 8.4
myvesta Nov 15, 2024
2cbf37e
Temporarily disabling php8.4-memcache, memcached, imagick
myvesta Nov 15, 2024
a7d7c36
Update v-add-srs-support-to-exim: compatibility for Debian < 12
myvesta Nov 18, 2024
8c477c3
Update v-add-srs-support-to-exim: Block execution in Exim < 4.96
myvesta Nov 18, 2024
15b5996
Update v-make-separated-ip-for-email
myvesta Nov 18, 2024
0f71df9
Create exim4.conf.template.without-srs
myvesta Nov 18, 2024
74fecc4
Update v-add-srs-support-to-exim
myvesta Nov 18, 2024
a2ed0db
Update v-make-separated-ip-for-email
myvesta Nov 18, 2024
015b3c4
nginx deny rules conf
myvesta Nov 19, 2024
6a35d14
Update v-add-firewall-ban: nginx deny rules conf
myvesta Nov 19, 2024
af8c071
Update v-clean-garbage
myvesta Nov 25, 2024
00ef255
Create v-blacklist-email-domain
isscbta Nov 27, 2024
aa92b6a
Create v-blacklist-email-account
isscbta Nov 27, 2024
92ddd34
Create v-whitelist-email-domain
isscbta Nov 27, 2024
62b0e67
Create v-whitelist-email-account
isscbta Nov 27, 2024
2e66899
Create v-cd-www
isscbta Nov 27, 2024
8280309
Update v-cd-www
isscbta Nov 27, 2024
3337783
v-cd-www alias
myvesta Dec 2, 2024
0639e77
Update vst-install-debian.sh
myvesta Dec 2, 2024
2daa635
Update v-change-dir-www
myvesta Dec 3, 2024
9fdfe27
Update v-change-dir-www
myvesta Dec 3, 2024
0e881c9
Update v-update-firewall - skip CentOS block
myvesta Dec 5, 2024
c1072ec
Update v-clone-website
myvesta Dec 13, 2024
c5e5464
Update v-restore-user: permissions fix
myvesta Jan 3, 2025
7937088
Update index.php: Prevent recreation of token by shitty browser add-ons
myvesta Jan 3, 2025
1573a33
Update v-clone-website: mysqldump --max_allowed_packet=1024M
myvesta Feb 10, 2025
32aae7d
Update multi-php-install.sh: bringing back php8.4-memcached & imagick
myvesta Feb 20, 2025
039dc4a
SpamHaus DNSBL removed from exim4
myvesta Feb 27, 2025
dc19794
Update v-make-main-apache-log
myvesta Mar 10, 2025
24908ae
Update v-move-folder-and-make-symlink
myvesta Mar 19, 2025
4437f6f
Update v-move-folder-and-make-symlink
myvesta Mar 19, 2025
01e4890
Update multi-php-install.sh: Fixing disable_functions line
myvesta Mar 31, 2025
57f179a
When deleting a domain, also delete the database if the domain has a …
myvesta Apr 16, 2025
a86f76d
Update db.sh - mysqldump --complete-insert --force --quick --single-t…
myvesta Apr 16, 2025
8bdfade
Update vst-install-debian.sh
myvesta Apr 16, 2025
0d86e2c
Calculate size of directories on /hdd too
myvesta Apr 24, 2025
7388432
parse_object_kv_list_non_eval()
myvesta Apr 25, 2025
6dccbb8
Update vst-install-debian.sh: mysql-apt-config_0.8.34-1_all.deb
myvesta May 7, 2025
83d1251
Update v-add-letsencrypt-domain: Detecting valid status on wildcard v…
myvesta May 12, 2025
d3fb4e1
v-move-domain-and-database-to-account: Update wordfence-waf.php
myvesta May 14, 2025
451b025
Create v-delete-mails
isscbta May 23, 2025
cb6e8e4
nginx block-firewall.conf when user block 80,443 in Firewall
myvesta May 24, 2025
4c495a1
Update index.php
ikheetjeff Oct 15, 2024
ff7bc2b
Update edit_server.html
ikheetjeff Oct 15, 2024
fa8dd64
Adding ProFTPD jail rule to Fail2Ban
May 25, 2025
80a6e43
v-system-report for Comprehensive Server Health Check
webxtekagency May 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
410 changes: 410 additions & 0 deletions Changelog.md

Large diffs are not rendered by default.

24 changes: 10 additions & 14 deletions ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
### Operating System (OS/VERSION):
### Describe the problem:

Type here, e.g. CentOS 6
Type here what is the problem

### VestaCP Version:

Type here, e.g. 3.14159

### Installed Software (what you got with the installer):
### Steps to Reproduce:

Type here, e.g. php-fpm, apache, nginx, mysql
Type here what we should do in order to see the bug on our test server

### Steps to Reproduce:
### Debian version:

Type here, e.g. install vesta and type rm -rf / --no-preserve-root
Type here, example: Debian 10

### Related Issues/Forum Threads:
### VestaCP Version:

Found anything that might be related to this? It might help us find the cause.
Type here, example: 0.9.8.26-29

### Other Notes:
### Installed Software (what you got with the installer):

Anything else?
Copy here first 22 lines of file /usr/local/vesta/conf/vesta.conf
113 changes: 83 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,95 @@
[Vesta Control Panel](http://vestacp.com/)
==================================================

[![Join the chat at https://gitter.im/vesta-cp/Lobby](https://badges.gitter.im/vesta-cp/Lobby.svg)](https://gitter.im/vesta-cp/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
<h1 align="center"><a href="https://myvestacp.com">myVesta</a></h1>

* Vesta is an open source hosting control panel.
* Vesta has a clean and focused interface without the clutter.
* Vesta has the latest of very innovative technologies.
<div style="text-align:center">

How to install (2 step)
----------------------------
Connect to your server as root via SSH
```bash
ssh root@your.server
```
[![Screenshot of myVesta](https://www.myvestacp.com/screenshot1.png)](https://www.myvestacp.com/)

Download the installation script, and run it:
```bash
curl http://vestacp.com/pub/vst-install.sh | bash
```
</div>

How to install (3 step)
----------------------------
If the above example does not work, try this 3 step method:
Connect to your server as root via SSH
```bash
ssh root@your.server
```
<h1 align="center">About</h1>

<p align="center">myVesta is a security and stability-focused fork of VestaCP, exclusively supporting Debian in order to maintain a streamlined ecosystem. Boasting a clean, clutter-free interface and the latest innovative technologies, our project is committed to staying synchronized with official VestaCP commits. We work independently to enhance security and develop new features, driven by our passion for contributing to the open-source community rather than monetary gain. As such, we will offer all features built for myVesta to the official VestaCP project through pull requests, without interfering with their development milestones.</p>

<p align="center"><b><a href="https://github.com/myvesta/vesta/blob/master/Changelog.md">View Changelog</a>
</b></p>

<h1>Links</h1>
<ul>
<li><a href="https://www.myvestacp.com/">Visit our homepage.</a></li>
<li><a href="https://forum.myvestacp.com/">Check out our forum for discussions and support.</a></li>
<li><a href="https://wiki.myvestacp.com/">For more information, take a look at our knowledge base.</a></li>
</ul>

<h1>Features of myVesta</h1>
<ul>
<li>Support for Debian 11 and 12 (Debian 12 is recommended, but previous Debian releases are also supported)</li>
<li>Support for MySQL 8</li>
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=20&t=51">nginx templates</a> that can prevent denial-of-service on your server</li>
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=18&t=52">Support for multi-PHP versions</a></li>
<li>You can <a href="https://forum.myvestacp.com/viewtopic.php?f=20&t=350">host NodeJS apps</a></li>
<li>You can limit the maximum number of sent emails (per hour) <a href="https://github.com/myvesta/vesta/blob/master/install/debian/10/exim/exim4.conf.template#L112-L113">per mail account</a> and <a href="https://github.com/myvesta/vesta/blob/master/install/debian/10/exim/exim4.conf.template#L72-L73">per hosting account</a>, preventing hijacking of email accounts and preventing PHP malware scripts to send spam.</li>
<li>
You can completely "lock" myVesta so it can be accessed only via secret URL, for example https://serverhost:8083/?MY-SECRET-URL
<ul>
<li>During installation you will be asked to choose a secret URL for your hosting panel</li>
<li>Literally no PHP scripts will be alive on your hosting panel (won't be able to get executed), unless you access the hosting panel with secret URL parameter. Thus, when it happens that, let's say, some zero-day exploit pops up - attackers won't be able to access it without knowing your secret URL - PHP scripts from VestaCP will be simply dead - no one will be able to interact with your panel unless they have the secret URL.</li>
<li>You can see for yourself how this mechanism was built by looking at:</li>
<ul>
<li><a href="https://github.com/myvesta/vesta/blob/master/src/deb/for-download/php/php.ini#L496">src/deb/for-download/php/php.ini</a></li>
<li><a href="https://github.com/myvesta/vesta/blob/master/web/inc/secure_login.php">web/inc/secure_login.php</a></li>
</ul>
<li>If you didn't set the secret URL during installation, you can do it anytime. Just execute in shell: <code>echo "&lt;?php \$login_url='MY-SECRET-URL';" > /usr/local/vesta/web/inc/login_url.php</code></li>
</ul>
</li>
<li>We <a href="https://github.com/myvesta/vesta/blob/master/install/debian/10/php/php7.3-dedi.patch#L9">disabled dangerous PHP functions</a> in php.ini, so even if, for example, your customer's CMS gets compromised, hacker will not be able to execute shell scripts from within PHP.</li>
<li>Apache is fully switched to mpm_event mode, while PHP is running in PHP-FPM mode, which is the most stable PHP-stack solution
<ul><li>OPCache is turned on by default</li></ul>
<li>Auto-generating LetsEncrypt SSL for server hostname (signed SSL for Vesta 8083 port, for dovecot (IMAP & POP3) and for Exim (SMTP))</li>
<li>You can change Vesta port during installation or later using one command line: v-change-vesta-port [number]</li>
<li>ClamAV is configured to block zip/rar/7z archives that contains executable files (just like GMail)</li>
<li>Backup will run with lowest priority (to avoid load on server), and can be configured to run only by night (and to stop on the morning and continue next night) </li>
<ul>
<li>You can compile Vesta binaries by yourself - <a href="https://github.com/myvesta/vesta/blob/master/src/deb/vesta_compile.sh">src/deb/vesta_compile.sh</a></li>
<li>You can even create your own APT repository in a minute</li>
<li>We are using latest nginx version for vesta-nginx package</li>
<li>With your own APT infrastructure you can take security of Vesta-installer infrastructure in your own hands. You will have full control of your Vesta code (this way you can rest assured that there's 0% chance that you'll install malicious packages from repositories that may get hacked)</li>
<li>Binaries that you compile are 100% compatible with official VestaCP from vestacp.com, so you can run official VestaCP code with your own binaries (in case you don't want the source code from this fork)</li>
</ul>

</li>
</ul>

<h1>How to install</h1>
Download the installation script:
```bash
curl -O http://vestacp.com/pub/vst-install.sh

```shell
curl -O http://c.myvestacp.com/vst-install-debian.sh
```

Then run it:
```bash
bash vst-install.sh

```shell
bash vst-install-debian.sh
```

License
----------------------------
Vesta is licensed under [GPL v3 ](https://github.com/serghey-rodin/vesta/blob/master/LICENSE) license
Or use our <a href="https://www.myvestacp.com/install_generator.html">installer generator</a>.

<h1>Useful scripts</h1>
<ul>
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=24&t=50">How to move accounts from one (my)Vesta server to another myVesta server</a></li>
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=17&t=386">WordPress installer in one second </a></li>(v-install-wordpress)
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=17&t=385">Cloning script that will copy the whole site from one (sub)domain to another (sub)domain </a></li>(v-clone-website)
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=17&t=382">Script that will migrate your site from http to https, replacing http to https URLs in database </a></li>(v-migrate-site-to-https)
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=24&t=63">Script for importing cPanel backups to Vesta (thanks to Maks Usmanov - Skamasle) </a></li> (v-import-cpanel-backup)
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=18&t=52">Script that will install multiple PHP versions on your server</a></li>
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=20&t=350">How to host NodeJS apps</a></li>
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=20&t=51">Script that will install nginx templates that can prevent denial-of-service on your server</a></li>
<li><a href="https://forum.myvestacp.com/viewtopic.php?f=15&t=47">Official VestaCP Softaculous installer</a></li>
</ul>


<h1>Licence</h1>
myVesta is licensed under <a href="https://github.com/serghey-rodin/vesta/blob/master/LICENSE">GPL v3</a> license.


5 changes: 5 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Security Policy

## Reporting a Vulnerability

Please report security issues to info@myvestacp.com
142 changes: 142 additions & 0 deletions bin/v-activate-rocket-nginx
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
#!/bin/bash
# info: Install rocket-nginx extension for certain domain
# options: DOMAIN

#----------------------------------------------------------#
# Variable&Function #
#----------------------------------------------------------#

whoami=$(whoami)
if [ "$whoami" != "root" ]; then
echo "You must be root to execute this script"
exit 1
fi

# Importing system environment
source /etc/profile

# Argument definition
domain=$1

user=$(/usr/local/vesta/bin/v-search-domain-owner $domain)
USER=$user

# Includes
source /usr/local/vesta/func/main.sh
source /usr/local/vesta/func/domain.sh

if [ -z "$user" ]; then
check_result $E_NOTEXIST "domain $domain doesn't exist"
fi


#----------------------------------------------------------#
# Verifications #
#----------------------------------------------------------#

check_args '1' "$#" 'DOMAIN'
is_format_valid 'domain'
is_object_valid 'user' 'USER' "$user"
is_object_unsuspended 'user' 'USER' "$user"

if [ ! -d "/home/$user" ]; then
echo "User doesn't exist";
exit 1;
fi

if [ ! -d "/home/$user/web/$domain/public_html" ]; then
echo "Domain doesn't exist";
exit 1;
fi

if [ ! -f "/home/$user/web/$domain/public_html/wp-config.php" ]; then
echo 'Please install WordPress first.'
exit 1;
fi

if [ ! -d "/etc/nginx/rocket-nginx" ]; then
echo "rocket-nginx is not installed";
echo "Do you want to install it now (y/n)?"
read answer
if [ "$answer" == "y" ]; then
echo "Installing rocket-nginx..."
curl -sL https://c.myvestacp.com/tools/install-rocket-nginx.sh | bash -
else
echo "Exiting script"
exit 1;
fi
fi


#----------------------------------------------------------#
# Action #
#----------------------------------------------------------#

# Changing Proxy Template
# Check if the proxy template is already set correctly
current_template=$(/usr/local/vesta/bin/v-list-web-domain $user $domain | grep 'PROXY:' | awk '{print $2}')
if [ "$current_template" == "wprocket-force-https" ] || [ "$current_template" == "wprocket-hosting" ]; then
echo "Proxy Template is already set up correctly"
else
# Prompt the user to choose whether to force HTTPS or not
echo "Do you want to force-https in your Proxy Template or not (y/n):"
read answer

# Change the proxy template based on the user's choice
if [ "$answer" == "y" ]; then
/usr/local/vesta/bin/v-change-web-domain-proxy-tpl "$user" "$domain" "wprocket-force-https"
else
/usr/local/vesta/bin/v-change-web-domain-proxy-tpl "$user" "$domain" "wprocket-hosting"
fi

echo "Proxy Template is ready"
fi

# Disabling wp-cron in wp-config.php
cd /home/$user/web/$domain/public_html
checkstring_disable="define('DISABLE_WP_CRON', true)"
checkstring_enable="define('DISABLE_WP_CRON', false)"
string_disable="define( 'DISABLE_WP_CRON', true );"
line="<?php"
file="wp-config.php"

if grep -q -w -i -F "$checkstring_disable" "$file"; then
echo "WP-Cron is already disabled in your wp-config.php"
elif grep -q -w -i -F "$checkstring_enable" "$file"; then
echo "Disabling WP-Cron in your wp-config.php..."
sed -i "/$checkstring_enable/d" "$file"
sed -i "/$line/Ia $string_disable" "$file"
else
echo "Disabling WP-Cron in your wp-config.php..."
sed -i "/$line/Ia $string_disable" "$file"
fi


# Adding cron job
# Check if a cron job already exists for any of the specified PHP-FPM versions
existing_cron=$(crontab -l -u $user | grep -o "wp-cron.php >/home/$user/web/$domain/cron.log" | grep -v "grep")

if [ ! -z "$existing_cron" ]; then
echo "There is already a cron job added for user $user and domain $domain."
else
echo "Adding cron job..."
# Add the cron job
fpm_ver=$(/usr/local/vesta/bin/v-get-php-version-of-domain "$domain")
touch /home/$user/web/$domain/cron.log
chown $user:$user /home/$user/web/$domain/cron.log

case $fpm_ver in
5.6 | 7.0 | 7.1 | 7.2 | 7.3 | 7.4 | 8.0 | 8.1 | 8.2 | 8.3)
/usr/local/vesta/bin/v-add-cron-job "$user" "*/15" "*" "*" "*" "*" "cd /home/$user/web/$domain/public_html; /usr/bin/php$fpm_ver wp-cron.php >/home/$user/web/$domain/cron.log 2>&1"
;;
esac
fi

#----------------------------------------------------------#
# Vesta #
#----------------------------------------------------------#
echo "Installation is completed."
echo "Checking RESPONSE HEADERS (You should see x-rocket-nginx-serving-static if the WP Rocket plugin is activated):"
curl -I https://$domain

exit
4 changes: 2 additions & 2 deletions bin/v-activate-vesta-license
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ source $VESTA/conf/vesta.conf

# Checking arg number
check_args '2' "$#" 'MODULE LICENSE'

is_user_format_valid "$license" "license"

#----------------------------------------------------------#
# Action #
#----------------------------------------------------------#

# Activating license
v_host='https://vestacp.com/checkout'
answer=$(curl -s $v_host/activate.php?licence_key=$license&module=$module)
answer=$(curl --max-time 60 -s $v_host/activate.php?licence_key=$license&module=$module)
check_result $? "cant' connect to vestacp.com " $E_CONNECT

# Checking server answer
Expand Down
7 changes: 7 additions & 0 deletions bin/v-add-firewall-ban
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,13 @@ $iptables -I fail2ban-$chain 1 -s $ip \
# Changing permissions
chmod 660 $conf

# nginx deny rules conf
if [ "$chain" = "WEB" ] && [ -f "/etc/nginx/conf.d/block.conf" ]; then
if ! grep -q "deny $ip;" /etc/nginx/conf.d/block.conf; then
echo "deny $ip;" >> /etc/nginx/conf.d/block.conf
systemctl reload nginx
fi
fi

#----------------------------------------------------------#
# Vesta #
Expand Down
10 changes: 10 additions & 0 deletions bin/v-add-firewall-rule
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,16 @@ sort_fw_rules
# Updating system firewall
$BIN/v-update-firewall

if [ "$WEB_SYSTEM" == 'nginx' ] || [ "$PROXY_SYSTEM" == 'nginx' ]; then
if [ "$port_ext" == "80,443" ] && [ "$action" == "DROP" ]; then
touch /etc/nginx/conf.d/block-firewall.conf
if ! grep -q "deny $ip;" /etc/nginx/conf.d/block-firewall.conf; then
echo "deny $ip;" >> /etc/nginx/conf.d/block-firewall.conf
systemctl restart nginx
fi
fi
fi


#----------------------------------------------------------#
# Vesta #
Expand Down
Loading