Skip to content

Commit 94a9748

Browse files
authored
Merge branch 'master' into make-use-of-latest-hypernode-deploy-image-in-docs
2 parents 069ec8b + c12eef4 commit 94a9748

File tree

39 files changed

+525
-216
lines changed

39 files changed

+525
-216
lines changed

README.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
## Generating new docs
44

5-
``` bash
5+
```bash
66
DOC_URL=https://support.hypernode.com/en/ecommerce/magento-1/how-to-enable-mysql-query-logging-for-magento-1-x
77
bin/download_doc --output-dir=docs/ecommerce-applications $DOC_URL
88
```
99

1010
## Setting up the project
1111

12-
``` bash
12+
```bash
1313
mkvirtualenv hypernode-docs-next
1414
echo "export PYTHONPATH=$(pwd)" >> $VIRTUAL_ENV/bin/postactivate
1515
workon hypernode-docs-next
@@ -19,33 +19,38 @@ pre-commit install
1919

2020
## Building the docs
2121

22-
``` bash
22+
```bash
2323
bin/build_docs
2424
```
2525

2626
## Serving the docs
2727

28-
``` bash
28+
```bash
2929
bin/serve_docs
3030
```
31+
3132
## Setup Frontend step by step
33+
3234
```
3335
clone the repository
3436
pip install -r requirements/development.txt
3537
bin/build_docs
3638
bin/serve_docs
3739
```
40+
3841
in another terminal run
39-
``` bin/watch ```
42+
`bin/watch`
4043

4144
open localhost and now you can make changes in style and refresh the page without rebuilding
4245

4346
when you're working on scss to compile it automatically run
47+
4448
```
4549
npx sass --watch docs/_static/scss:docs/_static/css
4650
```
4751

4852
or as a production build:
53+
4954
```
5055
npx sass --style compressed --no-source-map docs/_static/scss:docs/_static/css
5156
```
@@ -57,6 +62,7 @@ Deploys automatically after merging branchers to master.
5762
### Deploy with Hypernode Deploy
5863

5964
To deploy to a local Hypernode Docker environment:
65+
6066
```
6167
$ docker pull docker.hypernode.com/byteinternet/hypernode-buster-docker:latest
6268
$ docker run docker.hypernode.com/byteinternet/hypernode-buster-docker:latest
@@ -66,6 +72,7 @@ $ # Note the IP address, it should be 172.17.0.2 (otherwise refer to deploy.php)
6672
Next make sure your `~/.ssh/yourdeploykey` equivalent can log in to the Docker host (172.17.0.2) as the app user. You can add it to the `/data/web/.ssh/authorized_keys` file on in the instance manually.
6773

6874
Then deploy to your local Hypernode Docker:
75+
6976
```
7077
docker run --rm -it --env SSH_PRIVATE_KEY="$(cat ~/.ssh/yourdeploykey | base64)" -v ${PWD}:/build quay.io/hypernode/deploy:latest hypernode-deploy build -vvv # First build the artifact
7178
docker run --rm -it --env SSH_PRIVATE_KEY="$(cat ~/.ssh/yourdeploykey | base64)" -v ${PWD}:/build quay.io/hypernode/deploy:latest hypernode-deploy deploy docker -vvv # Then perform the deploy
@@ -74,6 +81,7 @@ docker run --rm -it --env SSH_PRIVATE_KEY="$(cat ~/.ssh/yourdeploykey | base64)"
7481
## Building the manpage deb
7582

7683
The docs are also packaged as a debian package named `hndocsnext` so that on a Hypernode you can run `man hypernode` (or `hypernode-manual`) and page through a `manpage` version of the Hypernode docs. To build that debian package on a Debian machine you can run these commands:
84+
7785
```
7886
# First create the cow environment
7987
export ARCH=amd64
@@ -91,16 +99,19 @@ gbp buildpackage --git-pbuilder --git-dist=$DIST --git-arch=$ARCH --git-ignore-b
9199
```
92100

93101
Then after building the Deb you could install it with dpkg. For example:
102+
94103
```
95104
dpkg -i ../hndocsnext_20230121.173551_all.deb
96105
```
97106

98107
And test it out with:
108+
99109
```
100110
man hypernode
101111
```
102112

103113
To inspect the contents of the deb archive you can run:
114+
104115
```
105116
# dpkg -L hndocsnext
106117
/.

docs/_templates/layout.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,13 +279,13 @@ <h4>Need support?</h4>
279279
<div class="aside-tile__container aside-tile__feedback">
280280
<div class="aside-tile__content">
281281
<img src="https://static.hypernode.com/img/icons-multi-color/chat-bot.svg">
282-
<h4>Join our<br>Feedback Group</h4>
282+
<h4>Join our<br>Beta Test Group</h4>
283283
<ul class="aside-tile__feedback-list">
284284
<li><i class="fa fa-check-circle"></i>Experience new features first</li>
285-
<li><i class="fa fa-check-circle"></i>Get a gift after each session</li>
285+
<li><i class="fa fa-check-circle"></i>Get swag & giveaways</li>
286286
<li><i class="fa fa-check-circle"></i>Join product decision making</li>
287287
</ul>
288-
<p><a class="ahref-orange" href="https://forms.gle/ocQjMzhghMkUzkB19" target="_blank">read more</a></p>
288+
<p><a class="ahref-orange" href="https://www.hypernode.com/en/join-feedback-group/" target="_blank">Read more</a></p>
289289
</div>
290290
</div>
291291
</aside>

docs/about-hypernode/billing/how-to-choose-and-order-a-hypernode-plan.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,6 @@ DigitalOcean and Amazon both have data centers all over the world.
6868

6969
You can order a Hypernode plan via our [order page](https://www.hypernode.com/magento-cloud-hosting/#plans). The Control Panel is our default panel, which means all new Hypernode plans and trials will be booted in the Control Panel.
7070

71-
**Please note:** if you are a Service Panel user (i.e. you use the Dutch panel), please order your new plans directly via [this page in the Service Panel](https://service.byte.nl/planinfo/order-selection/). This is to prevent plans from being booted in the wrong system.
72-
7371
## Tips For Ordering a Hypernode
7472

7573
- Choose a logical name. IE: If your site is example.com, order example.hypernode.com

docs/about-hypernode/security-policies/one-of-your-magento-extensions-is-vulnerable.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ This can include creditcard theft, sending email spam in your name, stealing cus
2222

2323
## Special attention to online credit card theft
2424

25-
A hot topic over the past few years are digital skimmers. A hacker group (also know as Magecart) use code inserted into websites to steal credit card details. As of October 2018 more than 20 extensions have been abused by hackers. Details can be found[in this blog explaining the attack method PHP Object Injection (POI)](https://sansec.io/labs/2018/10/23/magecart-extension-0days/). Former Hypernode owner Willem will update the list of vulnerable extensions regularly.
25+
A hot topic over the past few years are digital skimmers. A hacker group (also know as Magecart) use code inserted into websites to steal credit card details. As of October 2018 more than 20 extensions have been abused by hackers. Details can be found [in this blog explaining the attack method PHP Object Injection (POI)](https://sansec.io/labs/2018/10/23/magecart-extension-0days/). Former Hypernode owner Willem will update the list of vulnerable extensions regularly.
2626

2727
## How do I fix it?
2828

docs/about-hypernode/security-policies/security-hall-of-fame.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ We would like to thank the following individuals and/or organizations, who have
2929
| [Pethuraj M](https://www.pethuraj.com/) | 1 July 2020 | Reported a flaw in our password reset flow |
3030
| [Miguel Santareno](https://www.linkedin.com/in/miguelsantareno/) | 14 May 2020 | Reported information leakage from marketing sites. |
3131
| [Gaurav Kumar](https://www.facebook.com/drago4344) and [Shivam Dattana](https://www.facebook.com/profile.php?id=100010397858328) / [Team Bugmania](https://www.openbugbounty.org/researchers/bugmania/) | 28 September 2019 | Reported a Cross site scripting (XSS) on magereport.com. |
32-
| [Mike de Landgraaf](https://www.linkedin.com/in/mdelandgraaf/) / [MDL Online](https://mdlonline.com/) | 21 March 2019 | Reported a misconfiguration that allowed user impersonation on Hypernode hosted webshops. |
32+
| [Mike de Landgraaf](https://www.linkedin.com/in/mdelandgraaf/) / MDL Online | 21 March 2019 | Reported a misconfiguration that allowed user impersonation on Hypernode hosted webshops. |
3333
| [Maksym Bendeberia](https://www.linkedin.com/in/jogspokoen/) / [WebSafety Ninja](https://websafety.ninja/) | 12 March 2019 | Reported information leakage from an internal deployment server. |
3434
| [Jan Piet van Dijk](https://www.linkedin.com/in/janpietvandijk/) / [Interwijs B.V.](https://www.interwijs.nl/) | 28 August 2018 | Reported a privilege escalation on Hypernode, leading to a local root exploit. |
3535
| [Wijnand Wieskamp](https://www.linkedin.com/in/wijnand-wieskamp-8a784313/) / [Crystalsoft B.V.](https://www.crystalsoft.nl/) | 1 June 2018 | Reported a misconfiguration that allowed a Hypernode’s preconfigured security settings to be bypassed. |
Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
---
2+
myst:
3+
html_meta:
4+
description: Learn how our Xgrade process work and how to make sure your Hypernode
5+
is ready for the Debian Bookworm upgrade
6+
title: How does the Xgrade process works
7+
---
8+
9+
# What is the Xgrade process of Hypernode?
10+
11+
An Xgrade is an automated process that allows your server to be upgraded or downgraded without any manual actions. Additionally, an Xgrade enables migration to one of our other providers.
12+
13+
## How does an Xgrade to Debian Bookworm or R405 work, and does it involve downtime?
14+
15+
An Xgrade to Debian Bookworm or R405 (which can be performed together) is carried out by our automation. Below are the relevant steps in the process:
16+
17+
1. Ensure a new Hypernode is created.
18+
1. Configure the new Hypernode (Operating system, MySQL, PHP, Varnish, etc.).
19+
1. Synchronize data (everything within the "/" and "/data" partition).
20+
1. Stop all services on the current Hypernode.
21+
1. Synchronize any new data that has been written.
22+
1. Perform checks to ensure all processes are complete.
23+
1. Send a "Hypernode migrated" event.
24+
1. Destroy the old Hypernode.
25+
26+
As you can see, a completely new Hypernode is created with the correct configurations, whether for a Debian Bookworm or an R405 Xgrade. The first synchronization of data will then take place. The duration of this synchronization depends on the amount and type of data. Typically, we calculate about 1 GB per minute, but this may vary.
27+
28+
At a certain point, all services will be stopped to prevent new orders from being placed and to ensure no data is lost. A second synchronization will then take place to transfer any newly written data. After this, our automation will conduct various checks before finalizing the migration to Debian Bookworm or R405 (or a combination of both).
29+
30+
## What should be checked or adjusted before the Xgrade? (e.g., Node.js and TLS configuration)
31+
32+
### Nodejs
33+
34+
Before scheduling a Xgrade to Debian Bookworm/R405, you must check which Node.js version you are using. This is necessary because Node.js versions 6 and 10 are no longer supported on the new operating system. Standard Magento 2 does not make use of Nodejs, but if you use another CMS or have custom scripts that require them, you may need to update your setup.
35+
36+
You can check your Node.js version in two ways; within the Control Panel, Or through the CLI:
37+
Within the Control Panel: Navigate to Settings → Development.
38+
39+
```
40+
app@uaifqk-hnvandijk-magweb-cmbl:~$ hypernode-systemctl settings nodejs_version
41+
nodejs_version is set to value 16
42+
```
43+
44+
If necessary, you can update Node.js by following these steps:
45+
46+
```
47+
app@uaifqk-hnvandijk-magweb-cmbl:~$ hypernode-systemctl settings nodejs_version 16
48+
Operation was successful and is being processed. Please allow a few minutes for the settings to be applied. Run 'livelog' to see the progress.
49+
```
50+
51+
### TLS configuration
52+
53+
With the upgrade to Debian Bookworm, the TLS configurations will also change. We have chosen to phase out outdated TLS versions 1.0 and 1.1. Additionally, the "modern" TLS configuration will now only support TLS 1.3.
54+
55+
Below are the TLS configurations for Debian Buster:
56+
57+
Intermediate TLS configuration:
58+
59+
```
60+
# intermediate configuration
61+
# nginx 1.16.1 | intermediate profile | OpenSSL 1.1.1d
62+
# Oldest compatible clients: Firefox 27, Android 4.4.2, Chrome 31, Edge 12, IE 11 (Win7), Java 8u31, OpenSSL 1.0.1, Opera 20, Safari 9
63+
# https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29
64+
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
65+
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA;
66+
ssl_prefer_server_ciphers on;
67+
# Diffie-Hellman parameter for DHE ciphersuites
68+
ssl_dhparam /etc/nginx/dhparams.pem;
69+
70+
ssl_stapling on;
71+
ssl_stapling_verify on;
72+
```
73+
74+
Modern TLS configuration:
75+
76+
```
77+
# intermediate configuration
78+
# nginx 1.22.1 | intermediate profile | OpenSSL 3.0.11
79+
# Oldest compatible clients: Firefox 27, Android 4.4.2, Chrome 31, Edge, IE 11 on Windows 7, Java 8u31, OpenSSL 1.0.1, Opera 20, and Safari 9
80+
# https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility
81+
ssl_protocols TLSv1.2 TLSv1.3;
82+
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
83+
ssl_prefer_server_ciphers off;
84+
# Diffie-Hellman parameter for DHE ciphersuites
85+
ssl_dhparam /etc/nginx/dhparams.pem;
86+
87+
ssl_stapling on;
88+
ssl_stapling_verify on;
89+
```
90+
91+
And here are the new TLS configurations for Debian Bookworm:
92+
93+
Intermediate TLS configuration:
94+
95+
```
96+
# intermediate configuration
97+
# nginx 1.22.1 | intermediate profile | OpenSSL 3.0.11
98+
# Oldest compatible clients: Firefox 27, Android 4.4.2, Chrome 31, Edge, IE 11 on Windows 7, Java 8u31, OpenSSL 1.0.1, Opera 20, and Safari 9
99+
# https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility
100+
ssl_protocols TLSv1.2 TLSv1.3;
101+
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
102+
ssl_prefer_server_ciphers off;
103+
# Diffie-Hellman parameter for DHE ciphersuites
104+
ssl_dhparam /etc/nginx/dhparams.pem;
105+
106+
ssl_stapling on;
107+
ssl_stapling_verify on;
108+
```
109+
110+
Modern TLS configuration:
111+
112+
```
113+
# modern configuration
114+
# nginx 1.22.1 | modern profile | OpenSSL 3.0.11
115+
# Oldest compatible clients: Firefox 63, Android 10.0, Chrome 70, Edge 75, Java 11, OpenSSL 1.1.1, Opera 57, and Safari 12.1
116+
# https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility
117+
ssl_protocols TLSv1.3;
118+
ssl_prefer_server_ciphers off;
119+
ssl_stapling on;
120+
ssl_stapling_verify on;
121+
```
122+
123+
If you need to adjust the TLS configuration, you can do so using the "Hypernode-manage-vhost" command.
124+
125+
```
126+
hmv hnvandijk.nl --ssl-config modern
127+
```
128+
129+
Please see the actual `--ssl-config` flag:
130+
131+
```
132+
--ssl-config {modern,intermediate}
133+
Use the given Mozilla SSL standard config
134+
```
135+
136+
Additionally, you may need to modify the Modern_ssl_config using "hypernode-systemctl".
137+
138+
```
139+
app@uaifqk-hnvandijk-magweb-cmbl:~$ hypernode-systemctl settings modern_ssl_config_enabled
140+
false true
141+
```
142+
143+
# What needs to be adjusted after the Xgrade? When can it be performed? (IP changes)
144+
145+
If you choose to Xgrade to R405, you will receive a new IP address from our automation system. You must update this IP address in the DNS settings for both the non-www and www records of your domain. This information will be sent to the email address associated with the Hypernode owner.
146+
147+
My domain is at Hypernode, can we automate this? Yes, you can enable the "Synchronize DNS" option in our DNS manager. Our automation will update the DNS settings for you after the Xgrade.
148+
149+
We make use of Cloudflare, would we be able to "automate" this proces? Sure! You can enable CNAME Flattening, which ensures that both the non-www and www records point to the Hypernode hostname. For example:
150+
151+
## Non-www
152+
153+
```
154+
CNAME hnvandijk.nl ---> hnvandijk.hypernode.io
155+
```
156+
157+
## www
158+
159+
```
160+
CNAME www.hnvandijk.nl ---> hnvandijk.hypernode.io
161+
```
162+
163+
We can schedule the Xgrade at a time that suits you! However, we can only provide the new IP address in advance if the Xgrade is performed during our standard working hours (09:00–18:00).
164+
165+
## I have a dedicated machine instead of a cloud environment. What does this mean?
166+
167+
If you have a dedicated machine and need an OS upgrade, you will be migrated to a different machine. This means you will receive a new IP address. The new machine will be set up at the TBBM data center, and we can only provide the new IP address during our standard working hours.
168+
169+
The OS upgrade process itself is the same as for a cloud environment.
170+
171+
## Additional Questions
172+
173+
- An Xgrade to R405 does not incur additional costs, you will not be charged extra.
174+
175+
- An Xgrade from Hetzner to TBBM also incurs no extra costs, you will not be charged extra.
176+
177+
## More Information
178+
179+
https://changelog.hypernode.com/release-9961-akeneo-7-0-is-now-available-on-the-platform/
180+
181+
https://changelog.hypernode.com/release-9956-hypernode-on-debian-bookworm/
182+
183+
https://changelog.hypernode.com/sunsetting-node-js-versions-6-and-10/

docs/best-practices/performance/how-to-improve-your-magento-search.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Another alternative is Sphinx Search. Sphinx is an open source search engine tha
2525

2626
## ElasticSearch
2727

28-
While previously it was already possible to use ElasticSearch with your Hypernode by connecting to an external search provider, we have now made it possible to use ElasticSearch for search in your shop out of the box on Hypernode without requiring any external service or configuration. In[this article](../../hypernode-platform/tools/how-to-use-elasticsearch-on-hypernode.md) we’ll explain a bit more about ElasticSearch and how to enable and configure it.
28+
While previously it was already possible to use ElasticSearch with your Hypernode by connecting to an external search provider, we have now made it possible to use ElasticSearch for search in your shop out of the box on Hypernode without requiring any external service or configuration. In [this article](../../hypernode-platform/tools/how-to-use-elasticsearch-on-hypernode.md) we’ll explain a bit more about ElasticSearch and how to enable and configure it.
2929

3030
Please note that due to the relatively heavy resource requirements for ElasticSearch this feature can only be enabled on every plan except the formerly known Grow plan. If you are on a smaller plan and previously already depended on an external paid ElasticSearch provider now might be a good time to consider simplifying your setup.
3131

@@ -34,7 +34,6 @@ Please note that due to the relatively heavy resource requirements for ElasticSe
3434
If you are on a lower plan, you’ll need to either upgrade, or make use of an external search provider. There a several companies you can choose for a monthly subscription:
3535

3636
- [Bonsai.io](https://bonsai.io/)
37-
- [Qbox.io](https://qbox.io/)
3837
- [Elastic.co](https://www.elastic.co/cloud/as-a-service)
3938

4039
**If you choose Bonsai, we have made a special deal with Bonsai. Please send a mail to support@hypernode.com for a discount code.**

0 commit comments

Comments
 (0)