Skip to content

Commit 77ce6b6

Browse files
author
Kristan Kenney
committed
Sync with upstream development branch
2 parents 065bf9b + 53e8d53 commit 77ce6b6

File tree

9 files changed

+130
-29
lines changed

9 files changed

+130
-29
lines changed

CONTRIBUTING.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
How to Contribute
2+
==================================================
3+
4+
Do you want to contribute to the Hestia Control Panel project? The easiest way to get started is to [submit an issue report](https://github.com/hestiacp/hestia/issues) if you come across a bug or issue. If you're a developer, please feel free to submit a patch/pull request with a fix.
5+
6+
**We appreciate all contributions to our project; it is with the help of the open-source community that we are able to build a product that meets users needs.**
7+
8+
Code Contributions & Pull Requests - Guidelines
9+
-----------------------
10+
11+
**All pull requests must include:**
12+
1. A brief but descriptive title, such as **Fixed typo in php.ini** or **Updated rebuild_mail_conf function in rebuild.sh**.
13+
2. A detailed description of the changes that you've made.
14+
1. Example: "Apache subdomain configuration was incorrect, modified variables in templates to point to the correct files."
15+
3. Only commits which are related to the pull request or issue itself.
16+
17+
### Code formatting and comments:
18+
We ask that you try to follow existing naming schemes and coding conventions as much as possible, and that you please add brief but descriptive comments in your source code to aid other developers in debugging and understanding your code in the future.
19+
20+
### Squashing commits for smaller changes:
21+
When submitting a pull request with multiple smaller commits which are related to the same issue (or file), we ask that you please **squash your commits** in order to keep the project's commit history clean and easy to follow for other developers.
22+
23+
### Working with branches:
24+
Development for this project takes place in branches to effectively develop, manage, and test manage new features and code changes, ensuring that that each release meets high quality standards. There are two main branches which have a never-ending life cycle:
25+
26+
* **master**:Latest stable release code (install packages align with this branch)
27+
* **develop**: Primary development branch containing code for the next release.
28+
29+
If you are submitting a fix for a critical issue (such as security or broken functionality) in the current release, please create a branch with the prefix **hotfix-** starting from **master** for your work and submit a pull request with **[CRITICAL]** in the title.
30+
31+
For all other changes, we ask that you create a new branch based on **develop**. Please follow the below naming conventions for your work and submit a pull request when it has been completed. Once reviewed and approved, our development team will merge your code into the primary development branch.
32+
33+
* **feature-**: New features
34+
* **bugfix-**: Fixes for non-critical bugs
35+
* **secfix-**: Fixes for non-critical security issues
36+
* **webui-**: Control Panel user experience and interface changes
37+
38+
**Please ensure that all pull requests meet the guidelines listed above; those that do not will be rejected and sent back for review.**
39+
40+
Donations
41+
-----------------------
42+
If you would like to make a donation to the Hestia Control Panel project to further its development (or if you'd like to buy our developers a lunch), please feel free to do so via [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ST87LQH2CHGLA).

ISSUE_TEMPLATE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ Type here (e.g. Ubuntu 18.04 LTS)
1515
### HestiaCP Version:
1616
Type here (e.g. 0.9.8-29)
1717

18+
### Which branch are you using?
19+
Type here (e.g master, develop, etc.)
20+
1821
### What software is installed?
1922
Type here (e.g. Apache, Nginx, PHP-FPM, Dovecot/Exim, MariaDB, etc.)
2023

README.md

Lines changed: 67 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,55 @@
11
[Hestia Control Panel](https://www.hestiacp.com/)
22
==================================================
33

4-
Disclaimer
4+
**Pre-Release Software Information**
55
----------------------------
6-
**Hestia Control Panel is in active development and has been made available as a pre-release beta.**<br>
7-
**Please use caution if you choose to use this software in a production environment.**
6+
**Hestia Control Panel is undergoing rapid changes in development. As such, it is important to note that:**
7+
* Current builds are released as a beta and are intended for development and testing purposes only.
8+
* This software should not be used on production systems without understanding the risks.
9+
* By using this software, you acknowledge and accept that bugs or issues could occur at any time.
10+
* By using this software, you acknowledge and accept that changes to the functionality or user interface are likely during the course of development.
811

912
What is Hestia Control Panel?
1013
----------------------------
1114
* An open source web server control panel with an easy-to-use interface.
1215
* A lightweight alternative to cPanel, Plesk, etc.
1316

14-
What features does Hestia Control Panel support?
17+
What does Hestia Control Panel support?
1518
----------------------------
16-
* Web Server (Apache/Nginx) with PHP
17-
* DNS Server (Bind)
18-
* Mail Server (Exim/Dovecot) with Anti-Virus and Spam Filtering (ClamAV and SpamAssassin)
19-
* Database Server (MariaDB/PostgreSQL)
19+
* Standard Web Server (apache2/nginx) with PHP
20+
* PHP Web Application Server (nginx + php-fpm)
21+
* Multiple PHP versions (5.6 - 7.3)
22+
* DNS Server (Bind) with clustering capabilities
23+
* Mail Server (Exim/Dovecot) with Anti-Virus and Anti-Spam (ClamAV and SpamAssassin)
24+
* Database functionality (MariaDB/PostgreSQL)
25+
* Let's Encrypt SSL with wildcard certificates
2026

21-
System Requirements:
27+
Supported operating systems:
2228
----------------------------
2329
* Debian 8 or 9
2430
* Ubuntu 16.04 LTS or Ubuntu 18.04 LTS
25-
* **NOTE:** Hestia Control Panel must be installed on a "clean" operating system to ensure proper functionality.
31+
* **NOTE:** Hestia Control Panel must be installed on top of a fresh operating system installation to ensure proper functionality.
2632

27-
How to install:
28-
----------------------------
29-
Log in to your server as root, either directly or via SSH:
33+
Installing Hestia Control Panel
34+
============================
35+
## Step 1: Log in
36+
To install Hestia Control Panel on your server, you will need to be logged in as **root** either directly from the command line console or remotely via SSH:
3037
```bash
3138
ssh root@your.server
3239
```
33-
Download the installation script:
40+
## Step 2: Download
41+
Download the installation script for the latest release:
3442
```bash
3543
wget https://raw.githubusercontent.com/hestiacp/hestiacp/master/install/hst-install.sh
3644
```
37-
Run the installation script and follow the on-screen instructions:
45+
## Step 3: Run
46+
To begin the installation process, simply run the script and follow the on-screen prompts:
3847
```bash
3948
bash hst-install.sh
4049
```
50+
You will receive a welcome email at the address specified during installation (if applicable) and on-screen instructions after the installation is completed to log in and access your server.
51+
52+
## Additional installation notes:
4153
To perform an unattended installation using the default options:
4254
```bash
4355
bash hst-install.sh -f -y no -e <email> -p <password> -s <hostname>
@@ -46,20 +58,52 @@ For additional installation options:
4658
```bash
4759
bash hst-install.sh -h
4860
```
49-
Reporting bugs & issues:
50-
----------------------------
61+
62+
Installing development builds
63+
=============================
64+
To install a development build based on the latest published code, you must first have an existing installation of Hestia available. If you do not have a server configured, please install the latest stable build using the instructions above before continuing.
65+
66+
**Development builds should not be installed on systems with live production data.**
67+
68+
## Step 1: Download the compiler script
69+
```bash
70+
wget https://raw.githubusercontent.com/hestiacp/hestiacp/develop/src/hst_autocompile.sh
71+
```
72+
## Step 2: Compile and install the desired build:
73+
```bash
74+
bash hst_autocompile.sh --packageset <branchname> <yes|no>
75+
```
76+
**Valid options for *packageset* flag include:**
77+
* all
78+
* hestia
79+
* nginx
80+
* php
81+
82+
For example, to install only the Control Panel itself built from the main development branch (**develop**):
83+
```bash
84+
bash hst_autocompile.sh --hestia develop yes
85+
```
86+
87+
**Important:** Updates which have been released via the Hestia package repositories and upgraded through **apt** will replace installations which use the above method.
88+
89+
Reporting Issues
90+
=============================
5191
If you've run into an issue with Hestia Control Panel, please let us know as soon as possible so that we may investigate further and resolve any issues in a timely manner.
5292

53-
Bug reports can be filed using GitHub's [Issues](https://github.com/hestiacp/hestiacp/issues) feature located at the top of our repository.
93+
Bug reports can be filed using GitHub's [Issues](https://github.com/hestiacp/hestiacp/issues) feature.
5494

55-
License:
56-
----------------------------
57-
Hestia Control Panel is licensed under [GPL v3](https://github.com/hestiacp/hestiacp/blob/master/LICENSE) license, and is based on VestaCP.<br>
95+
Contributions
96+
=============================
97+
If you would like to contribute to the project, please [read our submission guidelines](https://github.com/hestiacp/hestiacp/blob/master/CONTRIBUTING.md) for a brief overview of our development processes and standards.
5898

59-
How to support Hestia Control Panel:
60-
----------------------------
99+
Donations
100+
=============================
61101
Hestia Control Panel is open source and completely free for everyone to use.
62102

63103
If you would like to help our developers cover their time and infrastucture costs, or to support the Hestia Control Panel project as a whole, please consider making a donation via PayPal.
64104

65105
[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ST87LQH2CHGLA)
106+
107+
License
108+
=============================
109+
Hestia Control Panel is licensed under [GPL v3](https://github.com/hestiacp/hestiacp/blob/master/LICENSE) license, and is based on the [VestaCP](https://www.vestacp.com/) project.<br>

bin/v-add-sys-sftp-jail

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ for user in $(grep "$HOMEDIR" /etc/passwd |egrep "$shells" |cut -f 1 -d:); do
6969
$BIN/v-add-user-sftp-jail $user
7070
done
7171

72+
# Add v-add-sys-sftp-jail to startup
73+
if [ ! -e "/etc/cron.d/hestia-sftp" ]; then
74+
echo "@reboot /usr/local/hestia/bin/v-add-sys-sftp-jail" > /etc/cron.d/hestia-sftp
75+
fi
76+
7277
#----------------------------------------------------------#
7378
# Hestia #
7479
#----------------------------------------------------------#

bin/v-add-user-sftp-jail

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ ssh_users=$(grep -A1 "^# Hestia SFTP Chroot" /etc/ssh/sshd_config | sed -n 2p |
3838
IFS=',' read -r -a users <<< "$ssh_users"
3939

4040
# Check if jail is already enabled
41-
if [[ ! " ${users[@]} " =~ " ${user} " ]]; then
41+
if [[ " ${users[@]} " =~ " ${user} " ]]; then
4242
exit
4343
fi
4444

@@ -54,6 +54,8 @@ users+=($user)
5454
users=$(IFS=',';echo "${users[*]// /|}";IFS=$' \t\n')
5555
sed -i "s/$ssh_users/$users/g" /etc/ssh/sshd_config
5656

57+
# Set home folder permission to root
58+
chown root:root /home/$user
5759

5860
#----------------------------------------------------------#
5961
# Hestia #

bin/v-delete-sys-sftp-jail

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@ if [ "$restart" = 'yes' ]; then
6565
fi
6666
fi
6767

68+
# Remove v-add-sys-sftp-jail to startup
69+
if [ ! -e "/etc/cron.d/hestia-sftp" ]; then
70+
rm -f /etc/cron.d/hestia-sftp
71+
fi
72+
6873

6974
#----------------------------------------------------------#
7075
# Hestia #

install/hst-install-debian.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ tmpfile=$(mktemp -p /tmp)
330330
dpkg --get-selections > $tmpfile
331331
for pkg in exim4 mariadb-server apache2 nginx hestia postfix; do
332332
if [ ! -z "$(grep $pkg $tmpfile)" ]; then
333-
conflicts="$pkg $conflicts"
333+
conflicts="$pkg* $conflicts"
334334
fi
335335
done
336336
rm -f $tmpfile

install/hst-install-ubuntu.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ tmpfile=$(mktemp -p /tmp)
307307
dpkg --get-selections > $tmpfile
308308
for pkg in exim4 mariadb-server apache2 nginx hestia postfix ufw; do
309309
if [ ! -z "$(grep $pkg $tmpfile)" ]; then
310-
conflicts="$pkg $conflicts"
310+
conflicts="$pkg* $conflicts"
311311
fi
312312
done
313313
rm -f $tmpfile

src/deb/php/php.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ report_memleaks = On
549549
; Development Value: On
550550
; Production value: On
551551
; http://php.net/html-errors
552-
html_errors = On
552+
;html_errors = On
553553

554554
; If html_errors is set to On *and* docref_root is not empty, then PHP
555555
; produces clickable error messages that direct to a page describing the error
@@ -1907,10 +1907,10 @@ ldap.max_links = -1
19071907
;opcache.huge_code_pages=1
19081908

19091909
; Validate cached file permissions.
1910-
;opcache.validate_permission=0
1910+
opcache.validate_permission=1
19111911

19121912
; Prevent name collisions in chroot'ed environment.
1913-
;opcache.validate_root=0
1913+
opcache.validate_root=1
19141914

19151915
; If specified, it produces opcode dumps for debugging different stages of
19161916
; optimizations.

0 commit comments

Comments
 (0)