diff --git a/.github/workflows/cleanup_acceptance.yaml b/.github/workflows/cleanup_acceptance.yaml index ee45f91b..5ac4dc11 100644 --- a/.github/workflows/cleanup_acceptance.yaml +++ b/.github/workflows/cleanup_acceptance.yaml @@ -10,6 +10,8 @@ jobs: container: quay.io/hypernode/deploy:3-php8.1-node18 steps: - uses: actions/checkout@v2 + - name: Dump env + run: env - name: Cleanup acceptance environments run: hypernode-deploy cleanup acceptance -vvv env: diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 33c095a7..83f9613b 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -14,7 +14,12 @@ jobs: runs-on: ubuntu-latest container: quay.io/hypernode/deploy:3-php8.1-node18 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + # Declares the repository safe and not under dubious ownership. + - name: Add repository to git safe directories + run: git config --global --add safe.directory $GITHUB_WORKSPACE - uses: actions/cache@v2 with: path: /tmp/composer-cache @@ -22,7 +27,10 @@ jobs: - uses: webfactory/ssh-agent@v0.5.4 with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - - run: apt update && apt install -y python3 virtualenv + - name: Set env for production build + if: github.ref == 'refs/heads/master' + run: | + echo "DOCS_BASE_URL=https://docs.hypernode.com/" >> $GITHUB_ENV - run: hypernode-deploy build -vvv - name: archive production artifacts uses: actions/upload-artifact@v3 @@ -33,6 +41,9 @@ jobs: deploy_acceptance: needs: build runs-on: ubuntu-latest + environment: + name: acceptance + url: ${{ steps.get_brancher_hostname.outputs.BRANCHER_URL }} if: github.ref != 'refs/heads/master' container: quay.io/hypernode/deploy:3-php8.1-node18 steps: @@ -47,20 +58,24 @@ jobs: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - run: mkdir -p $HOME/.ssh - name: deploy to acceptance - run: hypernode-deploy deploy acceptance -vvv + run: hypernode-deploy deploy acceptance -vvv --reuse-brancher env: HYPERNODE_API_TOKEN: ${{ secrets.HYPERNODE_API_TOKEN }} - name: Get brancher hostname - run: echo "BRANCHER_HOSTNAME=$(jq .hostnames[0] deployment-report.json -r)" >> $GITHUB_ENV + id: get_brancher_hostname + run: echo "BRANCHER_URL=https://$(jq .hostnames[0] deployment-report.json -r)" >> $GITHUB_OUTPUT - name: Comment hostname on PR uses: thollander/actions-comment-pull-request@v1 with: message: | - Acceptance server is available at https://${{ env.BRANCHER_HOSTNAME }} + Acceptance server is available at ${{ steps.get_brancher_hostname.outputs.BRANCHER_URL }} deploy_production: needs: build runs-on: ubuntu-latest + environment: + name: production + url: https://docs.hypernode.io if: github.ref == 'refs/heads/master' container: quay.io/hypernode/deploy:3-php8.1-node18 steps: diff --git a/.github/workflows/detect_renamed_docs.yaml b/.github/workflows/detect_renamed_docs.yaml new file mode 100644 index 00000000..2d5a0fd2 --- /dev/null +++ b/.github/workflows/detect_renamed_docs.yaml @@ -0,0 +1,27 @@ +name: Detect renamed docs + +on: + pull_request: + +jobs: + detect_renamed_docs: + runs-on: ubuntu-latest + name: Detect renamed docs + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Get changed files + id: changed_files + run: | + result="$(python3 ci/bin/detect_rewrites.py ${{ github.event.pull_request.base.sha }} ${{github.event.pull_request.head.sha}})" + echo "$result" + echo "CHANGED_FILES<> $GITHUB_OUTPUT + echo "$result" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + shell: bash + - name: Comment hostname on PR + if: ${{ steps.changed_files.outputs.CHANGED_FILES }} + uses: thollander/actions-comment-pull-request@v1 + with: + message: "${{ steps.changed_files.outputs.CHANGED_FILES }}" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cff633a5..11dca3a6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,21 +2,22 @@ # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: 'v4.1.0' + rev: 'v4.4.0' hooks: - id: trailing-whitespace - id: end-of-file-fixer - repo: https://github.com/psf/black - rev: '22.10.0' + rev: '22.12.0' hooks: - id: black - repo: https://github.com/myint/autoflake - rev: 'v1.4' + rev: 'v2.0.0' hooks: - id: autoflake args: ["--in-place", "--remove-unused-variables", "--remove-all-unused-imports"] - repo: https://github.com/pycqa/isort - rev: '5.10.1' + rev: '5.11.4' hooks: - id: isort name: isort (python) + args: ["--profile", "black"] diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 00000000..4f546692 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Hypernode + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 0ae5cb55..72103d0c 100644 --- a/README.md +++ b/README.md @@ -66,3 +66,48 @@ Then deploy to your local Hypernode Docker: 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 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 ``` + +## Building the manpage deb + +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: +``` +# First create the cow environment +export ARCH=amd64 +export DIST=buster +apt-get install debhelper cowbuilder git-buildpackage +cowbuilder --create --distribution buster --architecture amd64 --basepath /var/cache/pbuilder/base-$DIST-amd64.cow --mirror http://ftp.debian.org/debian/ --components=main + +# We need to make sure our build process can use networking in order to pip install the requirements +echo "USENETWORK=yes" > ~/.pbuilderrc + +# Then clone the repository and build the .deb +git clone https://github.com/ByteInternet/hypernode-docs-next +cd hypernode-docs-next +gbp buildpackage --git-pbuilder --git-dist=$DIST --git-arch=$ARCH --git-ignore-branch -us -uc -sa --git-ignore-new +``` + +Then after building the Deb you could install it with dpkg. For example: +``` +dpkg -i ../hndocsnext_20230121.173551_all.deb +``` + +And test it out with: +``` +man hypernode +``` + +To inspect the contents of the deb archive you can run: +``` +# dpkg -L hndocsnext +/. +/usr +/usr/local +/usr/local/man +/usr/local/man/man3 +/usr/local/man/man3/hypernode.3 +/usr/share +/usr/share/doc +/usr/share/doc/hndocsnext +/usr/share/doc/hndocsnext/README.md +/usr/share/doc/hndocsnext/changelog.gz +``` diff --git a/bin/build_docs b/bin/build_docs index 4dd4fb89..5149f2de 100755 --- a/bin/build_docs +++ b/bin/build_docs @@ -1,5 +1,7 @@ #!/usr/bin/env bash +set -e + pushd docs make html popd diff --git a/bin/build_manpage b/bin/build_manpage new file mode 100755 index 00000000..e8a8689c --- /dev/null +++ b/bin/build_manpage @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -e + +pushd docs +make man +echo "manpage located at $(realpath _build/man/docs.1)" +popd diff --git a/bin/find_dead_links b/bin/find_dead_links new file mode 100755 index 00000000..16a9906c --- /dev/null +++ b/bin/find_dead_links @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 + +import multiprocessing +import re +from glob import glob +from typing import List + +import requests + +from hypernode.common.settings import DOCS_DIR + +FAKE_DOMAINS = [ + "example.com", + "yourdomain.com", + "example.hypernode.io", + "hypernode.local", + "127.0.0.1", +] + + +def get_links(md_file: str) -> List[str]: + with open(md_file) as f: + content = f.read() + return re.findall(r"\[.*\]\((http.+?)\)", content) + + +def is_link_is_dead(link: str) -> bool: + try: + resp = requests.get(link, timeout=5) + except Exception as e: + print(f"Couldn't get {link}: {e}") + return True + dead = resp.status_code in [404, 500, 502, 503, 504] + if dead: + print(f"Dead link: {link}") + return dead + + +def main(): + links = [] + for md_file in glob(f"{DOCS_DIR}/**/*.md", recursive=True): + for link in get_links(md_file): + if not any(fake_domain in link for fake_domain in FAKE_DOMAINS): + links.append(link) + links = list(set(links)) + print(f"Found {len(links)} unique links") + # Loop over links in a multiprocessing pool + with multiprocessing.Pool(4) as p: + p.map(is_link_is_dead, links) + + +if __name__ == "__main__": + main() diff --git a/bin/generate_nginx_redirects b/bin/generate_nginx_redirects new file mode 100755 index 00000000..afe9733e --- /dev/null +++ b/bin/generate_nginx_redirects @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 +from hypernode.redirect.generate_nginx_redirects import main + +if __name__ == "__main__": + main() diff --git a/bin/generate_redirects_from_source_links b/bin/generate_redirects_from_source_links old mode 100644 new mode 100755 diff --git a/bin/import_metadata b/bin/import_metadata new file mode 100755 index 00000000..a8a26fab --- /dev/null +++ b/bin/import_metadata @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 + +from hypernode.metadata.importer import main + +if __name__ == "__main__": + main() diff --git a/ci/bin/detect_rewrites.py b/ci/bin/detect_rewrites.py new file mode 100644 index 00000000..50dbb1c1 --- /dev/null +++ b/ci/bin/detect_rewrites.py @@ -0,0 +1,53 @@ +import argparse +import re +import subprocess +from typing import Tuple + +RENAME_PATTERN = re.compile(r"^R[0-9]+") + + +def parse_args() -> Tuple[str, str]: + parser = argparse.ArgumentParser() + parser.add_argument("start_commit") + parser.add_argument("end_commit") + + args = parser.parse_args() + + return args.start_commit, args.end_commit + + +def main(): + start_commit, end_commit = parse_args() + diff_command = [ + "git", + "diff", + "--name-status", + "-M", + "--stat", + start_commit, + end_commit, + ] + output = subprocess.check_output(diff_command, encoding="utf-8") + renamed_files = filter(RENAME_PATTERN.match, output.splitlines()) + renamed_files = map(lambda x: x.split("\t")[1:], renamed_files) + renamed_markdown_files = filter(lambda x: x[0].endswith(".md"), renamed_files) + renamed_markdown_files = list(renamed_markdown_files) + + if renamed_markdown_files: + print("Detected renamed/moved files:") + print("```") + for file_from, file_to in renamed_markdown_files: + print("{} => {}".format(file_from, file_to)) + print("```") + print("To prevent 404 pages, consider adding the redirects to the new pages:") + print("```markdown") + print("---") + print("redirect_from:") + for file_from, _ in renamed_markdown_files: + print(" - {}".format(file_from)) + print("---") + print("```") + + +if __name__ == "__main__": + main() diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000..7f524424 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,6 @@ +hndocsnext (20230121.173551) UNRELEASED; urgency=medium + + [ Rick van de Loo ] + * Initial packaging + + -- Rick van de Loo Sat, 21 Jan 2023 17:35:51 +0200 diff --git a/debian/compat b/debian/compat new file mode 100644 index 00000000..ec635144 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 00000000..255ffe1c --- /dev/null +++ b/debian/control @@ -0,0 +1,13 @@ +Source: hndocsnext +Priority: optional +Maintainer: Hypernode Tech Team +Build-Depends: debhelper (>= 9), python3, python3-venv, python3-dev +Standards-Version: 3.9.4 +Homepage: https://github.com/ByteInternet/hypernode-docs-next +Vcs-Git: git@github.com:ByteInternet/hypernode-docs-next.git + +Package: hndocsnext +Section: doc +Architecture: all +Depends: ${misc:Depends} +Description: Hypernode docs in manpage form. Run 'man hypernode'. diff --git a/debian/docs b/debian/docs new file mode 100644 index 00000000..b43bf86b --- /dev/null +++ b/debian/docs @@ -0,0 +1 @@ +README.md diff --git a/debian/hndocsnext.install b/debian/hndocsnext.install new file mode 100644 index 00000000..10af3d38 --- /dev/null +++ b/debian/hndocsnext.install @@ -0,0 +1,3 @@ +# https://www.debian.org/doc/manuals/maint-guide/dother.en.html#install + +docs/_build/man/hypernode.3 /usr/local/man/man3/ diff --git a/debian/hndocsnext.postinst b/debian/hndocsnext.postinst new file mode 100644 index 00000000..7e6f2bb1 --- /dev/null +++ b/debian/hndocsnext.postinst @@ -0,0 +1,3 @@ +#!/bin/sh +set -e +mandb diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000..8af57186 --- /dev/null +++ b/debian/rules @@ -0,0 +1,17 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 +.PHONY: build + +build: + python3 -m venv venv + venv/bin/pip install -r requirements/development.txt + bash -c 'source venv/bin/activate; bin/build_manpage' + mv docs/_build/man/docs.1 docs/_build/man/hypernode.3 + +override_dh_usrlocal: + +%: + dh $@ diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 00000000..89ae9db8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/deploy.php b/deploy.php index 0c2b05ae..5d04ac59 100644 --- a/deploy.php +++ b/deploy.php @@ -25,6 +25,7 @@ task('python:venv:create', static function () { run('mkdir -p .hypernode'); run('virtualenv -p python3 .venv'); + run('echo export PYTHONPATH=$(pwd) >> .venv/bin/activate'); }); # Install the requirements @@ -32,6 +33,11 @@ run('source .venv/bin/activate && pip install -r requirements/base.txt'); }); +task('python:generate_redirects', static function () { + run('mkdir -p etc/nginx'); + run('source .venv/bin/activate && bin/generate_nginx_redirects > etc/nginx/server.redirects.conf'); +}); + # Build the documentation task('python:build_documentation', static function () { run('source .venv/bin/activate && bin/build_docs'); @@ -49,17 +55,28 @@ } }); -task("deploy:docs_vhost", static function () { - run("hypernode-manage-vhosts --https --force-https {{hostname}} --no --webroot {{current_path}}/{{public_folder}}"); +task('deploy:docs_vhost:acceptance', static function () { + run('hypernode-manage-vhosts --https --force-https {{hostname}} --no --webroot {{current_path}}/{{public_folder}}'); +})->select('stage=acceptance'); + +task('deploy:docs_vhost:production', static function () { + run('hypernode-manage-vhosts --https --force-https docs.hypernode.io --no --webroot {{current_path}}/{{public_folder}}'); +})->select('stage=production'); + +task('deploy:nginx_redirects', static function () { + run('cp {{release_path}}/etc/nginx/server.redirects.conf /data/web/nginx/server.redirects.conf'); }); $configuration = new Configuration(); $configuration->addBuildTask('python:venv:create'); $configuration->addBuildTask('python:venv:requirements'); $configuration->addBuildTask('python:build_documentation'); +$configuration->addBuildTask('python:generate_redirects'); $configuration->addDeployTask('deploy:disable_public'); $configuration->addDeployTask('deploy:hmv_docker'); -$configuration->addDeployTask('deploy:docs_vhost'); +$configuration->addDeployTask('deploy:docs_vhost:acceptance'); +$configuration->addDeployTask('deploy:docs_vhost:production'); +$configuration->addDeployTask('deploy:nginx_redirects'); # Just some sane defaults to exclude from the deploy $configuration->setDeployExclude([ @@ -73,12 +90,11 @@ '.idea', '.gitignore', '.editorconfig', - 'etc/', - '.venv/', - 'bin/', - 'hypernode/', - 'requirements/', - 'tests/' + './.venv', + './bin', + './hypernode', + './requirements', + './tests', ]); $productionStage = $configuration->addStage('production', 'docs.hypernode.io'); @@ -104,6 +120,6 @@ $testingStage = $configuration->addStage("acceptance", "docs"); $testingStage->addBrancherServer("hntestgroot") - ->setLabels(['stage=acceptance', 'ci_ref=' . (\getenv('GITHUB_REF') ?: 'none')]); + ->setLabels(['stage=acceptance', 'ci_ref=' . (\getenv('GITHUB_HEAD_REF') ?: 'none')]); return $configuration; diff --git a/docs/Makefile b/docs/Makefile index dcee2825..2a0bc92f 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -3,7 +3,7 @@ # You can set these variables from the command line, and also # from the environment for the first two. -SPHINXOPTS ?= -j auto +SPHINXOPTS ?= -j auto -W --keep-going SPHINXBUILD ?= sphinx-build SOURCEDIR = . BUILDDIR = _build diff --git a/docs/_static/css/general.css b/docs/_static/css/general.css index 9e23eadc..b2ce13db 100644 --- a/docs/_static/css/general.css +++ b/docs/_static/css/general.css @@ -1,3 +1,4 @@ +@charset "UTF-8"; h1, h2, h3, @@ -13,6 +14,10 @@ span { } } +span, p, div { + color: #404040; +} + a { text-decoration: none; } @@ -802,6 +807,29 @@ li.wy-breadcrumbs-aside a { } /* header end */ +/* article meta */ +.article-meta { + display: inline-block; + position: relative; + top: 30px; + font-size: 11px; + font-weight: 600; + opacity: 0.35; +} +.article-meta--updated { + opacity: 0.5; +} +.article-meta--updated::after { + content: "•"; + padding-left: 5px; +} +@media (max-width: 420px) { + .article-meta { + font-size: 12px; + } +} + +/* article meta end */ /* footer */ .edit { text-align: center; diff --git a/docs/_static/css/main.css b/docs/_static/css/main.css index 3e38080c..0f21ed56 100644 --- a/docs/_static/css/main.css +++ b/docs/_static/css/main.css @@ -1,3 +1,4 @@ +@charset "UTF-8"; :root { --blue: #005dab; --primary-blue: #063b67; @@ -41,6 +42,10 @@ span { } } +span, p, div { + color: #404040; +} + a { text-decoration: none; } @@ -830,6 +835,29 @@ li.wy-breadcrumbs-aside a { } /* header end */ +/* article meta */ +.article-meta { + display: inline-block; + position: relative; + top: 30px; + font-size: 11px; + font-weight: 600; + opacity: 0.35; +} +.article-meta--updated { + opacity: 0.5; +} +.article-meta--updated::after { + content: "•"; + padding-left: 5px; +} +@media (max-width: 420px) { + .article-meta { + font-size: 12px; + } +} + +/* article meta end */ /* footer */ .edit { text-align: center; diff --git a/docs/_static/scss/general.scss b/docs/_static/scss/general.scss index 9e66c9dd..cfcc44f7 100644 --- a/docs/_static/scss/general.scss +++ b/docs/_static/scss/general.scss @@ -15,6 +15,10 @@ p { } } +span, p, div { + color: #404040; +} + a { text-decoration: none; } @@ -806,6 +810,31 @@ li.wy-breadcrumbs-aside a { /* header end */ +/* article meta */ +.article-meta { + display: inline-block; + position: relative; + top: 30px; + font-size: 11px; + font-weight: 600; + opacity: 0.35; + + &--updated { + opacity: 0.5; + + &::after { + content: "•"; + padding-left: 5px; + } + } + + @media (max-width: $breakpoint-mobile) { + font-size: 12px; + } +} + +/* article meta end */ + /* footer */ .edit { text-align: center; diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js new file mode 100644 index 00000000..fdb742fd --- /dev/null +++ b/docs/_static/searchtools.js @@ -0,0 +1,566 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = docUrlRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = docUrlRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; + }); + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + results = results.reverse(); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); + }); + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [word]); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords) => { + const text = Search.htmlToText(htmlText); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html index 94fbd374..5af82a26 100644 --- a/docs/_templates/layout.html +++ b/docs/_templates/layout.html @@ -19,6 +19,7 @@ {{- metatags }} + {%- block htmltitle %} {{ title|striptags|e }}{{ titlesuffix }} {%- endblock -%} @@ -64,6 +65,15 @@ + + {%- if theme_analytics_id %} + + {%- endif %} + {%- if not embedded %} {# XXX Sphinx 1.8.0 made this an external js-file, quick fix until we refactor the template to inherert more blocks directly from sphinx #} {%- if sphinx_version_info >= (1, 8) -%} @@ -213,8 +223,14 @@ {%- else %}
{%- endif %} -
+
{%- block document %} + {%- if updated_at %} + + {%- endif %} + {%- if created_at %} + + {%- endif %}
{% block body %}{% endblock %}
@@ -222,7 +238,7 @@
{%- block comments %}{% endblock %}
- {%- endif%} + {%- endif %}
{%- endblock %} {% include "footer.html" %} @@ -248,22 +264,9 @@

Need support?

}); - {#- Do not conflict with RTD insertion of analytics script #} - {%- if not READTHEDOCS %} - {%- if theme_analytics_id %} - - - - - {%- endif %} + {%- if theme_analytics_id %} + {%- endif %} {%- block footer %} {% endblock %} diff --git a/docs/about-hypernode/about-hypernode.md b/docs/about-hypernode/about-hypernode.md index 838d661c..e656e560 100644 --- a/docs/about-hypernode/about-hypernode.md +++ b/docs/about-hypernode/about-hypernode.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that tell you more about Hypernode, our services and team.blue. + title: About Hypernode | Hypernode +redirect_from: + - /en/about/ +--- + # About Hypernode ```{toctree} diff --git a/docs/about-hypernode/about-hypernode/hypernode-and-team-blue.md b/docs/about-hypernode/about-hypernode/hypernode-and-team-blue.md index e8266be1..cdbd482a 100644 --- a/docs/about-hypernode/about-hypernode/hypernode-and-team-blue.md +++ b/docs/about-hypernode/about-hypernode/hypernode-and-team-blue.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: Hypernode is part of team.blue, a leading digital enabler for companies - and entrepreneurs. + description: 'Hypernode is part of team.blue, a $1 billion valuation tech company + that offers digital tools like hosting and email to over 1.2 million customers + across Europe. ' + title: Hypernode is part of team.blue | Hypernode +redirect_from: + - /en/about/about-us/hypernode-and-team-blue/ --- diff --git a/docs/about-hypernode/about-hypernode/hypernode-certification-for-agencies.md b/docs/about-hypernode/about-hypernode/hypernode-certification-for-agencies.md index 9b17ae98..2295a1a1 100644 --- a/docs/about-hypernode/about-hypernode/hypernode-certification-for-agencies.md +++ b/docs/about-hypernode/about-hypernode/hypernode-certification-for-agencies.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: This article explains the importance of a Hypernode certification - for Magento developers and retailers and how you can become a Hypernode Certified - Agency. + description: Our Certification program assesses Magento agencies on output, security, + processes, and requires thorough knowledge of Magento. Learn more! + title: Hypernode Certification for Magento Agencies | Hypernode +redirect_from: + - /en/about/about-us/hypernode-certification-for-agencies/ --- diff --git a/docs/about-hypernode/about-hypernode/hypernode-pricing-plans.md b/docs/about-hypernode/about-hypernode/hypernode-pricing-plans.md index 7bda500e..960f14eb 100644 --- a/docs/about-hypernode/about-hypernode/hypernode-pricing-plans.md +++ b/docs/about-hypernode/about-hypernode/hypernode-pricing-plans.md @@ -1,7 +1,11 @@ --- myst: html_meta: - description: Which hosting plans and pricing does Hypernode offer. + description: Learn about Hypernode's Managed Cloud Hosting and Managed Dedicated + Hosting and its pricing. Prices start at €109 per month. + title: Hypernode Pricing & Plans | Hypernode +redirect_from: + - /en/support/solutions/articles/48001228422-hypernode-pricing-plans/ --- @@ -26,7 +30,7 @@ Cloud hosting is a large group of physical servers tied together by a virtual la ### Pricing -Hypernode Cloud Hosting Plans start at € 139,- a month. The pricing is based on your needed resources and your chosen cloud provider. At Hypernode, [we offer three different providers for your cloud hosting](https://support.hypernode.com/en/about/about-us/which-cloud-providers-do-we-use): Combell OpenStack (**Falcon Plans**), DigitalOcean (**Pelican Plans**), and Amazon Web Services (**Eagle Plans**). +Hypernode Cloud Hosting Plans start at € 139,- a month. The pricing is based on your needed resources and your chosen cloud provider. At Hypernode, [we offer three different providers for your cloud hosting](which-cloud-providers-do-we-use.md): Combell OpenStack (**Falcon Plans**), DigitalOcean (**Pelican Plans**), and Amazon Web Services (**Eagle Plans**). [An overview of our Cloud hosting plans can be found here.](https://www.hypernode.com/en/cloud-hosting/#plans) diff --git a/docs/about-hypernode/about-hypernode/upgrade-to-debian-buster-technical-implications.md b/docs/about-hypernode/about-hypernode/upgrade-to-debian-buster-technical-implications.md index 587790eb..74fc9977 100644 --- a/docs/about-hypernode/about-hypernode/upgrade-to-debian-buster-technical-implications.md +++ b/docs/about-hypernode/about-hypernode/upgrade-to-debian-buster-technical-implications.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: Hypernode upgraded all systems from Ubuntu Xenial to Debian Buster + OS. Check the Hypernode changelog for the most up to date information. + title: Debian Buster Upgrade Implications | Hypernode +redirect_from: + - /en/about/about-us/upgrade-to-debian-buster-technical-implications/ +--- + # Upgrade to Debian Buster: Technical Implications @@ -6,7 +16,7 @@ Because it is important to keep your hosting environment up to date we’re upgr ## Software Version Changes -These are some of the versions of software available on the system that have changed in this OS upgrade. Note that this list is not exhaustive and only a snapshot of the situation of the platform during the moment of the initial transition between OS versions. Over time as the platform develops these versions might be mutated further. See the [Hypernode changelog](https://support.hypernode.com/changelog/) for the most up to date reports on changes to the platform. +These are some of the versions of software available on the system that have changed in this OS upgrade. Note that this list is not exhaustive and only a snapshot of the situation of the platform during the moment of the initial transition between OS versions. Over time as the platform develops these versions might be mutated further. See the [Hypernode changelog](https://changelog.hypernode.com/) for the most up-to-date reports on changes to the platform. ### Webstack Related Packages diff --git a/docs/about-hypernode/about-hypernode/what-kind-of-emails-does-hypernode-send.md b/docs/about-hypernode/about-hypernode/what-kind-of-emails-does-hypernode-send.md index e132045c..9dd60ca4 100644 --- a/docs/about-hypernode/about-hypernode/what-kind-of-emails-does-hypernode-send.md +++ b/docs/about-hypernode/about-hypernode/what-kind-of-emails-does-hypernode-send.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Hypernode sends out different kinds of emails to spread information. - In this article you can find which ones we send and why. + description: Hypernode sends ServiceMails, ProductMails and NewsMails to customers. + All personal information is kept private according to our Privacy Policy. + title: Types of Emails Sent by Hypernode | Hypernode +redirect_from: + - /en/about/about-us/what-kind-of-emails-does-hypernode-send/ --- @@ -17,7 +20,7 @@ We only send ServiceMails to our active customers. ServiceMails contain informat ## ProductMail -We continuously improve our Hypernode platform and services. Information about releases and changes can be found in our support documentation and [Changelog](https://support.hypernode.com/category/changelog/). In our ProductMail we present you the most interesting Hypernode releases in one email. On average you receive 1 ProductMail per month. +We continuously improve our Hypernode platform and services. Information about releases and changes can be found in our support documentation and [Changelog](https://changelog.hypernode.com/). In our ProductMail we present you the most interesting Hypernode releases in one email. On average you receive 1 ProductMail per month. We highly recommend you to subscribe to our ProductMail and never miss an update on Hypernode. Of course each ProductMail shows the option to unsubscribe. diff --git a/docs/about-hypernode/about-hypernode/which-cloud-providers-do-we-use.md b/docs/about-hypernode/about-hypernode/which-cloud-providers-do-we-use.md index 262a6e20..27addcd8 100644 --- a/docs/about-hypernode/about-hypernode/which-cloud-providers-do-we-use.md +++ b/docs/about-hypernode/about-hypernode/which-cloud-providers-do-we-use.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: The Hypernode platform is developed independently from a specific - cloud provider, which allows us to choose only the best. Read here which providers - we use. + description: Hypernode uses a range of cloud providers to host its advanced hosting + platform, including Combell OpenStack, DigitalOcean, and Amazon Cloud Services. + title: Cloud Providers used by Hypernode | Hypernode +redirect_from: + - /en/about/about-us/which-cloud-providers-do-we-use/ --- diff --git a/docs/about-hypernode/billing.md b/docs/about-hypernode/billing.md index dc89f49e..aa577fc7 100644 --- a/docs/about-hypernode/billing.md +++ b/docs/about-hypernode/billing.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that tell you more about how Hypernode does its billing. + title: Billing at Hypernode | Hypernode +redirect_from: + - /en/about/billing/ +--- + # Billing ```{toctree} diff --git a/docs/about-hypernode/billing/billing-faq-for-the-control-panel.md b/docs/about-hypernode/billing/billing-faq-for-the-control-panel.md index 85b5a7aa..64105102 100644 --- a/docs/about-hypernode/billing/billing-faq-for-the-control-panel.md +++ b/docs/about-hypernode/billing/billing-faq-for-the-control-panel.md @@ -1,21 +1,24 @@ --- myst: html_meta: - description: Every first of the month, we send an invoice to our customers. You - can easily find all invoices that have been sent in the Control Panel. + description: Find answers to frequently asked billing questions for the Control + Panel, including payment methods, changing plans, and adding VAT numbers. + title: Billing Control Panel FAQ | Hypernode +redirect_from: + - /en/about/billing/billing-faq-for-the-control-panel/ --- # Billing FAQ for the Control Panel -**Please note that this FAQ only applies to Control Panel customers that log in via [my.hypernode.com](https://my.hypernode.com/). If you use the Service Panel and log in via service.byte.nl please see [this article](https://support.hypernode.com/en/about/billing/billing-faq-hypernode-by-byte).** +**Please note that this FAQ only applies to Control Panel customers that log in via [my.hypernode.com](https://my.hypernode.com/). If you use the Service Panel and log in via service.byte.nl please see [this article](billing-faq-for-the-service-panel.md).** Every first of the month, Hypernode sends an invoice to customers who placed an order in the previous month or whose plans renew in the following month. The invoices are sent digitally to the Billing contact on the first of the month. You can easily find all invoices that have been sent in the Control Panel. ## What Are the Available Payment Methods? -Our Control Panel supports two different payment methods: credit card and SEPA Direct Debit. Please see our [Supported Payment Methods in the Control Panel](https://support.hypernode.com/en/about/billing/supported-payment-methods-in-the-control-panel) article for more information. +Our Control Panel supports two different payment methods: credit card and SEPA Direct Debit. Please see our [Supported Payment Methods in the Control Panel](supported-payment-methods-in-the-control-panel.md) article for more information. ## How to Edit Billing Info @@ -44,7 +47,7 @@ If you log in via [my.hypernode.com](https://auth.hypernode.com/), please use th - You'll now see an overview of your current plan on the left and the new plan on the right: ![](_res/tkmbOB9hsfJ0SfLR-TNCFtKqzRNgC6bvmA.png) - Select the desired plan and the type of environment, Development or Production. -- Select an add-on. Read more about our two SLA levels [here](https://support.hypernode.com/en/about/support/emergency-support-outside-office-hours-#Hypernode-Emergency-Service-Costs). +- Select an add-on. Read more about our two SLA levels [here](../support/emergency-support-outside-office-hours.md). - Agree with terms and conditions and click **Change** to change this plan. Your plan will be changed immediately. - Warnings, if applicable, will be shown on the left. diff --git a/docs/about-hypernode/billing/billing-faq-for-the-service-panel.md b/docs/about-hypernode/billing/billing-faq-for-the-service-panel.md index 092f859d..c5f08ab7 100644 --- a/docs/about-hypernode/billing/billing-faq-for-the-service-panel.md +++ b/docs/about-hypernode/billing/billing-faq-for-the-service-panel.md @@ -1,15 +1,18 @@ --- myst: html_meta: - description: 'Read all frequently asked questions about billing and their answers - within this article. ' + description: Learn about Hypernode's invoicing process and payment options for + customers using the legacy Service Panel. + title: FAQ on Service Panel Billing | Hypernode +redirect_from: + - /en/about/billing/billing-faq-for-the-service-panel/ --- # Billing FAQ for the Service Panel -**Please note that this FAQ only applies to Service Panel customers that log in via [service.byte.nl](https://auth.byte.nl/). If you use the Control Panel and log in via [my.hypernode.com](https://auth.hypernode.com/) please [see this article](https://support.hypernode.com/en/about/billing/how-to-manage-your-billing-details-on-the-control-panel).** +**Please note that this FAQ only applies to Service Panel customers that log in via [service.byte.nl](https://auth.byte.nl/). If you use the Control Panel and log in via [my.hypernode.com](https://auth.hypernode.com/) please [see this article](./billing-faq-for-the-control-panel.md).** Once a month, Hypernode sends an invoice to customers who placed an order in the previous month or whose domain names / plans renew in the following month. The invoices are sent digitally to the Contracting party on the first of the month. You can easily find all invoices that have been sent in the Service Panel. @@ -43,7 +46,7 @@ The rules apply to individuals, not to companies. If possible, we therefore advi ## How Can I Edit My Account Details? -For more information about editing your account details please see [this article](https://support.hypernode.com/a/solutions/articles/48000981375?lang=en). +For more information about editing your account details please see [this article](../../services/service-panel/how-to-change-your-customer-details-and-other-questions.md). ## What Do I Pay Extra Costs For? diff --git a/docs/about-hypernode/billing/control-panel-billing-facturen-faq-dutch.md b/docs/about-hypernode/billing/control-panel-billing-facturen-faq-dutch.md index 3f43ae52..9694aca5 100644 --- a/docs/about-hypernode/billing/control-panel-billing-facturen-faq-dutch.md +++ b/docs/about-hypernode/billing/control-panel-billing-facturen-faq-dutch.md @@ -1,3 +1,14 @@ +--- +myst: + html_meta: + description: This FAQ covers billing and invoicing questions for customers who + are migrated from the old Dutch legacy platform (Service Panel) to the new Control + Panel. + title: Billing and Invoicing FAQ for Dutch Customers | Hypernode +redirect_from: + - /en/about/billing/migration-faq/ +--- + # Control Panel Billing / Facturen FAQ (Dutch) diff --git a/docs/about-hypernode/billing/how-to-cancel-your-plan.md b/docs/about-hypernode/billing/how-to-cancel-your-plan.md index 8ea0c2c6..6f0e0647 100644 --- a/docs/about-hypernode/billing/how-to-cancel-your-plan.md +++ b/docs/about-hypernode/billing/how-to-cancel-your-plan.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'You can cancel your Hypernode subscription anytime you want. Read - more about how to do so in this article. ' + description: Learn how to cancel your Hypernode plan or domain in the Control + Panel, including tips for outstanding invoices and undoing cancellations. + title: How to Cancel Your Hypernode Plan | Hypernode +redirect_from: + - /en/about/billing/how-to-cancel-your-hypernode-plan/ --- @@ -99,7 +102,7 @@ You never want to accidentally delete a domain name. Because this causes many pr 1. A week later we will close the domain at SIDN. Your domain is now unregistered and will be quarantined. 1. After 40 days in quarantine, the domain will be released for registration again. -If your domain is in quarantine, this means that the domain is no longer accessible on the internet. Your contact information is also retrieved from the Whois. The domain can then only be registered by you again. This prevents domain hijacking. Do you want to get your domain name out of quarantine? Read how to do this on [How to Undo the Cancellation of a Domain Name](https://support.hypernode.com/a/solutions/articles/48001144612?lang=en) page. +If your domain is in quarantine, this means that the domain is no longer accessible on the internet. Your contact information is also retrieved from the Whois. The domain can then only be registered by you again. This prevents domain hijacking. Do you want to get your domain name out of quarantine? Read how to do this on [How to Undo the Cancellation of a Domain Name](../../services/domain-procedures/how-to-undo-the-cancellation-of-a-domain-name.md) page. #### Cancelling Foreign Domains diff --git a/docs/about-hypernode/billing/how-to-choose-and-order-a-hypernode-plan.md b/docs/about-hypernode/billing/how-to-choose-and-order-a-hypernode-plan.md index 7efdd45e..ebb3ad51 100644 --- a/docs/about-hypernode/billing/how-to-choose-and-order-a-hypernode-plan.md +++ b/docs/about-hypernode/billing/how-to-choose-and-order-a-hypernode-plan.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'Hypernode is a unique e-commerce platform for your Magento or Shopware - shop. Read all about our different hosting solutions in this article. ' + description: Find the perfect hosting plan for your online store with Hypernode. + Learn how to choose and order a Hypernode plan. + title: Choose and Order a Hypernode Plan | Hypernode +redirect_from: + - /en/about/billing/how-to-choose-and-order-a-hypernode-plan/ + - /knowledgebase/order-a-hypernode-plan/ --- @@ -72,5 +76,5 @@ You can order a Hypernode plan via our [order page](https://www.hypernode.com/ma - Make sure you pick a node with enough disk space for both your shop and your database. - Don’t use environment indicators like staging test, testing, dev or development: Without these indicators, you can easily change this node from a live to a test node without confusion or having to migrate to a server with another name. -- Still developing a shop? Then select [a development environment first](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/). When your Hypernode is [ready to go live](https://support.hypernode.com/knowledgebase/go-live-with-your-hypernode/) you can easily switch to a production node. -- Use [this article to remove a Magento installation](https://support.hypernode.com/knowledgebase/remove-magento-installation/) in case you want to reuse an existing Hypernode or accidentally ordered a Hypernode with a preinstalled Magento on it. +- Still developing a shop? Then select [a development environment first](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md). When your Hypernode is [ready to go live](../../best-practices/testing/how-to-go-live-with-your-hypernode.md) you can easily switch to a production node. +- Use [this article to remove a Magento installation](../../ecommerce-applications/magento-2/how-to-remove-your-magento-2-x-installation.md) in case you want to reuse an existing Hypernode or accidentally ordered a Hypernode with a preinstalled Magento on it. diff --git a/docs/about-hypernode/billing/how-to-up-or-downgrade-your-hypernode-plan.md b/docs/about-hypernode/billing/how-to-up-or-downgrade-your-hypernode-plan.md index 192182ca..e22d10b5 100644 --- a/docs/about-hypernode/billing/how-to-up-or-downgrade-your-hypernode-plan.md +++ b/docs/about-hypernode/billing/how-to-up-or-downgrade-your-hypernode-plan.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: 'When dealing with visitor peaks, during holidays for example, you - might want to take precautions and upgrade a bigger Hypernode plan. Read here - how to do so. ' + description: Learn how to easily upgrade or downgrade your Hypernode hosting plan + based on your needs and usage. You only pay for what you use. + title: Upgrade or downgrade a Hypernode Plan | Hypernode +redirect_from: + - /en/about/billing/how-to-up-or-downgrade-your-hypernode-plan/ --- @@ -40,7 +42,7 @@ If you log in via [my.hypernode.com](https://auth.hypernode.com/), please use th - You'll now see an overview of your current plan on the left and the new plan on the right: ![](_res/tkmbOB9hsfJ0SfLR-TNCFtKqzRNgC6bvmA.png) - Select the desired plan and the type of environment, Development or Production. -- Select an add-on. Read more about our two SLA levels [here](https://support.hypernode.com/en/about/support/emergency-support-outside-office-hours-#Hypernode-Emergency-Service-Costs). +- Select an add-on. Read more about our two SLA levels [here](../support/emergency-support-outside-office-hours.md). - Optional: schedule the plan change for a specific date and time. - Agree with terms and conditions and click Change to this plan. Your plan will be changed immediately. (or on the scheduled date and time) - Warnings, if applicable, will be shown on the left: @@ -73,7 +75,7 @@ When upgrading or downgrading a Hypernode plan, we first create a second node, m Right before the migration is finished, we email the technical contact the new IP address. -If you think you might switch between Professional/Falcon and Excellence/Eagle plans in the future, we recommend you to move your domain(s) to Hypernode so we can handle the DNS of your domains to avoid downtime. Or, use the DNS settings as explained in [this article](https://support.hypernode.com/knowledgebase/dns-settings-hypernode/). +If you think you might switch between Professional/Falcon and Excellence/Eagle plans in the future, we recommend you to move your domain(s) to Hypernode so we can handle the DNS of your domains to avoid downtime. Or, use the DNS settings as explained in [this article](../../hypernode-platform/dns/how-to-manage-your-dns-settings-for-hypernode.md). Make also sure to keep a list of payment providers, firewalls, local DNS servers and other services that depend on the IP address of the Hypernode, so you can quickly change the IP address if needed. diff --git a/docs/about-hypernode/billing/our-payment-service-provider.md b/docs/about-hypernode/billing/our-payment-service-provider.md index f1b96bd6..d5812809 100644 --- a/docs/about-hypernode/billing/our-payment-service-provider.md +++ b/docs/about-hypernode/billing/our-payment-service-provider.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: In our Control Panel we use Chargebee as our payment service provider - and Stripe as the payment gateway. + description: 'We use Chargebee as our payment service provider to securely process + transactions and accept credit and debit payments as well as SEPA Direct Debit. ' + title: Hypernode's Payment Service Provider | Hypernode +redirect_from: + - /en/about/billing/our-payment-service-provider/ --- diff --git a/docs/about-hypernode/billing/supported-payment-methods-in-the-control-panel.md b/docs/about-hypernode/billing/supported-payment-methods-in-the-control-panel.md index 3dffef02..97784eb6 100644 --- a/docs/about-hypernode/billing/supported-payment-methods-in-the-control-panel.md +++ b/docs/about-hypernode/billing/supported-payment-methods-in-the-control-panel.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Read what payment methods are supported for the Hypernode Control - Panel here + description: We support Credit Card, SEPA Direct Debit, and SEPA Direct Debit + through iDeal as payment options. Learn how to add these payment methods + title: Payment Methods in the Control Panel | Hypernode +redirect_from: + - /en/about/billing/supported-payment-methods-in-the-control-panel/ --- diff --git a/docs/about-hypernode/security-policies.md b/docs/about-hypernode/security-policies.md index a21eeb08..e0909b4b 100644 --- a/docs/about-hypernode/security-policies.md +++ b/docs/about-hypernode/security-policies.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that tell you more about Hypernode and its Security Policies. + title: Security Policies | Hypernode +redirect_from: + - /en/about/security/ +--- + # Security Policies ```{toctree} diff --git a/docs/about-hypernode/security-policies/hypernode-security-statement.md b/docs/about-hypernode/security-policies/hypernode-security-statement.md index cd0f7a71..efccb814 100644 --- a/docs/about-hypernode/security-policies/hypernode-security-statement.md +++ b/docs/about-hypernode/security-policies/hypernode-security-statement.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'An overview of Hypernode security policies and information security - certification can be found in this article. ' + description: At Hypernode, we prioritize the security of our servers and hosting + platform. Our security policies and procedures are based on ISO 27001:2013 certification. + title: Security Statement - Protecting Your Data | Hypernode +redirect_from: + - /en/about/security/hypernode-security-statement/ --- diff --git a/docs/about-hypernode/security-policies/one-of-your-magento-extensions-is-vulnerable.md b/docs/about-hypernode/security-policies/one-of-your-magento-extensions-is-vulnerable.md index a5b582ef..7ca8cd3c 100644 --- a/docs/about-hypernode/security-policies/one-of-your-magento-extensions-is-vulnerable.md +++ b/docs/about-hypernode/security-policies/one-of-your-magento-extensions-is-vulnerable.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: Find an overview of the consequences and ways to fix things, when - receiving a warning that one of the extensions in your Magento shop is vulnerable - here. + description: One of your Magento extensions is vulnerable, it means there is a + bug that can be exploited by hackers. Learn what steps to take to fix the issue. + title: 'Your Magento Extensions is Vulnerable: What to Do | Hypernode' +redirect_from: + - /en/about/security/one-of-your-magento-extensions-is-vulnerable/ --- @@ -46,7 +48,7 @@ Afterwards you should still have your webshop checked. It’s possible that your ## More information -To verify if your shop is hacked or not, [use the article about recovering a hacked Magento shop](https://support.hypernode.com/knowledgebase/recover-a-hacked-magento-shop/) +To verify if your shop is hacked or not, [use the article about recovering a hacked Magento shop](../../best-practices/security/how-to-recover-a-hacked-magento-shop.md) ## Need help? diff --git a/docs/about-hypernode/security-policies/responsible-disclosure-policy.md b/docs/about-hypernode/security-policies/responsible-disclosure-policy.md index 57b99b5c..2d50deaa 100644 --- a/docs/about-hypernode/security-policies/responsible-disclosure-policy.md +++ b/docs/about-hypernode/security-policies/responsible-disclosure-policy.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: We take the security of our servers very serious. This policy offers - a way to safely report possible security issues to us. + description: We ensure the security and privacy of Hypernode's users by responsibly + disclosing any vulnerabilities found in our systems. + title: Responsible Disclosure Policy | Security | Hypernode +redirect_from: + - /en/about/security/responsible-disclosure-policy/ --- diff --git a/docs/about-hypernode/security-policies/security-hall-of-fame.md b/docs/about-hypernode/security-policies/security-hall-of-fame.md index 0ecf83b2..40d43488 100644 --- a/docs/about-hypernode/security-policies/security-hall-of-fame.md +++ b/docs/about-hypernode/security-policies/security-hall-of-fame.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: A list of security researchers we have worked with, that responsibly - disclosed vulnerabilities to us. + description: Thank you to the individuals and organizations who have responsibly + disclosed vulnerabilities to Hypernode. These people helped keep our systems + secure. + title: Security Hall of Fame | Hypernode +redirect_from: + - /en/about/security/hall-of-fame/ --- diff --git a/docs/about-hypernode/security-policies/what-you-need-to-know-about-the-geo-blocking-regulation.md b/docs/about-hypernode/security-policies/what-you-need-to-know-about-the-geo-blocking-regulation.md index f29201f1..a1a66000 100644 --- a/docs/about-hypernode/security-policies/what-you-need-to-know-about-the-geo-blocking-regulation.md +++ b/docs/about-hypernode/security-policies/what-you-need-to-know-about-the-geo-blocking-regulation.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'Learn all about GEO-Blocking regulations and its most important - rules in this article. ' + description: The Geo-blocking Regulation is aimed to boost cross-border online + sales in the EU. Learn the rules for merchants and customers here. + title: Geo-Blocking Regulation| Security | Hypernode +redirect_from: + - /en/about/security/what-you-need-to-know-about-the-geo-blocking-regulation/ --- diff --git a/docs/about-hypernode/support.md b/docs/about-hypernode/support.md index f3da5dd1..2412c69c 100644 --- a/docs/about-hypernode/support.md +++ b/docs/about-hypernode/support.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that tell you more about Hypernode and its Support. + title: Support at Hypernode | Hypernode +redirect_from: + - /en/about/support/ +--- + # Support ```{toctree} diff --git a/docs/about-hypernode/support/24-7-monitoring-and-alerting.md b/docs/about-hypernode/support/24-7-monitoring-and-alerting.md index 68b385ea..760dfeea 100644 --- a/docs/about-hypernode/support/24-7-monitoring-and-alerting.md +++ b/docs/about-hypernode/support/24-7-monitoring-and-alerting.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: To ensure the highest possible stability, our experts monitor your - Hypernode 24 hours a day, 7 days a week. Read more about our monitoring in this - article. + description: Our experts monitor your Hypernode 24/7 and are ready to intervene + if needed to ensure the highest possible stability. Learn more about our Monitoring + here! + title: 24/7 Monitoring and Alerting | Support | Hypernode +redirect_from: + - /en/about/support/24-7-monitoring-and-alerting/ --- diff --git a/docs/about-hypernode/support/conflict-between-merchant-and-webdesigner.md b/docs/about-hypernode/support/conflict-between-merchant-and-webdesigner.md index 6a00d1b1..aa50670f 100644 --- a/docs/about-hypernode/support/conflict-between-merchant-and-webdesigner.md +++ b/docs/about-hypernode/support/conflict-between-merchant-and-webdesigner.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: What to do when a conflict arises between a Registrant (domain name - holder) and the web designer / developer (Contractor and / or Technical administrator)? + description: If a conflict arises between a merchant and a web designer/developer, + Hypernode is unable to mediate the situation.Please reach out to Hypernode for + advice. + title: Handling Merchant and Web Designer Conflicts | Hypernode +redirect_from: + - /en/about/support/conflict-between-merchant-and-webdesigner/ --- @@ -20,7 +24,7 @@ When a conflict arises between a domain name holder and a developer, there are t When multiple parties are involved in the division of roles of a domain name / package, it can happen that multiple accounts have different roles. This is due to legal considerations, but also because you want to give a technical party access to your site if you are not that technical yourself. -Please see [this article](https://support.hypernode.com/en/hypernode/tools/what-are-the-different-roles-in-the-service-panel-and-what-is-the-difference-between-them) for more information about the different roles in the Service Panel. +Please see [this article](../../services/service-panel/different-service-panel-scenarios.md) for more information about the different roles in the Service Panel. ## Different Roles in a Conflict diff --git a/docs/about-hypernode/support/emergency-support-outside-office-hours.md b/docs/about-hypernode/support/emergency-support-outside-office-hours.md index 66ea4f63..82cf7cb5 100644 --- a/docs/about-hypernode/support/emergency-support-outside-office-hours.md +++ b/docs/about-hypernode/support/emergency-support-outside-office-hours.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'When experiencing a business-critical disruption on your web shop, - you can use our Hypernode Emergency Support service for help. ' + description: If you are experiencing a business-critical disruption on your web + shop outside of office hours, you can access our Hypernode Emergency Support + Service. + title: Emergency Service | Urgent Support | Hypernode +redirect_from: + - /en/about/support/emergency-support-outside-office-hours-/ --- diff --git a/docs/about-hypernode/support/scope-of-support.md b/docs/about-hypernode/support/scope-of-support.md index d880300b..12221eaf 100644 --- a/docs/about-hypernode/support/scope-of-support.md +++ b/docs/about-hypernode/support/scope-of-support.md @@ -1,3 +1,14 @@ +--- +myst: + html_meta: + description: Our primary focus is providing a fast and stable hosting platform. + In case of application related issues, we may ask you to reach out a third-party + developer. + title: Scope of Support | Hypernode +redirect_from: + - /en/about/support/scope-of-support/ +--- + # Scope of Support diff --git a/docs/about-hypernode/support/what-to-expect-from-hipex-support.md b/docs/about-hypernode/support/what-to-expect-from-hipex-support.md index a5c7c1a3..f3c47989 100644 --- a/docs/about-hypernode/support/what-to-expect-from-hipex-support.md +++ b/docs/about-hypernode/support/what-to-expect-from-hipex-support.md @@ -1,3 +1,11 @@ +--- +myst: + html_meta: + description: 'Learn how to submit support tickets to Hipex, reach the company + by phone, and report urgent issues outside of business hours. ' + title: Hipex Ticket Portal | Support | Hypernode +--- + # Hipex ticket portal With collaboration between Hypernode and Hipex we will move to one support team. To provide the best service and support we have to say goodbye to some tools like Hipex Zendesk ticket system. With saying goodbye to Zendesk we will say goodbye to [support.hipex.io](https://support.hipex.io). This tool can't be used anymore because we migrate the ticket system from Hipex to Hypernode. From now on we use Hypernodes ticket system to deliver the best support of both worlds. To open up a new customer portal is in the backlog but not on any planning yet. You're more than welcome to send us a feature request via [Hypernode Uservoice](https://hypernode.uservoice.com/). diff --git a/docs/best-practices/backups.md b/docs/best-practices/backups.md index a2e4a7dc..9ec4cb17 100644 --- a/docs/best-practices/backups.md +++ b/docs/best-practices/backups.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that show best practices of backups. + title: Backups | Best Practices | Hypernode +redirect_from: + - /en/best-practices/backups/ +--- + # Backups ```{toctree} diff --git a/docs/best-practices/backups/how-to-create-a-backup-and-download-it-to-your-local-machine.md b/docs/best-practices/backups/how-to-create-a-backup-and-download-it-to-your-local-machine.md index 30dd53ed..5b040114 100644 --- a/docs/best-practices/backups/how-to-create-a-backup-and-download-it-to-your-local-machine.md +++ b/docs/best-practices/backups/how-to-create-a-backup-and-download-it-to-your-local-machine.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: Learn how to create and download a backup of your Hypernode application + and database to your local machine. This can be done with SSH access. + title: Create and Download a Backup to Your Local Machine +redirect_from: + - /en/support/solutions/articles/48001208755-how-to-create-a-backup-and-download-it-to-your-local-machine/ +--- + # How to Create a Backup and Download it to Your Local Machine @@ -43,7 +53,7 @@ Now that you've created the backup(s) in **/data/web/backup_hypernode**, you can Follow these steps to download your backup via FTP: -- First of all create a [FTP-user](https://support.hypernode.com/en/hypernode/ftp/how-to-configure-ftp-sftp-on-hypernode)(If you already have a FTP-user make sure it's able to access the backup directory) +- First of all create a [FTP-user](../../hypernode-platform/ftp/how-to-configure-ftp-sftp-on-hypernode.md)(If you already have a FTP-user make sure it's able to access the backup directory) - set the **home-dir** to `/data/web/backup_hypernode` - Set your IP on the FTP whitelist - Login with your FTP-user on for example FileZilla diff --git a/docs/best-practices/cdn.md b/docs/best-practices/cdn.md index 9b790cff..02f21795 100644 --- a/docs/best-practices/cdn.md +++ b/docs/best-practices/cdn.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that show best practices of cdn. + title: CDN | Best Practices | Hypernode +redirect_from: + - /en/best-practices/cdn/ +--- + # CDN ```{toctree} diff --git a/docs/best-practices/cdn/how-to-use-cloudflare-with-hypernode.md b/docs/best-practices/cdn/how-to-use-cloudflare-with-hypernode.md index d42a5881..50905103 100644 --- a/docs/best-practices/cdn/how-to-use-cloudflare-with-hypernode.md +++ b/docs/best-practices/cdn/how-to-use-cloudflare-with-hypernode.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Hypernodes are fully configured and support Cloudflare out of the - box. Read here how to use them. + description: Learn how to configure Cloudflare on your Hypernode to improve website + performance, reduce network latency, and block threats. + title: How to Use Cloudflare | Hypernode +redirect_from: + - /en/best-practices/cdn/how-to-use-cloudflare-with-hypernode/ --- @@ -69,7 +72,7 @@ We created some configuration for Nginx that shows the remote IP of the visitor This way you can block remote visitors without blocking all traffic coming from the same Cloudflare server. This does not work when using Railgun. -For example have a look at [our documentation about blocking or whitelisting IP’s in Nginx](https://support.hypernode.com/knowledgebase/blocking-allowing-ip-addresses-in-nginx/). +For example have a look at [our documentation about blocking or whitelisting IP’s in Nginx](../../hypernode-platform/nginx/how-to-block-allow-ip-addresses-in-nginx.md). Another option is to configure a blocklist in the [Cloudflare Admin](https://www.cloudflare.com/a/login). diff --git a/docs/best-practices/database.md b/docs/best-practices/database.md index 82c3bb0e..5144deec 100644 --- a/docs/best-practices/database.md +++ b/docs/best-practices/database.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that show best practices of databases. + title: Database | Best Practices | Hypernode +redirect_from: + - /en/best-practices/database/ +--- + # Database ```{toctree} diff --git a/docs/best-practices/database/how-to-run-rabbitmq-on-hypernode.md b/docs/best-practices/database/how-to-run-rabbitmq-on-hypernode.md index bfa1224c..0da41e19 100644 --- a/docs/best-practices/database/how-to-run-rabbitmq-on-hypernode.md +++ b/docs/best-practices/database/how-to-run-rabbitmq-on-hypernode.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: RabbitMQ is message-queueing software where queues running in the - background can be defined. Read here how to use it on Hypernode. + description: Use RabbitMQ to run resource-intensive tasks in the background on + Hypernode. Learn how to enable and access RabbitMQ on Hypernode. + title: How to Run RabbitMQ | Hypernode +redirect_from: + - /en/best-practices/database/how-to-run-rabbitmq-on-hypernode/ --- @@ -27,7 +30,7 @@ The main idea behind queues is to avoid doing a resource-intensive task immediat ## Enabling RabbitMQ -Enabling RabbitMQ can be done via de [commandline tool](https://support.hypernode.com/knowledgebase/hypernode-systemctl-cli-tool/) or the [Hypernode API](https://community.hypernode.io/#/Documentation/hypernode-api/README). +Enabling RabbitMQ can be done via de [commandline tool](../../hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md) or the [Hypernode API](https://community.hypernode.io/#/Documentation/hypernode-api/README). As an app user you enable RabbitMQ this way: diff --git a/docs/best-practices/database/how-to-use-heidisql-on-hypernode.md b/docs/best-practices/database/how-to-use-heidisql-on-hypernode.md index 0e707717..105ef90e 100644 --- a/docs/best-practices/database/how-to-use-heidisql-on-hypernode.md +++ b/docs/best-practices/database/how-to-use-heidisql-on-hypernode.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: HeidiSQL is a reliable tool designed for web developers using the - MySQL server, Microsoft SQL databases and PostgreSQL. Find here how to use it - on Hypernode. + description: Learn how to use HeidiSQL on Hypernode for efficient database management. + Easily browse, edit, and export data and tables with this reliable tool. + title: How to use HeidiSQL | Hypernode +redirect_from: + - /en/best-practices/database/how-to-use-heidisql-on-hypernode/ --- @@ -22,7 +24,7 @@ First, go to the [HeidiSQL homepage](http://www.heidisql.com/download.php) and u ## Add your IP to the allowlist. -By default, your MySQL server is protected by a firewall. To connect remotely, you must [add your IP address to the allowlist](https://support.hypernode.com/en/hypernode/mysql/how-to-use-mysql-on-hypernode). You can find your IP address by typing in 'what is my IP' into Google. +By default, your MySQL server is protected by a firewall. To connect remotely, you must [add your IP address to the allowlist](../../hypernode-platform/mysql/how-to-use-mysql-on-hypernode.md). You can find your IP address by typing in 'what is my IP' into Google. ## Configure HeidiSQL @@ -42,7 +44,7 @@ Then configure HeidiSQL as follows: ## Create a database dump -You should consider using [Magerun](https://support.hypernode.com/knowledgebase/using-mysql-on-hypernode/#Using_Magerun), but you could use HeidiSQL to create a database dump. Please note that making a dump through HeidiSQL may generate an inconsistent backup, as data may change while your backup is created. +You should consider using [Magerun](../../hypernode-platform/mysql/how-to-use-mysql-on-hypernode.md#using-magerun), but you could use HeidiSQL to create a database dump. Please note that making a dump through HeidiSQL may generate an inconsistent backup, as data may change while your backup is created. 1. Start HeidiSQL. 1. Connect to your Hypernode. diff --git a/docs/best-practices/email.md b/docs/best-practices/email.md index 2d9baefb..1a831879 100644 --- a/docs/best-practices/email.md +++ b/docs/best-practices/email.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that show best practices of emails. + title: Email | Best Practices | Hypernode +redirect_from: + - /en/best-practices/email/ +--- + # Email ```{toctree} diff --git a/docs/best-practices/email/how-to-enable-an-autoresponder-out-of-office-for-your-email-address.md b/docs/best-practices/email/how-to-enable-an-autoresponder-out-of-office-for-your-email-address.md index 7ee7eb57..6230bbd2 100644 --- a/docs/best-practices/email/how-to-enable-an-autoresponder-out-of-office-for-your-email-address.md +++ b/docs/best-practices/email/how-to-enable-an-autoresponder-out-of-office-for-your-email-address.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Read how you can create an autoresponder for your email address in - this article + description: Learn how to enable an autoresponder for your email address using + Hypernode's Service Panel. Read our step-by-step guide. + title: How to Enable an Autoresponder | Service Panel | Hypernode +redirect_from: + - /en/best-practices/email/how-to-enable-an-autoresponder-out-of-office-for-your-email-address/ --- @@ -55,7 +58,3 @@ Got to the [autoresponder](https://service.byte.nl/mail/outofoffice.cgi) page. Y - You can create the subject line in the entry field behind **Onderwerp** - In the entry field for **Bericht**you can set up the message for the autoresponder - Click on **Activeren**to save the settings - -## Create an Email Forward - -In stead of enabling an autoresponder, you can also create an email forward to another address. You can find how to do so [here](https://support.hypernode.com/en/hypernode/email/email-faq#Can-I-Forward-Email-to-an-Existing-Address). diff --git a/docs/best-practices/email/how-to-export-your-emails.md b/docs/best-practices/email/how-to-export-your-emails.md index 7a9a234a..3e4c2277 100644 --- a/docs/best-practices/email/how-to-export-your-emails.md +++ b/docs/best-practices/email/how-to-export-your-emails.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: In this article we explain how you can export your email with a - number of common email clients (such as Outlook and Mac Mail) and our own webmail - application. + description: Learn how to export your emails from various email clients such as + Byte Webmail, Outlook, Mozilla Thunderbird and Mac Mail. Follow our step-by-step + guide. + title: How to Export your Emails? | Hypernode +redirect_from: + - /en/best-practices/email/how-to-export-your-emails/ --- diff --git a/docs/best-practices/email/how-to-find-the-mail-headers.md b/docs/best-practices/email/how-to-find-the-mail-headers.md index a97da626..7a479a5e 100644 --- a/docs/best-practices/email/how-to-find-the-mail-headers.md +++ b/docs/best-practices/email/how-to-find-the-mail-headers.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: If you have an issue with sending or receiving email, you can use - the mail header to see where the email went and discover what might be going - wrong. + description: Learn how to find and read email headers in common email clients + such as Outlook, Thunderbird, Mac Mail and Gmail. + title: How to find Mail Headers? | Hypernode +redirect_from: + - /en/best-practices/email/how-to-find-the-mail-headers/ --- diff --git a/docs/best-practices/email/how-to-prevent-spam-being-sent-from-your-name-or-email-address.md b/docs/best-practices/email/how-to-prevent-spam-being-sent-from-your-name-or-email-address.md index fc4812b4..ed354860 100644 --- a/docs/best-practices/email/how-to-prevent-spam-being-sent-from-your-name-or-email-address.md +++ b/docs/best-practices/email/how-to-prevent-spam-being-sent-from-your-name-or-email-address.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'In this article, we explain how to preven spam from being sent from - your name or email address. Only available in Dutch. ' + description: Minimize the chance of someone sending spam using your name and email + address and learn what Hypernode can and cannot do to help you. + title: Prevent spam being sent from your name or email address +redirect_from: + - /en/best-practices/email/how-to-prevent-spam-being-sent-from-your-name-or-email-address/ --- diff --git a/docs/best-practices/email/how-to-prevent-your-email-being-marked-as-spam.md b/docs/best-practices/email/how-to-prevent-your-email-being-marked-as-spam.md index af6cc9e3..919ffd5f 100644 --- a/docs/best-practices/email/how-to-prevent-your-email-being-marked-as-spam.md +++ b/docs/best-practices/email/how-to-prevent-your-email-being-marked-as-spam.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Sometimes messages sent from a Hypernode are marked as spam by external - spam filters. Follow these steps in this article to fix any misconfigurations. + description: Follow our step-by-step guide on checking SPF records, return-path, + and if your Hypernode is listed on a blacklist. + title: How to prevent your emails being marked as spam | Hypernode +redirect_from: + - /en/best-practices/email/how-to-prevent-your-email-being-marked-as-spam/ --- @@ -15,7 +18,7 @@ Sometimes email which is sent from a Hypernode is marked as spam by external spa Check if the inclue:spf.appname.hypernode.io hostname is included in your SPF record (in the DNS zone-file). This hostname contains the IP-address of your Hypernode and the addresses from Byte’s mailservers. -Detailed information on SPF records can be found [here](https://support.hypernode.com/en/hypernode/dns/how-to-set-up-your-spf-records-for-hypernode). +Detailed information on SPF records can be found [here](../../hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md). If the IP address of your Hypernode is not included in this record, please send an email to support@hypernode.com, so we will fix the record for you. This could happen after an up- or downgrade of the Hypernode plan. @@ -23,10 +26,10 @@ If the IP address of your Hypernode is not included in this record, please send If you send your emails using a PHP script, the default return-path will be noreply@hypernode.io. This email address will be seen as possible spam address, so you have to change this into something else (e.g. noreply@example.tld) or change it into the email address you also use in your Magento installation. We would advise you to use a valid email address. If the recipient is using SAV (Sender Address Verification), and the email address is not reachable, then a spamfilter could see this as a spam message. -More information about setting your return-path for [Magento 1](https://support.hypernode.com/en/ecommerce/magento-1/how-to-set-the-return-path-for-a-magento-1-shop) and [Magento 2](https://support.hypernode.com/en/ecommerce/magento-2/how-to-set-the-return-path-for-a-magento-2-shop). +More information about setting your return-path for [Magento 1](../../ecommerce-applications/magento-1/how-to-set-the-return-path-for-a-magento-1-shop.md) and [Magento 2](../../ecommerce-applications/magento-2/how-to-set-the-return-path-for-a-magento-2-shop.md). ## Check If Your Hypernode Is Listed on a Blacklist Browse to MXToolbox and fill in the IP address of your Hypernode to check if the IP address is listed on a blacklist. If it is listed, you could request a delisting by yourself. Do not forget to check the reason why the IP is listed and fix it to prevent this from happening again. -If emails sent from the Hypernode are still marked as spam, please send an analysis request by email to support@hypernode.com including [a full-header of a marked message](https://support.hypernode.com/en/best-practices/email/how-to-find-the-mail-headers). We will investigate the reason and send you a reply with more details. +If emails sent from the Hypernode are still marked as spam, please send an analysis request by email to support@hypernode.com including [a full-header of a marked message](../../best-practices/email/how-to-find-the-mail-headers.md). We will investigate the reason and send you a reply with more details. diff --git a/docs/best-practices/email/how-to-use-e-mail-on-hypernode.md b/docs/best-practices/email/how-to-use-e-mail-on-hypernode.md index ea219f20..047afe7e 100644 --- a/docs/best-practices/email/how-to-use-e-mail-on-hypernode.md +++ b/docs/best-practices/email/how-to-use-e-mail-on-hypernode.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: For setting up e-mail on your Hypernode we advice our customers to - use Gsuite (Google) or Office365 (Microsoft) as they are more specialized in - e-mail. + description: For setting up e-mail we advice our customers to use Gsuite or Office365. + Unfortunately, we no longer offer email plans on the Control Panel. + title: 'How to use email on Hypernode? ' +redirect_from: + - /en/hypernode/email/how-to-use-e-mail-on-hypernode/ --- diff --git a/docs/best-practices/performance.md b/docs/best-practices/performance.md index 6d80cf64..77cd6568 100644 --- a/docs/best-practices/performance.md +++ b/docs/best-practices/performance.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that show best practices of performance. + title: Performance | Best Practices | Hypernode +redirect_from: + - /en/best-practices/performance/ +--- + # Performance ```{toctree} diff --git a/docs/best-practices/performance/_res/result100.png b/docs/best-practices/performance/_res/result100.png new file mode 100644 index 00000000..2db78b16 Binary files /dev/null and b/docs/best-practices/performance/_res/result100.png differ diff --git a/docs/best-practices/performance/_res/result50.png b/docs/best-practices/performance/_res/result50.png new file mode 100644 index 00000000..f5588ead Binary files /dev/null and b/docs/best-practices/performance/_res/result50.png differ diff --git a/docs/best-practices/performance/how-to-enable-pagespeed-booster.md b/docs/best-practices/performance/how-to-enable-pagespeed-booster.md index 053ffa97..e6418594 100644 --- a/docs/best-practices/performance/how-to-enable-pagespeed-booster.md +++ b/docs/best-practices/performance/how-to-enable-pagespeed-booster.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: PageSpeed Booster is a reverse proxy which uses many static optimisation - techniques to greatly increase the pagespeed score and performance of your website. + description: Learn how to enable PageSpeed Booster, a reverse proxy that increases + page speed and performance on Hypernode. Requirements included. + title: How to enable the PageSpeed Booster? | Hypernode +redirect_from: + - /en/best-practices/performance/how-to-enable-pagespeed-booster/ --- @@ -22,7 +25,7 @@ To get started with the PageSpeed Booster (formerly known as Percolate), you mus - ***A development environment hosted on Hypernode containing a copy/mirror of the production site.*** - ***Varnish enabled on both the production and development environment.*** - ***Time to thoroughly test the environment with the PageSpeed Booster enabled.*** -- ***The PageSpeed Booster implemented on your development environment according to [these steps](https://support.hypernode.com/en/troubleshooting/performance/how-to-implement-pagespeed-booster#Configuring-PageSpeed-Booster-on-your-Development-Environment) listed in our documentation.*** +- ***The PageSpeed Booster implemented on your development environment according to [these steps](../../troubleshooting/performance/how-to-implement-pagespeed-booster.md#configuring-pagespeed-booster-on-your-development-environment) listed in our documentation.*** ## Step 1: Getting started @@ -88,7 +91,7 @@ Take note that [Cloudflare RocketLoader](https://support.cloudflare.com/hc/en-us ## Step 3: Implementation of the PageSpeed Booster -After following the above steps, it is now time to set up the necessary Hypernode server configuration for the PageSpeed Booster. These steps are written in our article [How to Implement PageSpeed Booster](https://support.hypernode.com/en/troubleshooting/performance/how-to-implement-pagespeed-booster). It is recommended to implement and use PSB first on your Development Hypernode and subdomain setup for PSB testing. +After following the above steps, it is now time to set up the necessary Hypernode server configuration for the PageSpeed Booster. These steps are written in our article [How to Implement PageSpeed Booster](../../troubleshooting/performance/how-to-implement-pagespeed-booster.md). It is recommended to implement and use PSB first on your Development Hypernode and subdomain setup for PSB testing. The steps include: @@ -96,7 +99,7 @@ The steps include: - Configure SSL and DNS - Configuring Varnish - Modifying your Varnish VCL configuration -- Add the user agent **PSB**to the [allowlist for the ratelimiter](https://support.hypernode.com/en/hypernode/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests#Whitelisting-Additional-User-Agents) in\*\*~/nginx/http.ratelimit\*\* file +- Add the user agent **PSB**to the [allowlist for the ratelimiter](../../hypernode-platform/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md#whitelisting-additional-user-agents) in `~/nginx/http.ratelimit` file - Turn off ESI Block Parsing - Add PageSpeed Booster as Flush Target diff --git a/docs/best-practices/performance/how-to-find-your-performance-bottleneck-with-new-relic.md b/docs/best-practices/performance/how-to-find-your-performance-bottleneck-with-new-relic.md index c3018cbb..e2489ec5 100644 --- a/docs/best-practices/performance/how-to-find-your-performance-bottleneck-with-new-relic.md +++ b/docs/best-practices/performance/how-to-find-your-performance-bottleneck-with-new-relic.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: New Relic is a profiling tool that explains what happens "behind - the scenes". Find here how you can use it to determine the performance bottleneck - of your shop. + description: Get a clear overview of pagespeed, transactions, error rates, slow + queries and more. Easily customizable, and set alerts for performance thresholds. + title: How to find performance bottlenecks with New Relic? +redirect_from: + - /en/best-practices/performance/how-to-find-your-performance-bottleneck-with-new-relic/ + - /knowledgebase/new-relic-performance-management/ --- diff --git a/docs/best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers.md b/docs/best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers.md index 1034c07b..7315b412 100644 --- a/docs/best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers.md +++ b/docs/best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers.md @@ -1,8 +1,13 @@ --- myst: html_meta: - description: Excessive bot traffic is the number one reason for bad Magento performance. - Read here how to fix such performance issues on Hypernode. + description: Learn by understanding bot traffic and layering navigation, and following + the four recommended measures to resolve the issue for better performance and + SEO. + title: Fix performance issues caused by bots and crawlers | Hypernode +redirect_from: + - /en/best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers/ + - /knowledgebase/fixing-bad-performance-caused-by-search-engines/ --- @@ -30,7 +35,7 @@ $ pnl --yesterday --php --bots --fields ua | sort | uniq -c | sort -n ``` -In this example, there were almost 4K Bingbot pageviews, 2K Google pageviews and almost 13K MegaIndex pageviews. So you could eliminate a large chunk of load by blocking MegaIndex (a shady crawler whose benefits to you are disputable). [Here](https://support.hypernode.com/knowledgebase/blocking-user-agents-referrers/) are instructions on blocking specific bots on Hypernode. +In this example, there were almost 4K Bingbot pageviews, 2K Google pageviews and almost 13K MegaIndex pageviews. So you could eliminate a large chunk of load by blocking MegaIndex (a shady crawler whose benefits to you are disputable). [Here](../../hypernode-platform/nginx/how-to-block-user-agents-and-referrer-sites.md) are instructions on blocking specific bots on Hypernode. # How to Block Bot Access to Layered Navigation @@ -86,5 +91,5 @@ Make sure all URLs in the layered navigation have “nofollow” in its links. H # Additional Information -- [How to Block Specific Countries From Accessing Your Shop](https://support.hypernode.com/knowledgebase/block-your-site-for-specific-countries/) -- [How to Resolve 429 Too Many Requests](https://support.hypernode.com/knowledgebase/resolving-429-many-requests/) +- [How to Block Specific Countries From Accessing Your Shop](../../hypernode-platform/nginx/how-to-block-your-webshop-for-specific-countries.md) +- [How to Resolve 429 Too Many Requests](../../hypernode-platform/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md) diff --git a/docs/best-practices/performance/how-to-improve-your-magento-search.md b/docs/best-practices/performance/how-to-improve-your-magento-search.md index 9445a4e3..a4f4febd 100644 --- a/docs/best-practices/performance/how-to-improve-your-magento-search.md +++ b/docs/best-practices/performance/how-to-improve-your-magento-search.md @@ -1,9 +1,13 @@ --- myst: html_meta: - description: To optimize the built-in Magento search option, you can tweak this - or us and external search engine. In this article, we explain the different - possibilities. + description: Improve Magento search speed and relevancy with ElasticSearch or + Sphinx Search. Out-of-box integration on Hypernode Pelican, Falcon and Eagle + plans. + title: How to improve your Magento search? | Hypernode +redirect_from: + - /en/best-practices/performance/how-to-improve-your-magento-search/ + - /knowledgebase/how-to-improve-your-magento-search/ --- @@ -21,7 +25,7 @@ Another alternative is Sphinx Search. Sphinx is an open source search engine tha ## ElasticSearch -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](https://support.hypernode.com/en/hypernode/tools/how-to-use-elasticsearch-on-hypernode) we’ll explain a bit more about ElasticSearch and how to enable and configure it. +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. 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. @@ -63,7 +67,7 @@ When adjusting the Sphinx settings, you should make use the following informatio ### Troubleshooting -- When using the Mirasvit extension, Magento periodically restarts the Sphinx engine. If this happens too fast, the reload of Sphinx can be ratelimited causing the daemon to stop or to hang. To resolve this issue, whitelist the `Zend_Http_Client` as explained in [the instructions how to prevent a user agent from being rate limited](https://support.hypernode.com/knowledgebase/resolving-429-many-requests/#Ratelimitting_against_bots_and_crawlers). +- When using the Mirasvit extension, Magento periodically restarts the Sphinx engine. If this happens too fast, the reload of Sphinx can be ratelimited causing the daemon to stop or to hang. To resolve this issue, whitelist the `Zend_Http_Client` as explained in [the instructions how to prevent a user agent from being rate limited](../../hypernode-platform/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md#rate-limiting-for-bots-and-crawlers). - If your shop is using too much memory, the `searchd` daemon can crash due to OOM. To resolve this upgrade to a bigger Hypernode, or improve the memory print of your webshop. - The `searchd`daemon is started from the Magento backend, but in case of a server reboot, memory issues or an otherwise very busy server the process kan be killed, causing an interruption in your search functionality. To circumvent these issues, add a cron that checks if the daemon is running and starts it if it’s not: - For Magento 1: diff --git a/docs/best-practices/performance/how-to-optimize-the-performance-of-your-magento-shop.md b/docs/best-practices/performance/how-to-optimize-the-performance-of-your-magento-shop.md index 2ea0695d..d5136f4e 100644 --- a/docs/best-practices/performance/how-to-optimize-the-performance-of-your-magento-shop.md +++ b/docs/best-practices/performance/how-to-optimize-the-performance-of-your-magento-shop.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: Hypernode offers several optimizations which improve the load times - and stability of your shop. Find detailed instructions on the different optimizations - here. + description: Learn what additional configurations you can make to optimise your + Magento shop post-migration, ordered by priority and estimated time spend. + title: Optimise the performance of your Magento shop | Hypernode +redirect_from: + - /en/best-practices/performance/how-to-optimize-the-performance-of-your-magento-shop/ --- @@ -38,7 +40,7 @@ Over the last years Magento made many performance improvements to their software It is recommended to upgrade your PHP version to PHP 7 as this causes a massive improvement in speed. Before you switch the PHP version, make sure your shop and all extensions are ready to be used with PHP 7 first. -On Hypernode you can easily order [development nodes](https://support.hypernode.com/en/hypernode/tools/how-to-use-hypernode-development-plans) or use the [Hypernode Docker](https://support.hypernode.com/en/best-practices/testing/hypernode-docker) to get your Magento installation running on PHP 7 without risking your production shop. More information can be found in [our article about PHP 7](https://support.hypernode.com/knowledgebase/php-7/). +On Hypernode you can easily order [development nodes](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) or use the [Hypernode Docker](../../best-practices/testing/hypernode-docker.md) to get your Magento installation running on PHP 7 without risking your production shop. ## Avoid IonCube Extensions (\<5 mins) @@ -81,17 +83,17 @@ Bots happen to get stuck in this enormous list of urls, causing an increase in l Another critical performance killer is the catalog search functionality. Many crawlers recognise the results of a search query as a product page that should be indexed. Because the catalog search for Magento is one of the heaviest features in resource costs, it is highly recommended to block these too. -To reduce these effects caused by crawlers and bots,[block all dynamic entry points that should not be accessible by bots](https://support.hypernode.com/knowledgebase/fixing-bad-performance-caused-by-search-engines/). If you block these entry points using a status code 410, you tell the bots to drop the URL from the index and stop indexing it in the future. +To reduce these effects caused by crawlers and bots,[block all dynamic entry points that should not be accessible by bots](../../best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers.md). If you block these entry points using a status code 410, you tell the bots to drop the URL from the index and stop indexing it in the future. ## Use HTTPS so You Can Take Advantage of HTTP2 (\<10 mins) On Hypernode we recommend to serve your shop only over HTTPS. This is safer and is better for search indexation optimization. -Most of the available browsers only support HTTP2 when your pages are served over SSL so to use this faster technology, order an SSL certificate and make sure your site [is only served over HTTPS](https://support.hypernode.com/en/hypernode/nginx/how-to-configure-your-shop-to-only-use-https). +Most of the available browsers only support HTTP2 when your pages are served over SSL so to use this faster technology, order an SSL certificate and make sure your site [is only served over HTTPS](../../hypernode-platform/nginx/how-to-configure-your-shop-to-only-use-https.md). ## 404 Handling (5 mins) -Make sure 404 pages are not redirected to your catalog search and reduce load times of pages by moving [404 handling from Magento to Nginx](https://support.hypernode.com/knowledgebase/magento-and-smarter-404-handling/). +Make sure 404 pages are not redirected to your catalog search and reduce load times of pages by moving [404 handling from Magento to Nginx](../../best-practices/performance/how-to-set-up-smart-404-handling.md). ## Large `core_url_rewrite` Table (10 mins) @@ -109,13 +111,13 @@ Try to use price rules as little as possible and check your MySQL slow log for s Lesti FPC is a full page cache module that can massively improve the load times of your product pages. -We recommend the use of Lesti FPC on Hypernode, as it reduces server load and makes the shop much faster to load. [How to install can be found in our documentation.](https://support.hypernode.com/knowledgebase/configure-lestifpc/) +We recommend the use of Lesti FPC on Hypernode, as it reduces server load and makes the shop much faster to load. [How to install can be found in our documentation.](../../hypernode-platform/tools/how-to-configure-lesti-fpc.md) ## Warm Caches and Test URL’s Using the Sitemap (\<10 mins) When using a full page cache module like Lesti FPC or Varnish, the site gets a lot faster after the first visit when the page has been cached. We recommend to warm the caches periodically. This can be nightly through cron, or manually after adding many new products. -This can be done [using the n98-plugin available on all Hypernodes](https://support.hypernode.com/knowledgebase/warm-full-page-cache-lestifpc-varnish/). To make use of this script, [a sitemap.xml file should be present](https://support.hypernode.com/en/ecommerce/magento-2/how-to-create-a-sitemap-xml-for-magento-2-x)([Magento 2](https://support.hypernode.com/en/ecommerce/magento-2/how-to-create-a-sitemap-xml-for-magento-2-x)). +This can be done [using the n98-plugin available on all Hypernodes](../../ecommerce-applications/magento-2/how-to-configure-varnish-for-magento-2-x.md#warming-your-cache). To make use of this script, [a sitemap.xml file should be present](../../ecommerce-applications/magento-2/how-to-create-a-sitemap-xml-for-magento-2-x.md). ## Sessions in Redis (\<15 mins) @@ -123,11 +125,11 @@ On bigger Hypernodes with more memory available, you can reduce disk IO by stori This only works on bigger nodes, as there needs to be some memory available for rendering pages using PHP too. -To store sessions in Redis, take a look at [the instructions on how to configure this](https://support.hypernode.com/knowledgebase/configure-sessions-redis-magento1/) ([Magento 2](https://support.hypernode.com/knowledgebase/configure-sessions-redis-magento2/)) +To store sessions in Redis, take a look at [the instructions on how to configure this](../../ecommerce-applications/magento-1/how-to-configure-redis-for-magento-1.md) ([Magento 2](../../ecommerce-applications/magento-2/how-to-configure-redis-for-magento-2.md)) ## Image Optimizations (10 mins) -Big images take more time to download and view than smaller images. We created a resize tool to reduce the size of your images to improve load times. To do this, use the Hypernode-image-optimizer which is installed on all nodes. It’s recommended to run this command nightly through cron. More information can be found in [this article about optimizing your image size](https://support.hypernode.com/knowledgebase/magento-image-optimization-howto/). +Big images take more time to download and view than smaller images. We created a resize tool to reduce the size of your images to improve load times. To do this, use the Hypernode-image-optimizer which is installed on all nodes. It’s recommended to run this command nightly through cron. More information can be found in [this article about optimizing your image size](../../best-practices/performance/how-to-optimize-your-images.md). ## Static Content Optimization (15 mins) @@ -145,7 +147,7 @@ To do this, you can create a whitelist of IP’s that should only be allowed to This whitelist can then be included in Nginx configuration on locations that are restricted. -More information can be found [in our article about creating reusable config](https://support.hypernode.com/en/hypernode/nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets). +More information can be found [in our article about creating reusable config](../../hypernode-platform/nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets.md). In this example your Magmi is accessible through `https://www.example.nl/magmi`. @@ -178,7 +180,7 @@ It is highly recommended to protect your Magento admin backend and custom entry Most of the default and well-known entry points that can be abused for password guessing are already protected. -If you use custom entry points that can be abused, create [additional configuration using a whitelist](https://support.hypernode.com/knowledgebase/create-reusable-config-for-custom-snippets/) and include it in all location blocks that should be protected. +If you use custom entry points that can be abused, create [additional configuration using a whitelist](../../hypernode-platform/nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets.md) and include it in all location blocks that should be protected. For additional help to check if your shop is brute force protected, use [MageReport](https://magereport.com/). @@ -192,7 +194,7 @@ To make sure a small set of IP addresses can’t take your shop down we use rate On smaller nodes (mostly on Hypernode Start and Grow plans) this can cause errors when working in the Magento admin. To resolve these errors, you can whitelist IP’s to make sure they will not be rate limited when working in the Magento admin backend. If you use nightly product imports through the Magento SOAP API, sometimes you need to whitelist the remote ip of the import tool as well. -[To whitelist these IP’s have a look at our article about rate limiting](https://support.hypernode.com/en/hypernode/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests). +[To whitelist these IP’s have a look at our article about rate limiting](../../hypernode-platform/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md). ## Configure Your API (\<10 mins) @@ -200,4 +202,4 @@ With most of the Magento installations, the API functionality works out-of-the-b In some cases however, specific to the use of clean URL’s, a 404 is returned when visiting the Magento API. -To fix this, use [this article about working with the Magento api on Hypernode](https://support.hypernode.com/knowledgebase/enable-magento-api/). +To fix this, use [this article about working with the Magento api on Hypernode](../../ecommerce-applications/magento-2/how-to-enable-the-magento-2-api.md). diff --git a/docs/best-practices/performance/how-to-optimize-your-images.md b/docs/best-practices/performance/how-to-optimize-your-images.md index 96dcd049..e431f0df 100644 --- a/docs/best-practices/performance/how-to-optimize-your-images.md +++ b/docs/best-practices/performance/how-to-optimize-your-images.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'Follow this article to set up automatic image optimization for a - faster shop on Hypernode in only a couple of minutes. ' + description: Optimize your shop's speed with automatic image optimization using + Hypernode. Learn how to quickly reduce image size-on-disk without losing quality. + title: How to optimise your images? | Hypernode +redirect_from: + - /en/best-practices/performance/how-to-optimize-your-images/ + - /knowledgebase/magento-image-optimization-howto/ --- @@ -21,8 +25,8 @@ Thanks to Peter Jaap for doing the [initial research](https://www.byte.nl/blog/a First, log in on your Hypernode by SSH and type this command: -```nginx -$ hypernode-image-optimizer ~/public/media +```console +app@83f01a-example-magweb-cmbl:~$ hypernode-image-optimizer ~/public/media [46%] /data/web/public/media/custom_options/quote/h/o/46f68f14df54b639546a583a942cd7c2.png (255 KB smaller) [50%] /data/web/public/media/custom_options/quote/h/o/8a45641021fb82d172b9712f6631c49a.png (405 KB smaller) [30%] /data/web/public/media/custom_options/quote/p/l/a74e500c8e08c48e54ea65d8422bc68e.png (114 KB smaller) @@ -30,7 +34,6 @@ $ hypernode-image-optimizer ~/public/media [ 0%] /data/web/public/media/custom_options/quote/T/a/6bfddcd09ff981b24fc96e442700f2df.png (0 KB smaller) [... long list of files ...] Optimization profit over all files: 226 MB (30%) - ``` Great! It has not changed anything yet, but has calculated that you can save 226MB (or 30%) of disk-usage by optimizing your images. @@ -39,8 +42,8 @@ Great! It has not changed anything yet, but has calculated that you can save 226 Make sure you have a backup of your media files. Then use this command to replace the old images with the optimized images: -```nginx -$ hypernode-image-optimizer --quality 80 --write --newonly ~/path/to/media +```console +app@83f01a-example-magweb-cmbl:~$ hypernode-image-optimizer --quality 80 --write --newonly ~/path/to/media ``` Visit your site, do a CTRL-F5 (Mac: CMD-R) to refresh your cache and visually inspect the results. You will most likely not see a difference, apart from a much quicker page ;) @@ -49,7 +52,7 @@ Visit your site, do a CTRL-F5 (Mac: CMD-R) to refresh your cache and visually in To use the `hypernode-image-optimizer` and exclude one or more directories, specify `--exclude` with one or more paths. For example: -```nginx +```console app@83f01a-example-magweb-cmbl:~$ hypernode-image-optimizer /data/web/public | wc -l 431 app@83f01a-vdloo-magweb-cmbl:~$ hypernode-image-optimizer /data/web/public --exclude /data/web/public/static/frontend /data/web/public/static/adminhtml/Magento | wc -l @@ -57,7 +60,6 @@ app@83f01a-vdloo-magweb-cmbl:~$ hypernode-image-optimizer /data/web/public --exc # In this example images from the following directories were ignored: # /data/web/public/static/frontend # /data/web/public/static/adminhtml/Magento - ``` ## Recommended: Periodic Optimization Using Cron @@ -66,16 +68,14 @@ To keep the disk usage reduced and your shop fast, we recommend you to add a cro NB: [Magereport.com](http://magereport.com) checks for a cronjob that optimizes your images periodically. If you optimized your images only once, the check will come out red. -```nginx -$ crontab -e - +```console +app@83f01a-example-magweb-cmbl:~$ crontab -e ``` And add this line: -```nginx +```bash 30 4 * * * chronic hypernode-image-optimizer --experimental --quality 80 --write --newonly ~/public/media - ``` Presto, every night at 4:30 all new images (uploaded the previous day) will be optimized. @@ -92,12 +92,12 @@ Second, it will shrink big images: 2000+ pixels in width or height. If you want Since 21 June 2016, an `--experimental` mode is available. This yields better compression results (notably for PNG) but is slower. Example runs on our test images: -```nginx -$ hypernode-image-optimizer ~/public/media +```console +app@83f01a-example-magweb-cmbl:~$ hypernode-image-optimizer ~/public/media [...] Safe optimization profit over 1002 files: 11 MB (37%) -$ hypernode-image-optimizer ~/public/media --experimental +app@83f01a-example-magweb-cmbl:~$ hypernode-image-optimizer ~/public/media --experimental [...] Safe optimization profit over 1002 files: 17 MB (56%) @@ -109,6 +109,6 @@ As with the regular optimizer, ensure you have a backup before using the experim ## Examples of Different Quality Levels -[![result100](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/48022287798/original/U4S0eOMYihH2sp0wE2feM67OowgJmjj0Gw.png?1578669560)](https://support.hypernode.com/assets/uploads/result100.png) +![result100](_res/result100.png) -[![result50](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/48022287797/original/vPKSVy2Sc-MTWlhoN0MZyRfAeJpgqFAbAg.png?1578669560)](https://support.hypernode.com/assets/uploads/result50.png) +![result50](_res/result50.png) diff --git a/docs/ecommerce-applications/magento-2/how-to-set-up-smart-404-handling.md b/docs/best-practices/performance/how-to-set-up-smart-404-handling.md similarity index 91% rename from docs/ecommerce-applications/magento-2/how-to-set-up-smart-404-handling.md rename to docs/best-practices/performance/how-to-set-up-smart-404-handling.md index 9c1ba39a..b5f5c323 100644 --- a/docs/ecommerce-applications/magento-2/how-to-set-up-smart-404-handling.md +++ b/docs/best-practices/performance/how-to-set-up-smart-404-handling.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: In this article, you can read about setting up smart 404 handlings - on Hypernode. + description: Servers are configured so requests for non-existing files are routed + through the Magento index. We explain how to reduce load by discarding expensive + 404s. + title: How to set up smart 404 handling for Magento 2? | Hypernode +redirect_from: + - /en/best-practices/performance/how-to-set-up-smart-404-handling/ --- diff --git a/docs/best-practices/performance/how-to-use-blackfire-on-hypernode-to-find-performance-issues.md b/docs/best-practices/performance/how-to-use-blackfire-on-hypernode-to-find-performance-issues.md index 88f0f853..17805e5d 100644 --- a/docs/best-practices/performance/how-to-use-blackfire-on-hypernode-to-find-performance-issues.md +++ b/docs/best-practices/performance/how-to-use-blackfire-on-hypernode-to-find-performance-issues.md @@ -2,7 +2,11 @@ myst: html_meta: description: All Hypernodes support Blackfire, an amazing tool to find performance - bottlenecks in Magento. Read here how to use it on Hypernode. + bottlenecks in Magento. It is similar to New Relic, but suited for troubleshooting. + title: Use Blackfire on Hypernode to find performance issues +redirect_from: + - /en/best-practices/performance/how-to-use-blackfire-on-hypernode-to-find-performance-issues/ + - /knowledgebase/profiling-magento-blackfire/ --- diff --git a/docs/best-practices/pwa.md b/docs/best-practices/pwa.md index 024532fd..1c3b48a7 100644 --- a/docs/best-practices/pwa.md +++ b/docs/best-practices/pwa.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that show best practices of pwa. + title: PWA | Best Practices | Hypernode +redirect_from: + - /en/best-practices/pwa/ +--- + # PWA ```{toctree} diff --git a/docs/best-practices/pwa/hypernode-and-pwa-hosting.md b/docs/best-practices/pwa/hypernode-and-pwa-hosting.md index b8f42810..572dfbca 100644 --- a/docs/best-practices/pwa/hypernode-and-pwa-hosting.md +++ b/docs/best-practices/pwa/hypernode-and-pwa-hosting.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: Progressive Web Apps (PWA) are a hot item and are considered the - future of web development. Read about its advantages, challenges and hosting - requirements here. + description: Discover the future of web development with Progressive Web Apps + (PWAs) & how Hypernode supports Magento PWAs for enhanced mobile web experience. + title: Hypernode and PWA Hosting +redirect_from: + - /en/best-practices/pwa/hypernode-and-pwa-hosting/ --- @@ -41,6 +43,6 @@ A PWA is made up of service workers, which can run in the background. To avoid t ## Hypernode and PWA -Hypernode is PWA ready. Although Hypernode is managed hosting, our customers have the freedom to change the NGINX configuration in order to make Hypernode fully compatible with Magento Progressive Web Apps. [Let's Encrypt](https://support.hypernode.com/knowledgebase/use-lets-encrypt-hypernode/) can be used to set up a secure connection. +Hypernode is PWA ready. Although Hypernode is managed hosting, our customers have the freedom to change the NGINX configuration in order to make Hypernode fully compatible with Magento Progressive Web Apps. [Let's Encrypt](../../hypernode-platform/ssl/how-to-use-lets-encrypt-on-hypernode.md) can be used to set up a secure connection. We have noticed a few curious customers are already testing Magento Progressive Web Applications. Would you like to try it as well? Please share your successes and do not hesitate to involve us when you run into challenges! diff --git a/docs/best-practices/security.md b/docs/best-practices/security.md index 088f6f98..572525d7 100644 --- a/docs/best-practices/security.md +++ b/docs/best-practices/security.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that show best practices of security. + title: Security | Best Practices | Hypernode +redirect_from: + - /en/best-practices/security/ +--- + # Security ```{toctree} diff --git a/docs/best-practices/security/how-does-hypernode-handle-ddos-attacks.md b/docs/best-practices/security/how-does-hypernode-handle-ddos-attacks.md index 2eb013c6..5eda40ed 100644 --- a/docs/best-practices/security/how-does-hypernode-handle-ddos-attacks.md +++ b/docs/best-practices/security/how-does-hypernode-handle-ddos-attacks.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: DDoS stands for Distributed Denial of Service. In this article we - explain what a DDoS attack is and what Hypernode does when this occurs. + description: Learn about Hypernode's approach in handling DDoS attacks and the + steps they take to protect your website from Distributed Denial of Service. + title: How Hypernode handles DDoS sttacks | Security +redirect_from: + - /en/best-practices/security/how-does-hypernode-handle-ddos-attacks-/ --- diff --git a/docs/best-practices/security/how-hypernode-protects-your-magento-shop.md b/docs/best-practices/security/how-hypernode-protects-your-magento-shop.md index ba786776..6a7cd0a7 100644 --- a/docs/best-practices/security/how-hypernode-protects-your-magento-shop.md +++ b/docs/best-practices/security/how-hypernode-protects-your-magento-shop.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: Get premium protection for your Magento shop with Hypernode. Learn + how they implement changes to block security threats in under 4 hours. + title: How Hypernode protects your Magento Shop | Security +redirect_from: + - /en/support/solutions/articles/48001158433-how-hypernode-protects-your-magento-shop/ +--- + # How Hypernode protects your Magento shop @@ -11,7 +21,7 @@ But, this is not only applicable for acute security issues. As Magento nerds we The following security issues named in Magereport will not pose a threat to Hypernode customers. - Security patch 5344 (Shoplift) - In February 2015, we implemented a platform fix within a matter of only 4 hours. Despite this fix, we still advise our customers to patch their shop(s). -- Unprotected Magmi? - Standardly the access to Magmi is blocked. If you would like it to be unblocked, check [our Hypernode documentation](https://support.hypernode.com/en/hypernode/tools/unblocking-and-accessing-magmi-for-hypernode). +- Unprotected Magmi? - Standardly the access to Magmi is blocked. If you would like it to be unblocked, check [our Hypernode documentation](../../hypernode-platform/tools/unblocking-and-accessing-magmi-for-hypernode.md). - Unmaintained server? - Hypernode always runs on safe software versions. - Unprotected version control? - For all shops on our platform, it is not possible to visit the git directory from the outside. - Security patch 5994 (admin disclosure) - We regularly check whether a login is attempted and cover it. diff --git a/docs/best-practices/security/how-to-apply-magento-patches.md b/docs/best-practices/security/how-to-apply-magento-patches.md index c90acf7f..4c55cee5 100644 --- a/docs/best-practices/security/how-to-apply-magento-patches.md +++ b/docs/best-practices/security/how-to-apply-magento-patches.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: Every now and then Magento issues a new patch to increase the security - of their software. In this article we explain how you can install them on your - webshop. + description: Learn how to apply Magento patches for optimal protection. Check + your shop with MageReport and ensure your webshop is not vulnerable to malicious + parties. + title: How to apply Magento patches? | Security | Hypernode +redirect_from: + - /en/best-practices/security/how-to-deploy-magento-patches/ --- @@ -34,7 +37,7 @@ There’s a chance that certain plugins or elements in your webshop aren’t com ### Step 2: Log on to SSH (Shell) -Log on to the shell server. If you don’t how to log on, contact your hosting provider or technical contact. Hypernode customers can follow the steps in the article [How to Log in to the Hypernode With SSH](https://support.hypernode.com/en/hypernode/ssh/how-to-log-in-to-the-hypernode-with-ssh). +Log on to the shell server. If you don’t how to log on, contact your hosting provider or technical contact. Hypernode customers can follow the steps in the article [How to Log in to the Hypernode With SSH](../../hypernode-platform/ssh/how-to-log-in-to-the-hypernode-with-ssh.md). ### Step 3: Download and Upload the Patch diff --git a/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md b/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md index 589987f7..b91a0eb7 100644 --- a/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md +++ b/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: The hack Creditcard Hijack is malicious code in Magento that allows - hackers to intercept financial data. This article explains more and tells you - how to fix it. + description: "Learn how to fix the malicious Credit Card Hijack in Magento and\ + \ protect your customers' financial data. " + title: How to fix malicious Javascript Credit Card Hijacks? | Hypernode +redirect_from: + - /en/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack/ --- @@ -168,7 +170,7 @@ The script below was found during the research done by Hypernode. It covers the Since Credit Card Hijack is an ongoing credit card fraud dating from May 2015, it’s difficult to pinpoint how exactly the hackers got in. We assume it’s due to a combination of various know Magento leaks. It’s likely hackers used these security vulnerablities to set up this credit card fraud. -We recommend you ‘clean’ your shop following the steps written in the article [Recover a Hacked Magento Shop](https://support.hypernode.com/knowledgebase/recover-a-hacked-magento-shop/) after installing all Magento patches, deleting inactive Magento admins and removing malicious code. +We recommend you ‘clean’ your shop following the steps written in the article [Recover a Hacked Magento Shop](../../best-practices/security/how-to-recover-a-hacked-magento-shop.md) after installing all Magento patches, deleting inactive Magento admins and removing malicious code. ## Need Help? diff --git a/docs/best-practices/security/how-to-install-magento-patch-mdva-49935-for-critical-vulnerabilty-apsb22-12-cve-2022-24086-and-cve-2022-24087.md b/docs/best-practices/security/how-to-install-magento-patch-mdva-49935-for-critical-vulnerabilty-apsb22-12-cve-2022-24086-and-cve-2022-24087.md index bf1bfdd0..3c92699a 100644 --- a/docs/best-practices/security/how-to-install-magento-patch-mdva-49935-for-critical-vulnerabilty-apsb22-12-cve-2022-24086-and-cve-2022-24087.md +++ b/docs/best-practices/security/how-to-install-magento-patch-mdva-49935-for-critical-vulnerabilty-apsb22-12-cve-2022-24086-and-cve-2022-24087.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: Follow this article to know what needs to be done for the critical + Magento vulnerabilities on February 13th & 18th, 2022. + title: How to install Magento patch MDVA-49935? | Hypernode +redirect_from: + - /en/best-practices/security/how-to-install-magento-patch-mdva-49935-for-critical-vulnerabilty-apsb22-12-cve-2022-24086/ +--- + # How to install Magento patch MDVA-49935 for critical vulnerabilty APSB22-12 (CVE-2022-24086 and CVE-2022-24087) diff --git a/docs/best-practices/security/how-to-install-magento-patch-supee-8788-and-release-1-9-3.md b/docs/best-practices/security/how-to-install-magento-patch-supee-8788-and-release-1-9-3.md index 35f3e758..6de8bd62 100644 --- a/docs/best-practices/security/how-to-install-magento-patch-supee-8788-and-release-1-9-3.md +++ b/docs/best-practices/security/how-to-install-magento-patch-supee-8788-and-release-1-9-3.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: 'The patch SUPEE 8788 and release 1.9.3 fix about 17 issues, of which - some are highly critical. In this article you find guidelines to install the - patch. ' + description: Install Magento patch SUPEE 8788 to fix critical vulnerabilities + that allow remote code execution, preventing hackers from taking control of + your store. + title: How to install Magento patch SUPEE 8788 and release 1.9.3? +redirect_from: + - /en/best-practices/security/how-to-install-magento-patch-supee-8788-and-release-1-9-3/ --- diff --git a/docs/best-practices/security/how-to-protect-magento-against-brute-force-attacks.md b/docs/best-practices/security/how-to-protect-magento-against-brute-force-attacks.md index 8f861e5c..661cff68 100644 --- a/docs/best-practices/security/how-to-protect-magento-against-brute-force-attacks.md +++ b/docs/best-practices/security/how-to-protect-magento-against-brute-force-attacks.md @@ -1,3 +1,14 @@ +--- +myst: + html_meta: + description: Some Magento sections are interesting targets for hackers. This article + explains how to protect your shop from malicious attacks. + title: How to protect your Magento shop against brute force attacks? +redirect_from: + - /en/best-practices/security/how-to-protect-magento-against-brute-force-attacks/ + - /knowledgebase/how-to-protect-your-magento-store-against-brute-force/ +--- + # How to Protect Magento Against Brute Force Attacks diff --git a/docs/best-practices/security/how-to-recover-a-hacked-magento-shop.md b/docs/best-practices/security/how-to-recover-a-hacked-magento-shop.md index 372674e3..733fbca5 100644 --- a/docs/best-practices/security/how-to-recover-a-hacked-magento-shop.md +++ b/docs/best-practices/security/how-to-recover-a-hacked-magento-shop.md @@ -1,9 +1,13 @@ --- myst: html_meta: - description: Unfortunately webshops get hacked, often due to outdated Magento - versions, or plugins. This article explains how to recover a hacked shop on - Hypernode. + description: Our tool Magereport will tell you if there are any known security + issues with your shop. This article explains how to recover a hacked Magento + shop. + title: How to recover a hacked Magento shop? | Security | Hypernode +redirect_from: + - /en/best-practices/security/how-to-recover-a-hacked-magento-shop/ + - /knowledgebase/recover-a-hacked-magento-shop/ --- @@ -18,7 +22,7 @@ In many cases, Magereport.com would tell you if your shop has been hacked! Mager You may also get alerted some other way, perhaps via a central agency such as the NCSC, or your local equivalent. -On Hypernode we also provide a [Malware scanner](https://support.hypernode.com/en/best-practices/security/how-to-scan-your-hypernode-for-malware), based on [Yara](http://yara.readthedocs.io/) with an [extra set of signatures to detect magento directed malware](https://github.com/gwillem/magento-malware-scanner). Every night an audit on new or changed files will be performed and when the scanner hits a possible infected file, it will notify Hypernode's abuse department. We will check if it is a false-positive and if not; we'll send you a warning message by email. +On Hypernode we also provide a [Malware scanner](../../best-practices/security/how-to-scan-your-hypernode-for-malware.md), based on [Yara](http://yara.readthedocs.io/) with an [extra set of signatures to detect magento directed malware](https://github.com/gwillem/magento-malware-scanner). Every night an audit on new or changed files will be performed and when the scanner hits a possible infected file, it will notify Hypernode's abuse department. We will check if it is a false-positive and if not; we'll send you a warning message by email. ## What to do When your Shop is Hacked @@ -48,7 +52,7 @@ In most cases this will be: - Install all the relevant patches, for both Magento and any plugins. - Upgrade your Magento to the latest version. - Configure brute force protection. -- Run a scan using the [Magento corediff scanner](https://support.hypernode.com/en/hypernode/tools/how-to-use-magento-corediff-on-hypernode). If any clearly suspicious files are found, move them to a non reachable directory (like `/data/web/hacked/`) for later analysis, remove them from your website, and restore a trusted copy of the affected files. +- Run a scan using the [Magento corediff scanner](../../hypernode-platform/tools/how-to-use-magento-corediff-on-hypernode.md). If any clearly suspicious files are found, move them to a non reachable directory (like `/data/web/hacked/`) for later analysis, remove them from your website, and restore a trusted copy of the affected files. ### Throw the Hacker Out @@ -57,7 +61,7 @@ An intruder most likely has left one or more backdoors. These could be separate To avoid recurring hacking incidents, your code and database should be thoroughly clean. The only trustworthy way to accomplish this, is to remove everything and recover from a (known clean) backup or git checkout. Establish which files were changed and go back to the latest clean version. For example, do a `git diff origin/. Do not trust any git checkout on the server, as that could have been compromised as well. If you do not have a backup or version control, success is not guaranteed. But you could try to find -suspicious and/or recently modified files. And you could compare with a new Magento installation to see if core files have been modified. You may also use [a historical back-up](https://support.hypernode.com/en/hypernode/backups/how-to-restore-your-hypernode-from-a-backup) to restore (parts) of your Hypernode to a trusted copy. +suspicious and/or recently modified files. And you could compare with a new Magento installation to see if core files have been modified. You may also use [a historical back-up](../../hypernode-platform/backups/how-to-restore-your-hypernode-from-a-snapshot.md) to restore (parts) of your Hypernode to a trusted copy. ## Need help? diff --git a/docs/best-practices/security/how-to-scan-your-hypernode-for-malware.md b/docs/best-practices/security/how-to-scan-your-hypernode-for-malware.md index 679ce6a9..cc875feb 100644 --- a/docs/best-practices/security/how-to-scan-your-hypernode-for-malware.md +++ b/docs/best-practices/security/how-to-scan-your-hypernode-for-malware.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: Shop owners wanting to comply to an ISO certification, are required - to check their content. Here we explain how to scan your Hypernode for virusses - and malware. + description: Scanning your web content can be done using Yara. This open source + malware signature checker and file scanner is present on all Hypernodes. + title: How to scan your Hypernode for malware? | Security +redirect_from: + - /en/best-practices/security/how-to-scan-your-hypernode-for-malware/ --- diff --git a/docs/best-practices/security/how-to-secure-magento-cacheleak.md b/docs/best-practices/security/how-to-secure-magento-cacheleak.md index 657c50bf..ebb59213 100644 --- a/docs/best-practices/security/how-to-secure-magento-cacheleak.md +++ b/docs/best-practices/security/how-to-secure-magento-cacheleak.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: Misconfigured web servers can leak Magento cache files containing - database passwords. To prevent this from happening, read here how to secure - Magento cacheleak. + description: A misconfigured webserver can leak Magento cache files containing + database passwords. This article explains how to prevent this form happening. + title: How to secure a Magento cacheleak? | Security | Hypernode +redirect_from: + - /en/best-practices/security/how-to-secure-magento-cacheleak/ --- diff --git a/docs/best-practices/security/how-to-secure-your-data-using-encryption-and-hashing.md b/docs/best-practices/security/how-to-secure-your-data-using-encryption-and-hashing.md index 67b0828a..c471e50d 100644 --- a/docs/best-practices/security/how-to-secure-your-data-using-encryption-and-hashing.md +++ b/docs/best-practices/security/how-to-secure-your-data-using-encryption-and-hashing.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: Hashing and encryption are cryptographic functions. In this article - we explain both ways of securing information and give examples for how you can - use it. + description: In this article we explain both ways of securing information and + give examples for how you can use it on Hypernode. + title: 'How to secure your data using encryption and hashing? ' +redirect_from: + - /en/support/solutions/articles/48001153348-how-to-secure-your-data-using-encryption-and-hashing/ --- diff --git a/docs/best-practices/security/how-to-use-a-cloud-firewall-on-hypernode.md b/docs/best-practices/security/how-to-use-a-cloud-firewall-on-hypernode.md index ac251648..6e92afbc 100644 --- a/docs/best-practices/security/how-to-use-a-cloud-firewall-on-hypernode.md +++ b/docs/best-practices/security/how-to-use-a-cloud-firewall-on-hypernode.md @@ -1,3 +1,14 @@ +--- +myst: + html_meta: + description: Our built-in Web Application Firewall is designed specifically to + protect your application against known vulnerabilities and endpoints that often + see abuse. + title: How to use a Cloud firewall on Hypernode? | Security +redirect_from: + - /en/best-practices/security/how-to-use-a-cloud-firewall-on-hypernode/ +--- + # How To Use a Cloud Firewall on Hypernode diff --git a/docs/best-practices/security/hypernodes-not-vulnerable-for-cve-2021-4034.md b/docs/best-practices/security/hypernodes-not-vulnerable-for-cve-2021-4034.md index 6a9bd6d5..0b76e3d9 100644 --- a/docs/best-practices/security/hypernodes-not-vulnerable-for-cve-2021-4034.md +++ b/docs/best-practices/security/hypernodes-not-vulnerable-for-cve-2021-4034.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: On January 25th a new Linux exploit was reported. Please note that + Hypernodes are not vulnerable. + title: Hypernode isn't vulnerable for CVE-2021-4034 | Security +redirect_from: + - /en/support/solutions/articles/48001207826-hypernodes-not-vulnerable-for-cve-2021-4034/ +--- + # Hypernodes Not Vulnerable for CVE-2021-4034 diff --git a/docs/best-practices/security/what-you-need-to-know-about-the-visbot-malware.md b/docs/best-practices/security/what-you-need-to-know-about-the-visbot-malware.md index ae306d46..40102899 100644 --- a/docs/best-practices/security/what-you-need-to-know-about-the-visbot-malware.md +++ b/docs/best-practices/security/what-you-need-to-know-about-the-visbot-malware.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'Visbot is a particular type of malware that is found on hacked Magento - stores. Learn all about the visbot in this article. ' + description: Visbot is a symptom of a hacked store. Our hosting platform Hypernode + protects against further Visbot abuse. + title: All you need to know about the Visbot Malware | Hypernode +redirect_from: + - /en/best-practices/security/what-you-need-to-know-about-the-visbot-malware/ --- @@ -52,6 +55,6 @@ Visbot stores its intercepted POST data in random locations. In the wild, we hav ## Recovery -See our instructions on [how to recover a hacked Magento store](https://support.hypernode.com/knowledgebase/recover-a-hacked-magento-shop/). +See our instructions on [how to recover a hacked Magento store](../../best-practices/security/how-to-recover-a-hacked-magento-shop.md). Are you a Hypernode customer? Our intrusion prevention rules filter almost all known attacks. But if you happen to migrate a previously hacked store to our platform, our support team will contact you to get it resolved quickly. diff --git a/docs/best-practices/testing.md b/docs/best-practices/testing.md index 06600c55..7901e8c7 100644 --- a/docs/best-practices/testing.md +++ b/docs/best-practices/testing.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that show best practices of testing. + title: Testing | Best Practices | Hypernode +redirect_from: + - /en/best-practices/testing/ +--- + # Testing ```{toctree} diff --git a/docs/best-practices/testing/how-to-check-if-everything-works.md b/docs/best-practices/testing/how-to-check-if-everything-works.md index 8e4b9e34..5b1233ae 100644 --- a/docs/best-practices/testing/how-to-check-if-everything-works.md +++ b/docs/best-practices/testing/how-to-check-if-everything-works.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Find out here how to check if everything in your shop is working - as it should, before changing the DNS settings of your original domain to Hypernode. + description: Before changing the DNS settings of your original domain to Hypernode, + it’s important to first check if everything in your shop is working as it should. + title: How to check if everything works on your Hypernode? | Testing +redirect_from: + - /en/best-practices/testing/how-to-check-if-everything-works/ --- @@ -19,20 +22,20 @@ A bigger checklist is available [on the Github account](https://gist.github.com/ - Test all storefronts *(use the storefront view in MageReport Premium (only for Magento 1.x versions)).* - Test front pages, categories and product pages. -- Test the catalog search functionality and additional indexers like [Elasticsearch](https://support.hypernode.com/knowledgebase/how-to-improve-your-magento-search/#ElasticSearch) or [Sphinx](https://support.hypernode.com/knowledgebase/how-to-improve-your-magento-search/#Sphinx) +- Test the catalog search functionality and additional indexers like [Elasticsearch](../../best-practices/performance/how-to-improve-your-magento-search.md#elasticsearch) or [Sphinx](../../best-practices/performance/how-to-improve-your-magento-search.md#sphinx) - Verify whether the search pages are fully functional and if you don’t get 404 errors when visiting the products in the results. -- Test [restricted areas](https://support.hypernode.com/knowledgebase/deny-access-locations-directories/) and [password protected directories](https://support.hypernode.com/knowledgebase/protect-a-directory-with-a-password-in-nginx/) (downloads, etc). +- Test [restricted areas](../../hypernode-platform/nginx/how-to-deny-access-to-locations-and-directories.md) and [password protected directories](../../hypernode-platform/nginx/how-to-protect-your-magento-store-with-a-password-in-nginx.md) (downloads, etc). - Test if you can add new products through the Magento admin. - Test the admin functionality by flushing your cache, reindex your indexers and navigate through the Magento admin. -- Test if your webshop [can send mail](https://support.hypernode.com/knowledgebase/hypernode-email-policy/) that [can be received](https://support.hypernode.com/en/ecommerce/magento-2/how-to-set-the-return-path-for-a-magento-2-shop) without [ending up in the spamfolder](https://support.hypernode.com/en/best-practices/email/how-to-prevent-spam-being-sent-from-your-name-or-email-address). -- [Test if your cronjobs work](https://support.hypernode.com/knowledgebase/configure-cronjobs-on-hypernode/). +- Test if your webshop [can send mail](../../hypernode-platform/email/policy-for-sending-email-on-hypernode.md) that [can be received](../../ecommerce-applications/magento-2/how-to-set-the-return-path-for-a-magento-2-shop.md) without [ending up in the spamfolder](../../best-practices/email/how-to-prevent-spam-being-sent-from-your-name-or-email-address.md). +- [Test if your cronjobs work](../../hypernode-platform/tools/how-to-use-periodic-tasks-cronjobs-on-hypernode.md). - Test if all caching mechanisms using Memcached are replaced with Redis: ```nginx grep -Ri memcache /data/web/public/app/etc ``` -- Test if your timezone is set correctly. Instructions how to do this can be found in the article [Magento and UTC on Hypernode](https://support.hypernode.com/knowledgebase/magento-utc-hypernode/). +- Test if your timezone is set correctly. Instructions how to do this can be found in the article [Magento and UTC on Hypernode](../../ecommerce-applications/magento-2/how-to-set-magento-2-x-to-the-utc-timezone.md). - Test if additional software (such as WordPress) works as well. - Verify that connections with external systems (CRM, inventory, analytics, etc) still work and keep working when the IP address of the node changes. In some cases you need to notify your external supplier of the new IP. Find your IP with the `ping example.hypernode.io` command. @@ -47,10 +50,10 @@ grep -Ri memcache /data/web/public/app/etc Cancel your payment order to see if the callback requests and redirect from the payment provider to your shop is functional. - Test for images, css, js and mixed content warnings. - Test if all static content is loaded: View the console in your browser to check if there are javascript errors or 404 errors on stylesheets and js files. -- Test if [the Magento API is accessible when used](https://support.hypernode.com/knowledgebase/enable-magento-api/). -- Test if the sitemap is accessible for [Magento 1](https://support.hypernode.com/en/ecommerce/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x)or [Magento 2](https://support.hypernode.com/en/ecommerce/magento-2/how-to-create-a-sitemap-xml-for-magento-2-x). -- Test if [you can easily download the robots.txt file](https://support.hypernode.com/knowledgebase/create-robots-txt-magento1/) (Or for [Magento 2](https://support.hypernode.com/knowledgebase/create-robots-txt-magento-2/)). +- Test if [the Magento API is accessible when used](../../ecommerce-applications/magento-2/how-to-enable-the-magento-2-api.md). +- Test if the sitemap is accessible for [Magento 1](../../ecommerce-applications/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x.md)or [Magento 2](../../ecommerce-applications/magento-2/how-to-create-a-sitemap-xml-for-magento-2-x.md). +- Test if [you can easily download the robots.txt file](../../ecommerce-applications/magento-1/how-to-create-a-robots-txt-for-your-magento-1-shop.md) (Or for [Magento 2](../../ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md)). - Test product and price import and export routines. - Test product push mechanisms for search engines. -If every box has been checked, you can change the DNS settings of your original domain to Hypernode. Instructions on how to do this, can be found in the article [Go Live With Your Hypernode.](https://support.hypernode.com/en/best-practices/testing/how-to-go-live-with-your-hypernode) +If every box has been checked, you can change the DNS settings of your original domain to Hypernode. Instructions on how to do this, can be found in the article [Go Live With Your Hypernode.](../../best-practices/testing/how-to-go-live-with-your-hypernode.md) diff --git a/docs/best-practices/testing/how-to-go-live-with-your-hypernode.md b/docs/best-practices/testing/how-to-go-live-with-your-hypernode.md index 3ed9e313..f6f5f80f 100644 --- a/docs/best-practices/testing/how-to-go-live-with-your-hypernode.md +++ b/docs/best-practices/testing/how-to-go-live-with-your-hypernode.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: After you have copied your shop to Hypernode and tested its functionalities, - it's time to go live. Follow these steps for a smooth transition. + description: You have copied your shop to Hypernode and tested its functionality. + Now is the time to go live with your Hypernode. Follow these steps! + title: How to go live with your Hypernode? | Testing +redirect_from: + - /en/best-practices/testing/how-to-go-live-with-your-hypernode/ + - /knowledgebase/go-live-with-your-hypernode/ --- @@ -87,7 +91,7 @@ To add a new vhost, for example the domainname [www.example.com](http://www.exam Please note that defining the vhosts '[www.example.com](http://www.example.com)', does not automatically add 'example.com' as a vhost. You will have to manually define a vhost for this. Since most people simply want their 'example.com' to redirect to '[www.example.com](http://www.example.com)', you can simply use the `--type wwwizer` argument to set this up. This will configure the vhost to redirect all traffic to the www-version of the domain. -Read more about Hypernode Managed Vhosts in [this article](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts). +Read more about Hypernode Managed Vhosts in [this article](../../hypernode-platform/nginx/hypernode-managed-vhosts.md). ## Step 8: Change DNS Records @@ -113,7 +117,7 @@ As there are situations you cannot benefit from a dedicated IP on Hypernode, ple ### Setting up DNS records to send mail from your Hypernode -Please follow [this article](https://support.hypernode.com/en/hypernode/email/how-to-set-up-your-dns-for-outgoing-email) on how to setup your DNS to send mail from your Hypernode. +Please follow [this article](../../hypernode-platform/email/how-to-set-up-your-dns-for-outgoing-email.md) on how to setup your DNS to send mail from your Hypernode. Note that **4**different DNS records have to added or adjusted. @@ -127,19 +131,19 @@ The following example allows mail from both your mail exchangers and all your Hy mydomain.com TXT v=spf1 mx:mydomain.com include:spf.appname.hypernode.io ~all ``` -For more information have a look at [our article about SPF records](https://support.hypernode.com/knowledgebase/using-spf-hypernode/). +For more information have a look at [our article about SPF records](../../hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md). ## Step 9: Configure SSL Enable SSL for your shop for safety and to improve search engine optimisation. -You can find a detailed how to in [this article](https://support.hypernode.com/knowledgebase/configuring-shop-use-https/)about configuring SSL on your shop. +You can find a detailed how-to in [this article](../../hypernode-platform/nginx/how-to-configure-your-shop-to-only-use-https.md) about configuring SSL on your shop. ## Step 10: Configure Cron Configure cron jobs to run on your Hypernode (`crontab -e`), and configure them not to run on your old host (`crontab -ir`). -Note that the time on Hypernode is configured to UTC, so the times used in the crontab are one or two hours later than Central European Time. More information about cronjobs can be found in [Configure Cronjobs on Hypernode](https://support.hypernode.com/en/hypernode/tools/how-to-use-periodic-tasks-cronjobs-on-hypernode). +Note that the time on Hypernode is configured to UTC, so the times used in the crontab are one or two hours later than Central European Time. More information about cronjobs can be found in [Configure Cronjobs on Hypernode](../../hypernode-platform/tools/how-to-use-periodic-tasks-cronjobs-on-hypernode.md). ## Step 11: Configure Backups on Hypernode (Optional) diff --git a/docs/best-practices/testing/how-to-test-your-website-by-changing-your-hosts-file.md b/docs/best-practices/testing/how-to-test-your-website-by-changing-your-hosts-file.md index d0613566..4406fcbb 100644 --- a/docs/best-practices/testing/how-to-test-your-website-by-changing-your-hosts-file.md +++ b/docs/best-practices/testing/how-to-test-your-website-by-changing-your-hosts-file.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'In this article, we explain how to adjust the hosts file of the - following operating systems: Windows 10, 8 & 7, Linux and Mac OS X.' + description: This is extremely useful if you want to test your shop without changing + the DNS settings for your domain. Learn more. + title: Test your website by changing your Hosts File | Hypernode +redirect_from: + - /en/best-practices/testing/how-to-test-your-website-by-changing-your-hosts-file/ --- diff --git a/docs/best-practices/testing/hypernode-docker.md b/docs/best-practices/testing/hypernode-docker.md index 6cc51025..1b30420a 100644 --- a/docs/best-practices/testing/hypernode-docker.md +++ b/docs/best-practices/testing/hypernode-docker.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: The official Hypernode Docker image for Magento development can be - used to build a development environment, or as a build machine. Read all about - it here. + description: This image can be used to set up a local development environment, + or as a build machine in a CI environment representative of the production environment. + title: Hypernode Docker | Everything you need to know | Testing +redirect_from: + - /en/best-practices/testing/hypernode-docker/ + - /knowledgebase/hypernode-docker/ --- @@ -16,7 +19,7 @@ Interested in a case study? Read [this article](https://blog.guapa.nl/local-deve ## About the Hypernode Docker Image -We build this image multiple times a day (every time we do a [release](https://support.hypernode.com/category/changelog/)) by applying our configuration management on the [phusion/baseimage-docker](https://github.com/phusion/baseimage-docker) ['fat' container](https://blog.phusion.nl/2015/01/20/baseimage-docker-fat-containers-treating-containers-vms/). By treating the Docker as a lightweight VM instead of as a vehicle for a single process we stay close to what an actual Hypernode actually looks like. No micro-services or a multi-container application, but a single instance with minimal network overhead and all batteries included. +We build this image multiple times a day (every time we do a [release](https://changelog.hypernode.com/)) by applying our configuration management on the [phusion/baseimage-docker](https://github.com/phusion/baseimage-docker) ["fat" container](https://blog.phusion.nl/2015/01/20/baseimage-docker-fat-containers-treating-containers-vms/). By treating the Docker as a lightweight VM instead of as a vehicle for a single process we stay close to what an actual Hypernode actually looks like. No micro-services or a multi-container application, but a single instance with minimal network overhead and all batteries included. The `hypernode-docker` image has SSH, PHP, NGINX, MySQL, Redis, Varnish and Elasticsearch. The biggest difference between a real Hypernode and this container is that this environment does not have an [init system](https://en.wikipedia.org/wiki/Init). While it is possible to [run systemd within a Docker Container](https://developers.redhat.com/blog/2014/05/05/running-systemd-within-docker-container/) if the host is also runs [systemd](https://www.freedesktop.org/wiki/Software/systemd/), we choose not to do so to achieve greater compatibility and user-friendliness. @@ -62,13 +65,13 @@ hypernode-importer --host yourhypernode.hypernode.io --path /data/web/public --s To see the container in your browser you should change the base-url to “[http://127.0.0.1:8080/”](http://127.0.0.1:8080/%E2%80%9D) and don’t forget to flush your cache afterwards: -#### **Magento 1**[How to change base-urls in Magento 1](https://support.hypernode.com/knowledgebase/change-baseurl-magento1/#Configuring_your_base_URL8217s_using_SSH) +#### **Magento 1**[How to change base-urls in Magento 1](../../ecommerce-applications/magento-1/how-to-change-the-base-url-in-magento-1-x.md) ``` magerun ca:fl ``` -#### **Magento 2**[How to change base-url in Magento 2](https://support.hypernode.com/en/ecommerce/magento-2/how-to-change-your-magento-2-base-urls) +#### **Magento 2**[How to change base-url in Magento 2](../../ecommerce-applications/magento-2/how-to-change-your-magento-2-base-urls.md) ``` magerun ca:fl @@ -287,9 +290,9 @@ app@e4b7d958e69c:~$ ls /etc/hypernode/is_docker /etc/hypernode/is_docker ``` -5. +5. Import application -Run the [hypernode-importer](https://support.hypernode.com/knowledgebase/migrating-your-magento-to-hypernode/#Option_2_Migrate_your_shop_via_Shell_using_hypernode-importer_8211_Magento_1_2) to import a shop from a real Hypernode: +Run the [hypernode-importer](../../hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md#option-2-for-all-customers-migrate-your-shop-via-shell-using-the-hypernode-importer) to import a shop from a real Hypernode: ``` hypernode-importer --host yourhypernode.hypernode.io --path /data/web/public --set-default-url diff --git a/docs/best-practices/testing/zero-downtime-deployment-on-hypernode.md b/docs/best-practices/testing/zero-downtime-deployment-on-hypernode.md index ef33b933..7a1ec654 100644 --- a/docs/best-practices/testing/zero-downtime-deployment-on-hypernode.md +++ b/docs/best-practices/testing/zero-downtime-deployment-on-hypernode.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: In this article, we explain the ideal process of moving new code - from a development environment to production without experiencing downtime. + description: On Hypernode, zero downtime deployment is supported. We offer our + customers full flexibility with their deployment processes. + title: Zero downtime deployment on Hypernode | Testing +redirect_from: + - /en/best-practices/testing/zero-downtime-deployment-on-hypernode/ --- diff --git a/docs/best-practices/usage.md b/docs/best-practices/usage.md index 0da2cbad..df3e6a52 100644 --- a/docs/best-practices/usage.md +++ b/docs/best-practices/usage.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that show best practices of usage. + title: Usage | Best Practices | Hypernode +redirect_from: + - /en/best-practices/usage/ +--- + # Usage ```{toctree} diff --git a/docs/best-practices/usage/how-to-handle-composer-memory-issues.md b/docs/best-practices/usage/how-to-handle-composer-memory-issues.md index aa35f8a7..28fde2b3 100644 --- a/docs/best-practices/usage/how-to-handle-composer-memory-issues.md +++ b/docs/best-practices/usage/how-to-handle-composer-memory-issues.md @@ -1,3 +1,14 @@ +--- +myst: + html_meta: + description: Since composer is overall a heavy process it requires quite some + resources, specifically memory in this case. Here we discuss the causes and + workarounds. + title: How to handle composer memory issues? | Hypernode +redirect_from: + - /en/support/solutions/articles/48001186354-how-to-handle-composer-memory-issues/ +--- + # How to Handle Composer Memory Issues @@ -57,7 +68,7 @@ The Magento 2 crons are also quite heavy processes which will acquire their peac - Check the proceses which consume the most memory with htop -It is possible you'll see quite some "queue:consumers" processes. These all together could require a lot of memory as well. After disabling the Magento crons you could [track down those processes and kill them](https://support.hypernode.com/en/troubleshooting/performance/how-to-identify-and-stop-long-running-processes#Long-Running-SSH-Process) to free the memory. Do note that those processes will be starting again next minute if the Magento crons are enabled. +It is possible you'll see quite some "queue:consumers" processes. These all together could require a lot of memory as well. After disabling the Magento crons you could [track down those processes and kill them](../../troubleshooting/performance/how-to-identify-and-stop-long-running-processes.md#long-running-ssh-process) to free the memory. Do note that those processes will be starting again next minute if the Magento crons are enabled. Check your list of processes with htop to see if there are any other processes that are unnecessary claiming a lot of memory. This is something you'd have to think of carefully before just killing them, this can differ per server. diff --git a/docs/best-practices/usage/how-to-install-wordpress-next-to-your-magento-installation.md b/docs/best-practices/usage/how-to-install-wordpress-next-to-your-magento-installation.md index 91c20597..5a2a5d69 100644 --- a/docs/best-practices/usage/how-to-install-wordpress-next-to-your-magento-installation.md +++ b/docs/best-practices/usage/how-to-install-wordpress-next-to-your-magento-installation.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'Find detailed guidelines on how to install Wordpress on your Hypernode - next to your Magento installation in this article. ' + description: This article explains in detail how to install WordPress next to + your Magento application on Hypernode. Please be aware of the security implications. + title: How to install WordPress next to your Magento installation? +redirect_from: + - /en/best-practices/usage/how-to-install-wordpress-next-to-your-magento-installation/ --- diff --git a/docs/conf.py b/docs/conf.py index 65bb4dbb..6b8c0729 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -3,6 +3,8 @@ # This file only contains a selection of the most common options. For a full # list see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html +import os +import sys # -- Path setup -------------------------------------------------------------- @@ -13,12 +15,13 @@ # import os # import sys # sys.path.insert(0, os.path.abspath('.')) +sys.path.append(os.path.abspath("../")) # -- Project information ----------------------------------------------------- project = "Docs" -copyright = "2022, Hypernode" +copyright = "2023, Hypernode" author = "Hypernode" # The full version, including alpha/beta/rc tags @@ -40,6 +43,8 @@ "myst_parser", "sphinx_copybutton", "notfound.extension", + "hypernode.sphinx.extensions.updated_at", + "sphinxcontrib.mermaid", ] # Add any paths that contain templates here, relative to this directory. @@ -61,6 +66,7 @@ "navigation_depth": 4, "collapse_navigation": False, "titles_only": False, + "analytics_id": "GTM-PDL826", } html_context = { "display_github": True, # Integrate GitHub @@ -72,6 +78,12 @@ html_show_sphinx = False html_show_sourcelink = False +sitemap_url_scheme = "{link}" + +if os.getenv("DOCS_BASE_URL"): + html_baseurl = os.getenv("DOCS_BASE_URL") + extensions.append("sphinx_sitemap") # Only generate sitemap when we have a base url + # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". @@ -88,4 +100,4 @@ notfound_no_urls_prefix = True -myst_heading_anchors = 4 +myst_heading_anchors = 5 diff --git a/docs/ecommerce-applications/akeneo.md b/docs/ecommerce-applications/akeneo.md index 537dbcfc..0b216dcb 100644 --- a/docs/ecommerce-applications/akeneo.md +++ b/docs/ecommerce-applications/akeneo.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that tell you more about Akeneo. + title: Akeneo on Hypernode | Everything you need to know +redirect_from: + - /en/ecommerce/akeneo/ +--- + # Akeneo ```{toctree} diff --git a/docs/ecommerce-applications/akeneo/how-to-install-akeneo-3-on-hypernode.md b/docs/ecommerce-applications/akeneo/how-to-install-akeneo-3-on-hypernode.md index d24e36b1..3963a35f 100644 --- a/docs/ecommerce-applications/akeneo/how-to-install-akeneo-3-on-hypernode.md +++ b/docs/ecommerce-applications/akeneo/how-to-install-akeneo-3-on-hypernode.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: This article describes how to install Akeneo 3 on your Hypernode. - Installing Akeneo 3 can be done by using our Pre-Install or you can install - Akeneo 3 manually. + description: Install Akeneo 3 on a separate Hypernode instance or on the same + Hypernode as your Magento or Shopware installation. Learn more! + title: How to install Akeneo 3 on Hypernode? +redirect_from: + - /en/ecommerce/akeneo/how-to-install-akeneo-3-on-hypernode/ --- @@ -14,7 +16,7 @@ Akeneo 3 preferably requires a Hypernode Pelican L, Falcon M, Eagle M hosting pl ## Enable managed_vhosts -All new Hypernodes (from April 2020) will automatically be booted with [Hypernode Managed Vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts). If you already have an older Hypernode, then you need to enable Hypernode Managed Vhosts by running the following command: +All new Hypernodes (from April 2020) will automatically be booted with [Hypernode Managed Vhosts](../../hypernode-platform/nginx/hypernode-managed-vhosts.md). If you already have an older Hypernode, then you need to enable Hypernode Managed Vhosts by running the following command: ```bash hypernode-systemctl settings managed_vhosts_enabled True @@ -38,7 +40,7 @@ hypernode-systemctl settings mysql_version 5.7 ## Upgrade Your PHP Version to 7.2 -Before installing Akeneo, make sure your [PHP version](https://support.hypernode.com/knowledgebase/php-versions-magento-shop-hypernode/#How_to_change_a_PHP_version_on_Hypernode) is changed to `PHP 7.2`. +Before installing Akeneo, make sure your [PHP version](../../hypernode-platform/php/supported-php-versions-and-how-to-change-them-on-hypernode.md#changing-the-php-version-you-use-on-hypernode) is changed to `PHP 7.2`. ```bash hypernode-systemctl settings php_version 7.2 @@ -131,7 +133,7 @@ tar zvxf akeneo.tar.gz -C ~/akeneo/ #### Setting up Akeneo -First change the MySQL username and password in `~/akeneo/pim-community-standard/app/config/parameters.yml` to your own [credentials](https://support.hypernode.com/knowledgebase/using-mysql-on-hypernode/#Finding_your_credentials). +First change the MySQL username and password in `~/akeneo/pim-community-standard/app/config/parameters.yml` to your own [credentials](../../hypernode-platform/mysql/how-to-use-mysql-on-hypernode.md#finding-your-credentials). ```bash mysql -e "create database akeneo_pim;" diff --git a/docs/ecommerce-applications/akeneo/how-to-install-akeneo-4-on-hypernode.md b/docs/ecommerce-applications/akeneo/how-to-install-akeneo-4-on-hypernode.md index c962484a..34fa2ec1 100644 --- a/docs/ecommerce-applications/akeneo/how-to-install-akeneo-4-on-hypernode.md +++ b/docs/ecommerce-applications/akeneo/how-to-install-akeneo-4-on-hypernode.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: This article describes how to install Akeneo 4 on your Hypernode. - Installing Akeneo 4 can be done by using our Pre-Install or you can install - Akeneo 4 manually. + description: Install Akeneo 4 on a separate Hypernode instance or on the same + Hypernode as your Magento or Shopware installation. Learn more! + title: How to install Akeneo 4 on Hypernode? +redirect_from: + - /en/ecommerce/akeneo/how-to-install-akeneo-4-on-hypernode/ + - /knowledgebase/installing-akeneo-4/ --- @@ -14,7 +17,7 @@ Akeneo 4 preferably requires a Hypernode Pelican L, Falcon M, Eagle M hosting pl ## Enable managed_vhosts -All new Hypernodes (from April 2020) will automatically be booted with [Hypernode Managed Vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts). If you already have an older Hypernode, then you need to enable Hypernode Managed Vhosts by running the following command: +All new Hypernodes (from April 2020) will automatically be booted with [Hypernode Managed Vhosts](../../hypernode-platform/nginx/hypernode-managed-vhosts.md). If you already have an older Hypernode, then you need to enable Hypernode Managed Vhosts by running the following command: ```bash hypernode-systemctl settings managed_vhosts_enabled True @@ -65,7 +68,7 @@ hypernode-systemctl settings mysql_version 8.0 ## Upgrade Your PHP Version to 7.3 -Before installing Akeneo, make sure your [PHP version](https://support.hypernode.com/knowledgebase/php-versions-magento-shop-hypernode/#How_to_change_a_PHP_version_on_Hypernode) is changed to `PHP 7.3`. +Before installing Akeneo, make sure your [PHP version](../../hypernode-platform/php/supported-php-versions-and-how-to-change-them-on-hypernode.md#changing-the-php-version-you-use-on-hypernode) is changed to `PHP 7.3`. ```bash hypernode-systemctl settings php_version 7.3 diff --git a/docs/ecommerce-applications/akeneo/how-to-install-akeneo-5-on-hypernode.md b/docs/ecommerce-applications/akeneo/how-to-install-akeneo-5-on-hypernode.md index eb0eaad1..406578aa 100644 --- a/docs/ecommerce-applications/akeneo/how-to-install-akeneo-5-on-hypernode.md +++ b/docs/ecommerce-applications/akeneo/how-to-install-akeneo-5-on-hypernode.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: 'Akeneo 5 preferably requires a Hypernode Professional M hosting - plan or larger. You can either choose to install it on a seperate Hypernode - instance or on the same Hypernode as your Magento or Shopware installation. ' + description: Install Akeneo 5 on a separate Hypernode instance or on the same + Hypernode as your Magento or Shopware installation. Learn more! + title: How to install Akeneo 5 on Hypernode? +redirect_from: + - /en/ecommerce/akeneo/how-to-install-akeneo-5-on-hypernode/ --- @@ -14,7 +16,7 @@ Akeneo 5 preferably requires a Hypernode Pelican L, Falcon M, Eagle M hosting pl ## Enable managed_vhosts -All new Hypernodes (from April 2020) will automatically be booted with [Hypernode Managed Vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts). If you already have an older Hypernode, then you need to enable Hypernode Managed Vhosts by running the following command: +All new Hypernodes (from April 2020) will automatically be booted with [Hypernode Managed Vhosts](../../hypernode-platform/nginx/hypernode-managed-vhosts.md). If you already have an older Hypernode, then you need to enable Hypernode Managed Vhosts by running the following command: ```bash hypernode-systemctl settings managed_vhosts_enabled True @@ -65,7 +67,7 @@ hypernode-systemctl settings mysql_version 8.0 ## Upgrade Your PHP Version to 7.4 -Before installing Akeneo, make sure your [PHP version](https://support.hypernode.com/knowledgebase/php-versions-magento-shop-hypernode/#How_to_change_a_PHP_version_on_Hypernode) is changed to `PHP 7.4`. +Before installing Akeneo, make sure your [PHP version](../../hypernode-platform/php/supported-php-versions-and-how-to-change-them-on-hypernode.md#changing-the-php-version-you-use-on-hypernode) is changed to `PHP 7.4`. ```bash hypernode-systemctl settings php_version 7.4 diff --git a/docs/ecommerce-applications/akeneo/how-to-install-akeneo-6-on-hypernode.md b/docs/ecommerce-applications/akeneo/how-to-install-akeneo-6-on-hypernode.md index ed7b6223..f8016fc6 100644 --- a/docs/ecommerce-applications/akeneo/how-to-install-akeneo-6-on-hypernode.md +++ b/docs/ecommerce-applications/akeneo/how-to-install-akeneo-6-on-hypernode.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: Install Akeneo 6 on a separate Hypernode instance or on the same + Hypernode as your Magento or Shopware installation. Learn more! + title: How to install Akeneo 6 on Hypernode? +redirect_from: + - /en/support/solutions/articles/48001220118-how-to-install-akeneo-6-on-hypernode/ +--- + # How to Install Akeneo 6 on Hypernode @@ -6,7 +16,7 @@ Akeneo 6 preferably requires a Hypernode Pelican L, Falcon M, Eagle M hosting pl ## Enable managed_vhosts -All new Hypernodes (from April 2020) will automatically be booted with [Hypernode Managed Vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts). If you already have an older Hypernode, then you need to enable Hypernode Managed Vhosts by running the following command: +All new Hypernodes (from April 2020) will automatically be booted with [Hypernode Managed Vhosts](../../hypernode-platform/nginx/hypernode-managed-vhosts.md). If you already have an older Hypernode, then you need to enable Hypernode Managed Vhosts by running the following command: ```bash hypernode-systemctl settings managed_vhosts_enabled True @@ -57,7 +67,7 @@ hypernode-systemctl settings mysql_version 8.0 ## Upgrade Your PHP Version to 8.0 -Before installing Akeneo, make sure your [PHP version](https://support.hypernode.com/knowledgebase/php-versions-magento-shop-hypernode/#How_to_change_a_PHP_version_on_Hypernode) is changed to `PHP 7.4`. +Before installing Akeneo, make sure your [PHP version](../../hypernode-platform/php/supported-php-versions-and-how-to-change-them-on-hypernode.md#changing-the-php-version-you-use-on-hypernode) is changed to `PHP 7.4`. ```bash hypernode-systemctl settings php_version 8.0 diff --git a/docs/ecommerce-applications/akeneo/how-to-use-a-basic-staging-environment-with-akeneo-3.md b/docs/ecommerce-applications/akeneo/how-to-use-a-basic-staging-environment-with-akeneo-3.md index 5bdbb6c4..9be69a73 100644 --- a/docs/ecommerce-applications/akeneo/how-to-use-a-basic-staging-environment-with-akeneo-3.md +++ b/docs/ecommerce-applications/akeneo/how-to-use-a-basic-staging-environment-with-akeneo-3.md @@ -2,14 +2,17 @@ myst: html_meta: description: Hypernode offers a staging environment so it can be used as a sandbox - for your Akeneo PIM project. + for your Akeneo 3 PIM project. Learn more in this article! + title: How to use a basic staging environment with Akeneo 3? +redirect_from: + - /en/ecommerce/akeneo/how-to-use-a-basic-staging-environment-with-akeneo/ --- # How To Use A Basic Staging Environment with Akeneo 3 -Hypernode offers a staging environment so it can be used as a sandbox for your Akeneo PIM project. Please keep in mind that your staging environment for Akeneo shares resources (disk, CPU, memory) with your production environment. It’s also possible to order a [development plan](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/) instead, so your production environment will not be affected. Once again a big thank you to our partner [Experius](https://www.experius.nl/) for contributing to this article! +Hypernode offers a staging environment so it can be used as a sandbox for your Akeneo PIM project. Please keep in mind that your staging environment for Akeneo shares resources (disk, CPU, memory) with your production environment. It’s also possible to order a [development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) instead, so your production environment will not be affected. Once again a big thank you to our partner [Experius](https://www.experius.nl/) for contributing to this article! ## Update managed_vhosts diff --git a/docs/ecommerce-applications/akeneo/how-to-use-a-basic-staging-environment-with-akeneo-4-and-5.md b/docs/ecommerce-applications/akeneo/how-to-use-a-basic-staging-environment-with-akeneo-4-and-5.md index 6c883412..a37f8b2b 100644 --- a/docs/ecommerce-applications/akeneo/how-to-use-a-basic-staging-environment-with-akeneo-4-and-5.md +++ b/docs/ecommerce-applications/akeneo/how-to-use-a-basic-staging-environment-with-akeneo-4-and-5.md @@ -2,14 +2,17 @@ myst: html_meta: description: Hypernode offers a staging environment so it can be used as a sandbox - for your Akeneo PIM project. + for your Akeneo 4 or 5 PIM project. Learn more in this article! + title: How to use a basic staging environment with Akeneo 4 and 5? +redirect_from: + - /en/support/solutions/articles/48001183489-how-to-use-a-basic-staging-environment-with-akeneo-4-and-5/ --- # How To Use A Basic Staging Environment with Akeneo 4 and 5 -Hypernode offers a staging environment so it can be used as a sandbox for your Akeneo PIM project. Please keep in mind that your staging environment for Akeneo shares resources (disk, CPU, memory) with your production environment. It’s also possible to order a [development plan](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/) instead, so your production environment will not be affected. +Hypernode offers a staging environment so it can be used as a sandbox for your Akeneo PIM project. Please keep in mind that your staging environment for Akeneo shares resources (disk, CPU, memory) with your production environment. It’s also possible to order a [development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) instead, so your production environment will not be affected. ## Create a vhost diff --git a/docs/ecommerce-applications/magento-1.md b/docs/ecommerce-applications/magento-1.md index df58ddeb..ed3d7f9e 100644 --- a/docs/ecommerce-applications/magento-1.md +++ b/docs/ecommerce-applications/magento-1.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that tell you more about Magento 1. + title: Magento 1 on Hypernode | Everything you need to know +redirect_from: + - /en/ecommerce/magento-1/ +--- + # Magento 1 ```{toctree} diff --git a/docs/ecommerce-applications/magento-1/how-to-change-the-base-url-in-magento-1-x.md b/docs/ecommerce-applications/magento-1/how-to-change-the-base-url-in-magento-1-x.md index 660ecd0e..500bc585 100644 --- a/docs/ecommerce-applications/magento-1/how-to-change-the-base-url-in-magento-1-x.md +++ b/docs/ecommerce-applications/magento-1/how-to-change-the-base-url-in-magento-1-x.md @@ -1,15 +1,20 @@ --- myst: html_meta: - description: 'There are several ways to change the Base URL of your Magento 1.x - storefronts. Find detailed instructions for each in this article. ' + description: There are several ways to change the Base URL of your Magento 1.x + storefronts. In this article we provide you with instructions for each of these + ways. + title: How to change the base url in Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-change-the-base-url-in-magento-1-x/ + - /knowledgebase/change-baseurl-magento1/ --- # How to Change the Base URL in Magento 1.x -*Information about how to change the Base URL in Magento 2.x can be found [here](https://support.hypernode.com/en/ecommerce/magento-2/how-to-change-your-magento-2-base-urls)* +*Information about how to change the Base URL in Magento 2.x can be found [here](../../ecommerce-applications/magento-2/how-to-change-your-magento-2-base-urls.md)* There are several ways to change the Base URL of your Magento 1.x storefronts. Below we will provide you with instructions for each of these ways. @@ -26,7 +31,7 @@ There are several ways to change the Base URL of your Magento 1.x storefronts. B ### Change the Base URL via phpMyAdmin -- Login to [phpMyAdmin](https://support.hypernode.com/knowledgebase/use-phpmyadmin/) +- Login to [phpMyAdmin](../../hypernode-platform/mysql/how-to-use-phpmyadmin.md) - Select the database you're using for Magento and open the table `core_config_data` - Click in the top navigation bar on `SQL` - Change the command to `SELECT * FROM `core_config_data` WHERE path like '%web%secure%'` and click on `Go` diff --git a/docs/ecommerce-applications/magento-1/how-to-clean-the-magento-1-x-logs.md b/docs/ecommerce-applications/magento-1/how-to-clean-the-magento-1-x-logs.md index aad75f2a..2a229864 100644 --- a/docs/ecommerce-applications/magento-1/how-to-clean-the-magento-1-x-logs.md +++ b/docs/ecommerce-applications/magento-1/how-to-clean-the-magento-1-x-logs.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: Magento log cleaning helps to keep your Magento shop fast by cleaning - and optimizing your database(s). Find instructions on cleaning your Magento - 1.x logs here. + description: Magento log cleaning helps you keep your Magento shop fast by cleaning + and optimizing your database(s). Learn how to enable Log Cleaning in Magento. + title: How to clean Magento 1 logs? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-clean-the-magento-1-x-logs/ + - /knowledgebase/magento-log-cleaning/ --- diff --git a/docs/ecommerce-applications/magento-1/how-to-configure-redis-for-magento-1.md b/docs/ecommerce-applications/magento-1/how-to-configure-redis-for-magento-1.md index 245a0e9d..dc94fed2 100644 --- a/docs/ecommerce-applications/magento-1/how-to-configure-redis-for-magento-1.md +++ b/docs/ecommerce-applications/magento-1/how-to-configure-redis-for-magento-1.md @@ -1,9 +1,13 @@ --- myst: html_meta: - description: Redis is a caching method which can increase the speed of the back- - and frontend of your shop. Here's how to configure it on Magento 1 and how redis-cli - works. + description: This article will explain how to configure Redis on your Magento + 1 shop on Hypernode and how to work with redis-cli. Learn all you need to know + in this article! + title: How to configure Redis for Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-configure-redis-for-magento-1/ + - /knowledgebase/configure-sessions-redis-magento1/ --- @@ -12,9 +16,9 @@ myst: Redis is a caching method which can increase the speed of the backend and frontend of your shop. On Hypernode every customer has access to Redis cache, starting from 64 MB, depending on the plan. This article will explain how to configure Redis on your Magento 1 shop on Hypernode and how to work with redis-cli. -**NB: When you used the [hypernode-importer](https://support.hypernode.com/en/hypernode/tools/how-to-migrate-your-shop-to-hypernode "Migrate your Magento to Hypernode") and you were already using Redis you don't have to follow this tutorial.** +**NB: When you used the [hypernode-importer](../../hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md#how-to-migrate-your-shop-to-hypernode) and you were already using Redis you don't have to follow this tutorial.** -Want to know how to configure Redis in Magento 2? Have a look at [this article](https://support.hypernode.com/knowledgebase/configure-redis-magento2/)! +Want to know how to configure Redis in Magento 2? Have a look at [this article](../../ecommerce-applications/magento-2/how-to-configure-redis-for-magento-2.md)! ## Setup Redis by Changing your local.xml File @@ -215,4 +219,4 @@ This will flush out all available Redis databases. Please keep in mind that this As you know, the sessions of your webshop can also be stored in Redis. If you use Redis caching and store the sessions in Redis as well, you’ll have to share the available Redis memory. This shouldn’t be a problem on a regular basis, however we’ve seen scenarios wherein a shop stores its sessions in Redis and had some aggressive bots/crawlers visiting the shop. This resulted in a much larger amount of sessions to be stored in Redis than usual which is causing the Redis memory to fill up in no time, and crashes Redis. -You can check the bot traffic on your shop at any time on MageReport. If you want to get a more detailed insight in the bot traffic you can use the command `pnl --yesterday --php --bots --fields ua | sort | uniq -c | sort -n` to get an overview of the top 10 bots that visited your webshop yesterday. For more information about abuse bot check our [article](https://support.hypernode.com/knowledgebase/fixing-bad-performance-caused-by-search-engines/). +You can check the bot traffic on your shop at any time on MageReport. If you want to get a more detailed insight in the bot traffic you can use the command `pnl --yesterday --php --bots --fields ua | sort | uniq -c | sort -n` to get an overview of the top 10 bots that visited your webshop yesterday. For more information about abuse bot check our [article](../../best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers.md). diff --git a/docs/ecommerce-applications/magento-1/how-to-configure-varnish-for-magento-1-x.md b/docs/ecommerce-applications/magento-1/how-to-configure-varnish-for-magento-1-x.md index 4ef39853..74d13df0 100644 --- a/docs/ecommerce-applications/magento-1/how-to-configure-varnish-for-magento-1-x.md +++ b/docs/ecommerce-applications/magento-1/how-to-configure-varnish-for-magento-1-x.md @@ -1,17 +1,22 @@ --- myst: html_meta: - description: This article explains how you can configure Varnish for your Hypernode - in order to boost your Magento shop. + description: Varnish is a complex technique that needs some experience to set + it up. This article explains how you can configure Varnish for your Magento + 1 shop. + title: How to configure Varnish for Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-configure-varnish-for-magento-1-x/ + - /knowledgebase/varnish-on-magento1/ --- # How to Configure Varnish for Magento 1.x -Customers with Hypernode Pelican, Falcon (formerly known as Professional) and Eagle (formerly known as Excellence) plans can use Varnish to boost their Magento shop. To manage and configure Varnish for Magento 1.x you’ll need Turpentine. This article explains how you can configure Varnish for your Hypernode. Do you have a Magento 2.x shop, please check [this article](https://support.hypernode.com/en/ecommerce/magento-2/how-to-configure-varnish-for-magento-2-x) +Customers with Hypernode Pelican, Falcon (formerly known as Professional) and Eagle (formerly known as Excellence) plans can use Varnish to boost their Magento shop. To manage and configure Varnish for Magento 1.x you’ll need Turpentine. This article explains how you can configure Varnish for your Hypernode. Do you have a Magento 2.x shop, please check [this article](../../ecommerce-applications/magento-2/how-to-configure-varnish-for-magento-2-x.md) -Although Varnish is extremely awesome when it get's to speeding up websites, Varnish is a complex technique that needs some experience to set it up. Don't implement Varnish on production nodes while still under development but use [development node](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/) or a local staging environment like the [Hypernode Docker](https://support.hypernode.com/en/best-practices/testing/hypernode-docker) instead. +Although Varnish is extremely awesome when it get's to speeding up websites, Varnish is a complex technique that needs some experience to set it up. Don't implement Varnish on production nodes while still under development but use [development node](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) or a local staging environment like the [Hypernode Docker](../../best-practices/testing/hypernode-docker.md) instead. ## Table of Contents @@ -32,7 +37,7 @@ Before installing Turpentine we recommend enabling Varnish on your Hypernode usi ### All Customers: Via the hypernode-systemctl CLI Tool -Activating Varnish and set which version to use on your Hypernode can be done via the [hypernode-systemctl tool](https://support.hypernode.com/knowledgebase/hypernode-systemctl-cli-tool/). +Activating Varnish and set which version to use on your Hypernode can be done via the [hypernode-systemctl tool](../../hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md). ### Dutch Customers: Via Your Service Panel @@ -95,8 +100,8 @@ We highly recommend you to test Varnish on a staging environment first. This way There are 2 ways to create a Hypernode staging environment for testing Varnish; -1. [Hypernode development plan](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/) -1. The [Hypernode Docker](https://support.hypernode.com/en/best-practices/testing/hypernode-docker) +1. [Hypernode development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) +1. The [Hypernode Docker](../../best-practices/testing/hypernode-docker.md) We recommend you to use a development node (which can be cancelled any time). **A basic staging environment doesn’t work well with Varnish.** @@ -138,4 +143,4 @@ HTTP/1.1 200 0.79 secs: 14856 bytes ==> /vogelbekdier.html ## Troubleshooting -If your Varnish setup is not working over SSL, check [this article.](https://support.hypernode.com/en/hypernode/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-byte-nl#Redirecting-to-HTTPS-When-Using-Varnish) +If your Varnish setup is not working over SSL, check [this article](../../hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-nl.md#redirecting-to-https-when-using-varnish). diff --git a/docs/ecommerce-applications/magento-1/how-to-create-a-robots-txt-for-your-magento-1-shop.md b/docs/ecommerce-applications/magento-1/how-to-create-a-robots-txt-for-your-magento-1-shop.md index 47f50bb3..f3b97af5 100644 --- a/docs/ecommerce-applications/magento-1/how-to-create-a-robots-txt-for-your-magento-1-shop.md +++ b/docs/ecommerce-applications/magento-1/how-to-create-a-robots-txt-for-your-magento-1-shop.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: Using a robots.txt is essential to handle bots and crawlers. In this - article we explain how to configure your Hypernode to serve a robots.txt for - storefront(s). + description: In this article we explain how to configure your Hypernode to serve + a robots.txt for one or multiple storefronts in Magento 1. + title: How to create a robots.txt for Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-create-a-robots-txt-for-your-magento-1-shop/ + - /knowledgebase/create-robots-txt-magento1/ --- diff --git a/docs/ecommerce-applications/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x.md b/docs/ecommerce-applications/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x.md index 388129fe..669295a9 100644 --- a/docs/ecommerce-applications/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x.md +++ b/docs/ecommerce-applications/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'Find detailed guidelines on how to create a sitemap.xml for Magento - 1.x versions here. ' + description: This article explains how to enable a sitemap.xml in Magento 1 and + how to configure NGINX to Use the Same Sitemap for All Storefronts. + title: How to create a sitemap xml for Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x/ --- @@ -14,7 +17,7 @@ myst: ### Configure Magento to Create Sitemaps - To enable sitemaps inside Magento, log in to your admin -- Make sure your [crontab is working properly](https://support.hypernode.com/knowledgebase/configure-cronjobs-on-hypernode/) +- Make sure your [crontab is working properly](../../hypernode-platform/tools/how-to-use-periodic-tasks-cronjobs-on-hypernode.md) - Navigate to `System` > `Configuration` > `Catalog` > `Google Sitemap` > `Generation Settings` Now fill in the information: diff --git a/docs/ecommerce-applications/magento-1/how-to-enable-clean-urls-for-magento.md b/docs/ecommerce-applications/magento-1/how-to-enable-clean-urls-for-magento.md index 702ab1b1..57adc704 100644 --- a/docs/ecommerce-applications/magento-1/how-to-enable-clean-urls-for-magento.md +++ b/docs/ecommerce-applications/magento-1/how-to-enable-clean-urls-for-magento.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: "Clean URL's are less intimidating to visitors and have a positive\ - \ effect on search index optimization (SEO) as well. Find out how to enable\ - \ them here. " + description: To make use of clean URLs in Magento 1, all you need to do is adjust + the Search Engines Optimization setting in the backend. Follow these steps! + title: How to enable clean urls for Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-enable-clean-url-s-for-magento-1/ --- diff --git a/docs/ecommerce-applications/magento-1/how-to-enable-mysql-query-logging-for-magento-1-x.md b/docs/ecommerce-applications/magento-1/how-to-enable-mysql-query-logging-for-magento-1-x.md index b5488a37..5af2f9c4 100644 --- a/docs/ecommerce-applications/magento-1/how-to-enable-mysql-query-logging-for-magento-1-x.md +++ b/docs/ecommerce-applications/magento-1/how-to-enable-mysql-query-logging-for-magento-1-x.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: When debugging performance issues, it might be useful to log all - database queries to a log file. Find out here how to enable MySQL Query logging - for Magento 1. + description: Sometimes when debugging complex performance issues, it can be useful + to log all database queries to a log file. Learn how to do this in Magento 1. + title: How to enable MySQL query logging for Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-enable-mysql-query-logging-for-magento-1-x/ --- diff --git a/docs/ecommerce-applications/magento-1/how-to-enable-the-magento-1-api.md b/docs/ecommerce-applications/magento-1/how-to-enable-the-magento-1-api.md index 3bb68196..ec634a94 100644 --- a/docs/ecommerce-applications/magento-1/how-to-enable-the-magento-1-api.md +++ b/docs/ecommerce-applications/magento-1/how-to-enable-the-magento-1-api.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'In this article you can find how to enable the Magento 1 API on - Hypernode by creating correct users (and code to solve 404 errors). ' + description: Due to clean-url-rewrites, that can result in a 404 error, some additional + configuration is required to make use of the Magento 1 API. + title: How to enable the Magento 1 API? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-enable-the-magento-1-api/ --- @@ -30,4 +33,4 @@ location /api { } ``` -NB: If you don’t want to update IP addresses in all config files with every change of IP address, you can choose to use [**include files**](https://support.hypernode.com/knowledgebase/create-reusable-config-for-custom-snippets/). +NB: If you don’t want to update IP addresses in all config files with every change of IP address, you can choose to use [**include files**](../../hypernode-platform/nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets.md). diff --git a/docs/ecommerce-applications/magento-1/how-to-enable-the-maintenance-mode-in-magento-1.md b/docs/ecommerce-applications/magento-1/how-to-enable-the-maintenance-mode-in-magento-1.md index 340e108d..9726b522 100644 --- a/docs/ecommerce-applications/magento-1/how-to-enable-the-maintenance-mode-in-magento-1.md +++ b/docs/ecommerce-applications/magento-1/how-to-enable-the-maintenance-mode-in-magento-1.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: Maintenance mode is a shortcut to serve a temporary error notification - to all customers. Find here how to enable it in Magento 1. + description: Shop owners want to perform upgrades, install extensions or do the + necessary maintenance on a shop. For this you use Maintenance Mode in Magento + 1. + title: How to enable maintenance mode in Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-enable-the-maintenance-mode-in-magento-1/ --- diff --git a/docs/ecommerce-applications/magento-1/how-to-fix-soap-error-parsing-wsdl-couldnt-load-from-failed-to-load-external-entity.md b/docs/ecommerce-applications/magento-1/how-to-fix-soap-error-parsing-wsdl-couldnt-load-from-failed-to-load-external-entity.md index ef11ee3e..741a6181 100644 --- a/docs/ecommerce-applications/magento-1/how-to-fix-soap-error-parsing-wsdl-couldnt-load-from-failed-to-load-external-entity.md +++ b/docs/ecommerce-applications/magento-1/how-to-fix-soap-error-parsing-wsdl-couldnt-load-from-failed-to-load-external-entity.md @@ -1,9 +1,13 @@ --- myst: html_meta: - description: "Get errors like these when trying to perform HTTP requests: \"Parsing\ - \ WSDL: Couldn’t load from ”: failed to load external entity\"? Here's how to\ - \ Fix SOAP errors." + description: If you get this error, some configuration or error is with withholding + the Magento installation from connecting to its API endpoint. Learn how to revolve + it. + title: How to fix SOAP error in Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-fix-soap-error-parsing-wsdl-couldn-t-load-from-failed-to-load-external-entity/ + - /knowledgebase/soap-error-parsing-wsdl-couldnt-load-failed-load-external-entity/ --- @@ -41,7 +45,7 @@ If you are not able to `curl` for the WSDL, chances are high that this may be th ## Check If the User Agent of the SOAP Client Is Rate Limited -If the source IP of the SOAP client is [rate limited](https://support.hypernode.com/knowledgebase/resolving-429-many-requests/), find the corresponding rate limit `zone` in `/var/log/nginx/access.log` and add the user agent to the user agent mapping or the IP rate limit whitelist. +If the source IP of the SOAP client is [rate limited](../../hypernode-platform/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md), find the corresponding rate limit `zone` in `/var/log/nginx/access.log` and add the user agent to the user agent mapping or the IP rate limit whitelist. ## Check If the IP of the Server Is Allowed to Make HTTP Requests diff --git a/docs/ecommerce-applications/magento-1/how-to-flush-the-magento-1-x-caches.md b/docs/ecommerce-applications/magento-1/how-to-flush-the-magento-1-x-caches.md index 9e2bec16..71b6fefe 100644 --- a/docs/ecommerce-applications/magento-1/how-to-flush-the-magento-1-x-caches.md +++ b/docs/ecommerce-applications/magento-1/how-to-flush-the-magento-1-x-caches.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'There are different ways to flush your Magento 1.x caches, via the - commandline or the backend for example. Read instructions per way in this article. ' + description: There are multiple ways to flush your caches in Magento 1.x. Learn + how to flush your cache via the Magento backend or the Commandline. + title: How to flush Magento 1 caches? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-flush-the-magento-1-x-caches/ --- diff --git a/docs/ecommerce-applications/magento-1/how-to-flush-the-wsdl-cache.md b/docs/ecommerce-applications/magento-1/how-to-flush-the-wsdl-cache.md index a2ec74e5..9bb83273 100644 --- a/docs/ecommerce-applications/magento-1/how-to-flush-the-wsdl-cache.md +++ b/docs/ecommerce-applications/magento-1/how-to-flush-the-wsdl-cache.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: The WSDL cache is used for API soap calls to Magento. Read here how - to flush it in case of corruptions causing errors on all API calls to Magento. + description: The WSDL cache is used for API soap calls to Magento. In some very + rare cases this cache can get corrupted, causing errors on all API calls to + Magento. + title: How to flush the WSDL cache in Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-flush-the-wsdl-cache/ --- @@ -21,4 +25,4 @@ This can be resolved in some cases by removing the WSDL cache file so this file rm /tmp/wsdl-* ``` -**NB: This does not solve the following error: `SOAP error: Parsing WSDL: Couldn’t load from "": failed to load external entity.` This error is related to [Magento not being able to access it’s own API](https://support.hypernode.com/knowledgebase/soap-error-parsing-wsdl-couldnt-load-failed-load-external-entity/)** +**NB: This does not solve the following error: `SOAP error: Parsing WSDL: Couldn’t load from "": failed to load external entity.` This error is related to [Magento not being able to access its own API](../../ecommerce-applications/magento-1/how-to-fix-soap-error-parsing-wsdl-couldnt-load-from-failed-to-load-external-entity.md)** diff --git a/docs/ecommerce-applications/magento-1/how-to-install-magento-1-on-hypernode.md b/docs/ecommerce-applications/magento-1/how-to-install-magento-1-on-hypernode.md index d3ae89f6..a6f5486c 100644 --- a/docs/ecommerce-applications/magento-1/how-to-install-magento-1-on-hypernode.md +++ b/docs/ecommerce-applications/magento-1/how-to-install-magento-1-on-hypernode.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Starting over and in need of a fresh Magento 1 installation? Follow - the steps in this article to install a Magento 1 installation on Hypernode. + description: Although Magento 1 has been End of Life since June 30 2020, it is + still possible to host your Magento 1 store at Hypernode by using OpenMage. + title: How to install Magento 1 on Hypernode? +redirect_from: + - /en/ecommerce/magento-1/how-to-install-magento-1-on-hypernode/ --- @@ -11,13 +14,13 @@ myst: Although Magento 1 has been End of Life since June 30 2020, it is still possible to host your Magento 1 store at Hypernode by using OpenMage. OpenMage is a free of charge fork of Magento 1, and allows store owners to continue the use of Magento 1 as a stable and secure eCommerce platform for the next years to come. -OpenMage can be installed by using their [documentation](https://www.openmage.org/magento-lts/install.html). Don't implement OpenMage on production nodes without testing OpenMage first on a [Development plan](https://support.hypernode.com/en/hypernode/tools/how-to-use-hypernode-development-plans). +OpenMage can be installed by using their [documentation](https://www.openmage.org/magento-lts/install.html). Don't implement OpenMage on production nodes without testing OpenMage first on a [Development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md). -Would you rather install the officially supported Magento 2? Installing Magento 2 on Hypernode can be done by following the steps in the article: [Installing Magento 2 on Hypernode](https://support.hypernode.com/en/ecommerce/magento-2/how-to-install-magento-2-on-hypernode) +Would you rather install the officially supported Magento 2? Installing Magento 2 on Hypernode can be done by following the steps in the article: [Installing Magento 2 on Hypernode](../../ecommerce-applications/magento-2/how-to-install-magento-2-on-hypernode.md) ## Cleaning up existing installed software -Before you can install Magento, you first need to ensure you've removed any and all applications installed in /data/web/magento2, or /data/web/public. More information on how to do so can be found in [our documentation about deleting your Magento installation](https://support.hypernode.com/knowledgebase/remove-magento-installation/). +Before you can install Magento, you first need to ensure you've removed any and all applications installed in /data/web/magento2, or /data/web/public. More information on how to do so can be found in [our documentation about deleting your Magento installation](../../ecommerce-applications/magento-1/how-to-remove-your-magento-1-x-installation.md). ## Install our Pre-installed Magento 1 version with ONE command @@ -41,7 +44,7 @@ app@example.hypernode.io:~$ ls -l /data/web/public ### Activate Magento 1 Mode -By default, your Hypernode is configured to use Magento 2. If you wish to instead use Magento 1, disable the [Magento 2 Mode](https://support.hypernode.com/en/ecommerce/magento-2/how-to-install-magento-2-on-hypernode#Activate-Magento-2-Mode). +By default, your Hypernode is configured to use Magento 2. If you wish to instead use Magento 1, disable the [Magento 2 Mode](../../ecommerce-applications/magento-2/how-to-install-magento-2-on-hypernode.md#activate-magento-2-mode). This disables the configuration that is only needed for Magento 2. To do this, run the following command @@ -49,7 +52,7 @@ This disables the configuration that is only needed for Magento 2. To do this, r rm ~/nginx/magento2.flag ``` -You will also need to [configure your vhost](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) to use the magento 1 configuration. +You will also need to [configure your vhost](../../hypernode-platform/nginx/hypernode-managed-vhosts.md) to use the magento 1 configuration. ```bash hypernode-manage-vhosts --type=magento1 example.hypernode.io @@ -113,7 +116,7 @@ magerun install - admin’s email - base url - After this, the script will install Magento for you. -- When the installation is finished, [flush your caches](https://support.hypernode.com/en/ecommerce/magento-1/how-to-flush-the-magento-1-x-caches). +- When the installation is finished, [flush your caches](../../ecommerce-applications/magento-1/how-to-flush-the-magento-1-x-caches.md). - When you’re asked if you want to write the base-url to your .htaccess file, press “n” and the script will reindex all data in your shop. - The installation is complete. @@ -123,12 +126,12 @@ Your shop will now be visible through your Hypernode URL. ### Configure Redis as Cache Backend -Follow the steps mentioned in the article [Configure Redis](https://support.hypernode.com/en/ecommerce/magento-1/how-to-configure-redis-for-magento-1) to configure Redis as your cache backend. +Follow the steps mentioned in the article [Configure Redis](../../ecommerce-applications/magento-1/how-to-configure-redis-for-magento-1.md) to configure Redis as your cache backend. ### Optional: Change Your Base URL -If you wish to change your Base URL, please follow our documentation on changing the [Base URL in Magento 1](https://support.hypernode.com/en/ecommerce/magento-1/how-to-change-the-base-url-in-magento-1-x). +If you wish to change your Base URL, please follow our documentation on changing the [Base URL in Magento 1](../../ecommerce-applications/magento-1/how-to-change-the-base-url-in-magento-1-x.md). ### Optional: Configure Lesti::FPC -If you’d like to use Lesti::FPC on Hypernode, please follow the steps mentioned in article [How to Configure Lesti::FPC](https://support.hypernode.com/en/hypernode/tools/how-to-configure-lesti-fpc). +If you’d like to use Lesti::FPC on Hypernode, please follow the steps mentioned in article [How to Configure Lesti::FPC](../../hypernode-platform/tools/how-to-configure-lesti-fpc.md). diff --git a/docs/ecommerce-applications/magento-1/how-to-remove-your-magento-1-x-installation.md b/docs/ecommerce-applications/magento-1/how-to-remove-your-magento-1-x-installation.md index 34fb63a6..018ffbb6 100644 --- a/docs/ecommerce-applications/magento-1/how-to-remove-your-magento-1-x-installation.md +++ b/docs/ecommerce-applications/magento-1/how-to-remove-your-magento-1-x-installation.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'Within this article you can find snippets, which can be used for - the removal of your Magento 1.x installation. ' + description: Although Magento 1 has been End of Life, it is still possible to + host your Magento 1 store at Hypernode by using OpenMage. Learn how in this + article. + title: How to remove your Magento 1 installation? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-remove-your-magento-1-x-installation/ --- diff --git a/docs/ecommerce-applications/magento-1/how-to-reset-your-magento-1-x-admin-password.md b/docs/ecommerce-applications/magento-1/how-to-reset-your-magento-1-x-admin-password.md index eafecaba..ecfd7012 100644 --- a/docs/ecommerce-applications/magento-1/how-to-reset-your-magento-1-x-admin-password.md +++ b/docs/ecommerce-applications/magento-1/how-to-reset-your-magento-1-x-admin-password.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: If you are unable to login to your Magento shop, you have several - methods to retrieve a new password to log back in. Check out here how to reset - your password. + description: If you are unable to log in to your Magento 1 shop, you have several + methods to retrieve a new password to log back in. All methods can be found + in this article. + title: How to reset your Magento 1 admin password? | Hypernode +redirect_from: + - /en/support/solutions/articles/48000970831-how-to-reset-your-magento-1-x-admin-password/ --- diff --git a/docs/ecommerce-applications/magento-1/how-to-set-magento-1-x-to-the-utc-timezone.md b/docs/ecommerce-applications/magento-1/how-to-set-magento-1-x-to-the-utc-timezone.md index bcc4b83a..ecc1d681 100644 --- a/docs/ecommerce-applications/magento-1/how-to-set-magento-1-x-to-the-utc-timezone.md +++ b/docs/ecommerce-applications/magento-1/how-to-set-magento-1-x-to-the-utc-timezone.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: If you want to work with a different timezone setting or show a different - timezone setting to your customers, check out how change the timezone on Magento - 1.x. + description: Because Hypernode is hosted in the Cloud, the system timezone is + set to UTC. Magento 1 should operate on the same timezone as the server. Learn + how! + title: How to set Magento 1 to the UTC timezone? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-set-magento-1-x-to-the-utc-timezone/ --- diff --git a/docs/ecommerce-applications/magento-1/how-to-set-the-return-path-for-a-magento-1-shop.md b/docs/ecommerce-applications/magento-1/how-to-set-the-return-path-for-a-magento-1-shop.md index 48137c62..eda5f693 100644 --- a/docs/ecommerce-applications/magento-1/how-to-set-the-return-path-for-a-magento-1-shop.md +++ b/docs/ecommerce-applications/magento-1/how-to-set-the-return-path-for-a-magento-1-shop.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: To avoid outgoing email being detected as spam, you should change - the email return-path for your outgoing email to a valid address. Check here - how to do so. + description: To avoid outgoing email being detected as spam in Magento 1, you + should change the email return-path for your outgoing email to a valid email + address. + title: How to set the return path for Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-set-the-return-path-for-a-magento-1-shop/ --- diff --git a/docs/ecommerce-applications/magento-1/how-to-set-up-a-staging-environment-for-magento-1.md b/docs/ecommerce-applications/magento-1/how-to-set-up-a-staging-environment-for-magento-1.md index 38757d51..f4ffff93 100644 --- a/docs/ecommerce-applications/magento-1/how-to-set-up-a-staging-environment-for-magento-1.md +++ b/docs/ecommerce-applications/magento-1/how-to-set-up-a-staging-environment-for-magento-1.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: A staging environment is very useful to test your shop. In this article - we explain how to set up a staging environment on Hypernode for a Magento 1 - shop. + description: This article explains how you set up a staging environment on Hypernode + for a Magento 1 shop. Follow the steps mentioned in this article. + title: How to set up a staging environment for Magento 1? | Hypernode +redirect_from: + - /en/ecommerce/magento-1/how-to-set-up-a-staging-environment-for-magento-1/ --- @@ -20,7 +22,7 @@ This article explains how you set one up on Hypernode for a Magento 1 shop. Keep in mind: -- Your staging environment **shares resources** (disk, CPU, memory) with your production site. If you want to do things such as automated load tests, it is recommended to order a [development plan](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/) instead, so your production site will not be affected. +- Your staging environment **shares resources** (disk, CPU, memory) with your production site. If you want to do things such as automated load tests, it is recommended to order a [development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) instead, so your production site will not be affected. - We don't recommend creating hardlinks from your production media folder to your staging media folder as our backup mechanism does not cope well with hardlinks. ## How Does it Work @@ -150,7 +152,7 @@ htpasswd -bc /data/web/htpasswd-staging hypernode hypernode ``` -Read more [here](https://support.hypernode.com/knowledgebase/protect-a-directory-with-a-password-in-nginx/)about using HTTP basic authentication on Hypernode. +Read more [here](../../hypernode-platform/nginx/how-to-protect-your-magento-store-with-a-password-in-nginx.md) about using HTTP basic authentication on Hypernode. ## Nginx Configuration diff --git a/docs/ecommerce-applications/magento-2.md b/docs/ecommerce-applications/magento-2.md index d7b32654..1d0315a7 100644 --- a/docs/ecommerce-applications/magento-2.md +++ b/docs/ecommerce-applications/magento-2.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that tell you more about Magento 2. + title: Magento 2 on Hypernode | Everything you need to know +redirect_from: + - /en/ecommerce/magento-2/ +--- + # Magento 2 ```{toctree} diff --git a/docs/ecommerce-applications/magento-2/how-to-change-your-magento-2-base-urls.md b/docs/ecommerce-applications/magento-2/how-to-change-your-magento-2-base-urls.md index 455243c5..b71607b3 100644 --- a/docs/ecommerce-applications/magento-2/how-to-change-your-magento-2-base-urls.md +++ b/docs/ecommerce-applications/magento-2/how-to-change-your-magento-2-base-urls.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: There are several ways to configure the base_url settings of your - Magento 2 shop. Find detailed instructions on the different ways here. + description: There are several ways to change the Base URL of your Magento 2.x + storefronts. In this article we provide you with instructions for each of these + ways. + title: How to change the base url in Magento 2? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-change-your-magento-2-base-urls/ --- @@ -41,13 +45,13 @@ To clear your caches, click the big orange button at the top of the page: ### Configure Your Base URLs Using PHPmyAdmin -As changing the base URLs using PHPmyAdmin works the same for both Magento 1 and Magento 2, take a look at [the Magento 1 article about changing base URLs](https://support.hypernode.com/knowledgebase/change-baseurl-magento1/#Configure_your_base_URLs_usingphpMyAdmin). +As changing the base URLs using PHPmyAdmin works the same for both Magento 1 and Magento 2, take a look at [the Magento 1 article about changing base URLs](../../ecommerce-applications/magento-1/how-to-change-the-base-url-in-magento-1-x.md#change-the-base-url-via-phpmyadmin). ## Configuring Your Base URLs Using SSH ### Change Base URLs Settings With MySQL From the Command Line -To change your base URLs using plain MySQL queries, you can use exactly the same commands as described in [the Magento 1 article](https://support.hypernode.com/knowledgebase/change-baseurl-magento1/#Change_base_URL8217s_settings_with_mysql_from_the_command_line). +To change your base URLs using plain MySQL queries, you can use exactly the same commands as described in [the Magento 1 article](../../ecommerce-applications/magento-1/how-to-change-the-base-url-in-magento-1-x.md#change-the-base-urls-directly-in-mysql-from-the-commandline). ### Change Your Base URL Using n98-magerun2 diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-redis-for-magento-2.md b/docs/ecommerce-applications/magento-2/how-to-configure-redis-for-magento-2.md index 8f4929c7..e2be200f 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-redis-for-magento-2.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-redis-for-magento-2.md @@ -1,9 +1,14 @@ --- myst: html_meta: - description: Redis is a caching method which can increase the speed of the back- - and frontend of your shop. Here's how to configure it on Magento 2 and how redis-cli - works. + description: This article will explain how to configure Redis on your Magento + 2 shop on Hypernode and how to work with redis-cli. + title: How to configure Redis for Magento 2? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-configure-redis-for-magento-2/ + - /knowledgebase/configure-sessions-redis-magento2/ + - /knowledgebase/configure-redis-magento2/ + - /knowledgebase/setup-php-redis-admin-manage-redis-caches/ --- @@ -12,7 +17,7 @@ myst: Redis is a caching method which can increase the speed of the backend and frontend of your shop. On Hypernode every customer has access to Redis cache, starting from 64 MB, depending on the plan. This article will explain how to configure Redis on your Magento 2 shop on Hypernode and how to work with redis-cli. -Want to know how to configure Redis in Magento 1? Have a look at [this article](https://support.hypernode.com/en/ecommerce/magento-1/how-to-configure-redis-for-magento-1)! +Want to know how to configure Redis in Magento 1? Have a look at [this article](../../ecommerce-applications/magento-1/how-to-configure-redis-for-magento-1.md)! ## Configure Redis Cache for Magento 2 @@ -177,4 +182,4 @@ A more extended how-to about configuring Redis caches can be found on the [Magen As you know, the sessions of your webshop can also be stored in Redis. If you use Redis caching and store the sessions in Redis as well, you'll have to share the available Redis memory. This shouldn't be a problem on a regular basis, however we've seen scenarios wherein a shop stores its sessions in Redis and had some aggressive bots/crawlers visiting the shop. This resulted in a much larger amount of sessions to be stored in Redis than usual which is causing the Redis memory to fill up in no time, and crashes Redis. -You can check the bot traffic on your shop at any time on MageReport. If you want to get a more detailed insight in the bot traffic you can use the command `pnl --yesterday --php --bots --fields ua | sort | uniq -c | sort -n`to get an overview of the top 10 bots that visited your webshop yesterday. For more information about abuse bot check our [article](https://support.hypernode.com/knowledgebase/fixing-bad-performance-caused-by-search-engines/). +You can check the bot traffic on your shop at any time on MageReport. If you want to get a more detailed insight in the bot traffic you can use the command `pnl --yesterday --php --bots --fields ua | sort | uniq -c | sort -n`to get an overview of the top 10 bots that visited your webshop yesterday. For more information about abuse bot check our [article](../../best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers.md). diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-varnish-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-varnish-for-magento-2-x.md index ab3917dc..aea792ab 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-varnish-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-varnish-for-magento-2-x.md @@ -1,23 +1,26 @@ --- myst: html_meta: - description: This article explains how you can configure Varnish for your Hypernode - in order to boost your Magento 2.x shop. + description: Varnish is a complex technique that needs some experience to set + it up. This article explains how you can configure Varnish 4 or 6 for your Hypernode. + title: How to configure Varnish for Magento 2? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-configure-varnish-for-magento-2-x/ --- # How to Configure Varnish for Magento 2.x -Customers with Hypernode Pelican, Falcon (formerly known as Professional) and Eagle (formerly known as Excellence plans can use Varnish to boost their Magento shop. This article explains how you can configure Varnish 4 or 6 for your Hypernode. If you want to know which Varnish version you need to configure, please check the [Magento documentation](https://devdocs.magento.com/guides/v2.4/install-gde/system-requirements.html) first. Do you have a Magento 1 shop, please check [this article](https://support.hypernode.com/knowledgebase/varnish-on-magento1/). +Customers with Hypernode Pelican, Falcon (formerly known as Professional) and Eagle (formerly known as Excellence plans can use Varnish to boost their Magento shop. This article explains how you can configure Varnish 4 or 6 for your Hypernode. If you want to know which Varnish version you need to configure, please check the [Magento documentation](https://devdocs.magento.com/guides/v2.4/install-gde/system-requirements.html) first. Do you have a Magento 1 shop, please check [this article](../../ecommerce-applications/magento-1/how-to-configure-varnish-for-magento-1-x.md). -Although Varnish is extremely awesome when it get's to speeding up websites, Varnish is a complex technique that needs some experience to set it up. Don't implement varnish on production nodes without testing Varnish first on a [development node](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/) or the [Hypernode Docker](https://support.hypernode.com/en/best-practices/testing/hypernode-docker). +Although Varnish is extremely awesome when it get's to speeding up websites, Varnish is a complex technique that needs some experience to set it up. Don't implement varnish on production nodes without testing Varnish first on a [development node](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) or the [Hypernode Docker](../../best-practices/testing/hypernode-docker.md). ## Enable Varnish 4.0 or 6.0 for Magento 2.x As Magento 2 supports Varnish out of the box, there is no need for the turpentine extension anymore in Magento 2. Simply follow the steps below to configure Varnish 4.0 or 6.0 for Magento 2. -**First configure the Varnish version (4.0 or 6.0) via the [hypernode-systemctl tool](https://support.hypernode.com/knowledgebase/hypernode-systemctl-cli-tool/)** +**First configure the Varnish version (4.0 or 6.0) via the [hypernode-systemctl tool](../../hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md)** ```console $ hypernode-systemctl settings varnish_version 4.0 @@ -29,7 +32,7 @@ $ hypernode-systemctl settings varnish_version 4.0 $ hypernode-systemctl settings varnish_version 6.0 ``` -**Enable Varnish via the [hypernode-systemctl tool](https://support.hypernode.com/knowledgebase/hypernode-systemctl-cli-tool/)** +**Enable Varnish via the [hypernode-systemctl tool](../../hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md)** ```console $ hypernode-systemctl settings varnish_enabled true @@ -197,7 +200,7 @@ In our experience the by default generated .vcl from your Magento backend often ## Troubleshooting - If you are receiving `Permission denied` errors while running `varnishadm` or other Varnish CLI commands, and you have just activated Varnish, close any existing ssh sessions, and log back in to reload your updated permissions. -- If your Varnish setup is not working over SSL, check [this article](https://support.hypernode.com/en/hypernode/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-byte-nl#Redirecting-to-HTTPS-When-Using-Varnish) +- If your Varnish setup is not working over SSL, check [this article](../../hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-com.md#redirecting-to-https-when-using-varnish) ### 502 Errors diff --git a/docs/ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md index 60d93f4d..9d9977d1 100644 --- a/docs/ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: Using a robots.txt is essential to handle bots and crawlers. In this - article we explain how to generate and configure Robot.txt on Magento 2.x. + description: In this article we explain how to configure your Hypernode to serve + a robots.txt for one or multiple storefronts in Magento 2. + title: How to create robots.txt for Magento 2? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-create-a-robots-txt-for-magento-2-x/ + - /knowledgebase/create-robots-txt-magento-2/ --- diff --git a/docs/ecommerce-applications/magento-2/how-to-create-a-sitemap-xml-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-create-a-sitemap-xml-for-magento-2-x.md index c85fa5f8..54e600aa 100644 --- a/docs/ecommerce-applications/magento-2/how-to-create-a-sitemap-xml-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-create-a-sitemap-xml-for-magento-2-x.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Find detailed guidelines on how to create a sitemap.xml for Magento - 2.x versions here. + description: This article explains how to enable a sitemap.xml in Magento 2 and + how to configure NGINX to Use the Same Sitemap for All Storefronts. + title: How to create a sitemap xml for Magento 2? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-create-a-sitemap-xml-for-magento-2-x/ --- @@ -116,7 +119,7 @@ When you can successfully request your sitemap.xml, add it to your `robots.txt`: Sitemap: http://www.example.com/sitemap.xml ``` -You can add the sitemap manually or use the generated robots.txt Magento 2 provides. If you use the generated robots.txt, keep in mind all manual changes will be overwritten when you save your changes in the Magento admin. For configuring a `robots.txt` in Magento 2, have a look at [this article](https://support.hypernode.com/en/ecommerce/magento-2/how-to-create-a-robots-txt-for-magento-2-x). +You can add the sitemap manually or use the generated robots.txt Magento 2 provides. If you use the generated robots.txt, keep in mind all manual changes will be overwritten when you save your changes in the Magento admin. For configuring a `robots.txt` in Magento 2, have a look at [this article](../../ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md). ## Troubleshooting diff --git a/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-api.md b/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-api.md index de236edf..16d62b78 100644 --- a/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-api.md +++ b/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-api.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'In this article you can find how to enable the Magento 2 API on - Hypernode by creating correct users (and code to solve 404 errors). ' + description: Due to clean-url-rewrites, that can result in a 404 error, some additional + configuration is required to make use of the Magento 2 API. + title: How to enable the Magento 2 API? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-enable-the-magento-2-api/ + - /knowledgebase/enable-magento-api/ --- @@ -32,4 +36,4 @@ location /api { } ``` -NB: If you don’t want to update IP addresses in all config files with every change of IP address, you can choose to use [**include files**](https://support.hypernode.com/knowledgebase/create-reusable-config-for-custom-snippets/). +NB: If you don’t want to update IP addresses in all config files with every change of IP address, you can choose to use [**include files**](../../hypernode-platform/nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets.md). diff --git a/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-web-setup-wizard.md b/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-web-setup-wizard.md index 2f885e03..8b262213 100644 --- a/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-web-setup-wizard.md +++ b/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-web-setup-wizard.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: In this article, we explain how to configure and deconfigure the - Web Setup Wizard for your Magento 2 shop. + description: There are many open issues on the Magento 2 Github repository regarding + the usage of the Magento 2 Web Setup Wizard. More details in this article. + title: How to enable the Magento 2 web setup wizard? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-enable-the-magento-2-web-setup-wizard/ + - /knowledgebase/using-magento-2-web-setup-wizard/ --- diff --git a/docs/ecommerce-applications/magento-2/how-to-enable-the-maintenance-mode-in-magento-2.md b/docs/ecommerce-applications/magento-2/how-to-enable-the-maintenance-mode-in-magento-2.md index 6967b0f0..8ee6c96d 100644 --- a/docs/ecommerce-applications/magento-2/how-to-enable-the-maintenance-mode-in-magento-2.md +++ b/docs/ecommerce-applications/magento-2/how-to-enable-the-maintenance-mode-in-magento-2.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: Maintenance mode is a shortcut to serve a temporary error notification - to all customers. Find here how to enable it in Magento 2. + description: Shop owners want to perform upgrades, install extensions or do the + necessary maintenance on a shop. For this you use Maintenance Mode in Magento + 2. + title: How to enable maintenance mode in Magento 2? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-enable-the-maintenance-mode-in-magento-2/ --- diff --git a/docs/ecommerce-applications/magento-2/how-to-fix-the-general-error-1030-got-error-1-from-storage-engine.md b/docs/ecommerce-applications/magento-2/how-to-fix-the-general-error-1030-got-error-1-from-storage-engine.md index e8f96dc8..93151eb0 100644 --- a/docs/ecommerce-applications/magento-2/how-to-fix-the-general-error-1030-got-error-1-from-storage-engine.md +++ b/docs/ecommerce-applications/magento-2/how-to-fix-the-general-error-1030-got-error-1-from-storage-engine.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'This article describes how to fix the "General error: 1030 Got error - 1 from storage engine" on your Hypernode.' + description: You can simply follow the instructions in this article to make sure + that all the categories and products will be visible again on the frontend of + your webshop. + title: How to fix the general error 1030 in Magento 2? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-fix-the-general-error-1030-got-error-1-from-storage-engine/ --- @@ -13,7 +17,7 @@ myst: In some very rare occassions an up- or downgrade results in some of your categories and/or product not showing on the frontend of your webshop. When this happens you will usually come across an error like the one below in `/data/web/magento2/var/report/1234567890`: -```nginx +```console app@83f0vz-jesper-magweb-cmbl:/data/web/magento2/var/report$ cat 191158599534 {"0":"SQLSTATE[HY000]: General error: 1030 Got error 1 from storage engine, query was: SELECT `main_table`.*, count(main_table.value) AS `count` FROM (SELECT `main_table`.`category_id` AS `value` FROM `catalog_category_product_index_store1` AS `main_table`\n INNER JOIN `search_tmp_5fbf5581f1df68_75800387` AS `entities` ON main_table.product_id = entities.entity_id\n INNER JOIN `catalog_category_entity` A ``` diff --git a/docs/ecommerce-applications/magento-2/how-to-flush-the-magento-2-x-caches.md b/docs/ecommerce-applications/magento-2/how-to-flush-the-magento-2-x-caches.md index 7f98e00d..c743a773 100644 --- a/docs/ecommerce-applications/magento-2/how-to-flush-the-magento-2-x-caches.md +++ b/docs/ecommerce-applications/magento-2/how-to-flush-the-magento-2-x-caches.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'There are different ways to flush your Magento 2.x caches, via the - commandline or the backend for example. Read instructions per way in this article. ' + description: There are multiple ways to flush your caches in Magento 2.x. Learn + how to flush your cache via the Magento backend or the Commandline. + title: How to flush Magento 2 caches? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-flush-the-magento-2-x-caches/ + - /knowledgebase/magento-cache-management/ --- diff --git a/docs/ecommerce-applications/magento-2/how-to-install-magento-2-on-hypernode.md b/docs/ecommerce-applications/magento-2/how-to-install-magento-2-on-hypernode.md index 18f60ba2..e0c1b92b 100644 --- a/docs/ecommerce-applications/magento-2/how-to-install-magento-2-on-hypernode.md +++ b/docs/ecommerce-applications/magento-2/how-to-install-magento-2-on-hypernode.md @@ -1,21 +1,26 @@ --- myst: html_meta: - description: Follow the steps in this article to install a Magento 2 installation - on Hypernode. It will only take you 5-10 minutes. + description: Learn how to install Magento 2 on Hypernode. It requires preferably + a Falcon M hosting plan or bigger and will take only 5-10 minutes. + title: How to install Magento 2 on Hypernode? +redirect_from: + - /en/ecommerce/magento-2/how-to-install-magento-2-on-hypernode/ + - /knowledgebase/installing-magento-on-hypernode/ + - /knowledgebase/installing-magento-2-on-hypernode --- # How to Install Magento 2 on Hypernode -Magento 2 requires preferably a Falcon M hosting plan or bigger. Want to [install Magento 1](https://support.hypernode.com/knowledgebase/installing-magento-on-hypernode/) instead? +Magento 2 requires preferably a Falcon M hosting plan or bigger. Want to [install Magento 1](../magento-1/how-to-install-magento-1-on-hypernode.md) instead? Installing Magento 2 will take only 5-10 minutes (add 15 minutes if you want the sample data). ## Upgrade Your PHP Version -**Before installing Magento,**[**change your PHP version**](https://support.hypernode.com/knowledgebase/php-versions-magento-shop-hypernode/#How_to_change_a_PHP_version_on_Hypernode)**to php7.1 or higher** +**Before installing Magento,**[**change your PHP version**](../../hypernode-platform/php/supported-php-versions-and-how-to-change-them-on-hypernode.md#changing-the-php-version-you-use-on-hypernode)**to php7.1 or higher** Some vendor libraries are not compatible with older PHP version anymore, causing errors during the installation. @@ -130,7 +135,7 @@ rm --dir /data/web/public ln -s /data/web/magento2/pub /data/web/public ``` -### Build Static Assets (CSS & JS) +### Build Static Assets ``` cd ~/magento2 diff --git a/docs/ecommerce-applications/magento-2/how-to-optimize-magento-2-queue-consumers-on-hypernode.md b/docs/ecommerce-applications/magento-2/how-to-optimize-magento-2-queue-consumers-on-hypernode.md index b829e3e2..1cd2be4d 100644 --- a/docs/ecommerce-applications/magento-2/how-to-optimize-magento-2-queue-consumers-on-hypernode.md +++ b/docs/ecommerce-applications/magento-2/how-to-optimize-magento-2-queue-consumers-on-hypernode.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: If your Magento 2 Cron is stuck or long-running this could be because - of a default setting in Magento 2 causing the consumers to never end. Here's - the fix. + description: 'If your Magento 2 Cron is stuck or long-running this could be because + of a default setting in Magento 2 causing the consumers to never end. ' + title: How to optimize Magento 2 queue consumers? | Hypernode +redirect_from: + - /en/support/solutions/articles/48001186343-how-to-optimize-magento-2-queue-consumers-on-hypernode/ --- diff --git a/docs/ecommerce-applications/magento-2/how-to-protect-the-magento-2-api.md b/docs/ecommerce-applications/magento-2/how-to-protect-the-magento-2-api.md index 3f658cfe..2cdc12cf 100644 --- a/docs/ecommerce-applications/magento-2/how-to-protect-the-magento-2-api.md +++ b/docs/ecommerce-applications/magento-2/how-to-protect-the-magento-2-api.md @@ -1,8 +1,21 @@ +--- +myst: + html_meta: + description: Hypernode has protected unauthorized access for specific API methods + for all our customers. Not hosted on Hypernode? Follow these instructions! + title: How to protect the Magento 2 API? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-protect-the-magento-2-api/ + - /knowledgebase/protecting-the-magento-2-api/ +--- + # How to Protect the Magento 2 API -**The Magento team released security update**[**Magento 2.0.3**](https://magento.com/security/patches/magento-203-security-update)\*\*on March 30th 2017. This release contains a security fix that restricts access to anonymous web APIs.\*\*\*\*[Read more.](https://magento.com/security/best-practices/restricting-access-anonymous-web-apis)\*\***We recommend you to**[**update your Magento**](https://support.hypernode.com/en/ecommerce/magento-2/how-to-update-magento-2)**version to Magento 2.0.3 instead of blocking the API.** +```{note} +The Magento team released security update [Magento 2.0.3](https://magento.com/security/patches/magento-203-security-update) on March 30th 2017. This release contains a security fix that restricts access to anonymous web APIs. [Read more.](https://magento.com/security/best-practices/restricting-access-anonymous-web-apis) We recommend you to [update your Magento](how-to-update-magento-2.md) version to Magento 2.0.3 instead of blocking the API. +``` In March 2016, Paul Bosselaar and others discovered that the Magento 2 API by default discloses information that can be considered private: @@ -30,9 +43,9 @@ If you need to allow one or more of these URLs to be accessable, you can easily Modify the lines of the following block: -``` +```nginx location ~ ^/(pub/)?(rest|soap)(/.+)?/V1/(products|store/storeViews|store/storeConfigs)/?$ { - return https://support.hypernode.com/knowledgebase/protecting-the-magento-2-api/; + return https://support.hypernode.com/knowledgebase/protecting-the-magento-2-api/; } ``` @@ -40,11 +53,12 @@ When full access to the API is needed, the easiest way to do this is done with ` If you do not require the API, it is recommended to block it entirely. Edit the file `/data/web/nginx/server.magento2api`, remove all lines and add -``` -location ~ ^/(pub/)?(rest|soap)/ { return 403; +```nginx +location ~ ^/(pub/)?(rest|soap)/ { + return 403; } ``` -## I 'm Not a Hypernode User +## I'm Not a Hypernode User You will need to do some extra work yourself. First, contact your hosting provider and ask them to help you. Otherwise you can block the API using .htaccess in case of Apache. Perhaps the Nginx rules above might work, but we do not provide support on them for non-Hypernode environments. Good luck! diff --git a/docs/ecommerce-applications/magento-2/how-to-remove-your-magento-2-x-installation.md b/docs/ecommerce-applications/magento-2/how-to-remove-your-magento-2-x-installation.md index 79ad8240..718acb80 100644 --- a/docs/ecommerce-applications/magento-2/how-to-remove-your-magento-2-x-installation.md +++ b/docs/ecommerce-applications/magento-2/how-to-remove-your-magento-2-x-installation.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'Within this article you can find snippets, which can be used for - the removal of your Magento 2.x installation. ' + description: The snippets in this article can be used to remove your Magento 2.x + installation(s). + title: How to remove your Magento 2 installation? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-remove-your-magento-2-x-installation/ + - https://support.hypernode.com/knowledgebase/remove-magento-installation/ --- diff --git a/docs/ecommerce-applications/magento-2/how-to-reset-your-magento-2-x-admin-password.md b/docs/ecommerce-applications/magento-2/how-to-reset-your-magento-2-x-admin-password.md index 2228f5ec..fed80e07 100644 --- a/docs/ecommerce-applications/magento-2/how-to-reset-your-magento-2-x-admin-password.md +++ b/docs/ecommerce-applications/magento-2/how-to-reset-your-magento-2-x-admin-password.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: If you are unable to login to your Magento 2.x shop, you have several - methods to retrieve a new password to log in. Check out here how to reset your - password. + description: If you are unable to login to your Magento 2 shop, you have several + methods to retrieve a new password to log back in. Find them here! + title: How to reset your Magento 2 admin password? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-reset-your-magento-2-x-admin-password/ --- diff --git a/docs/ecommerce-applications/magento-2/how-to-set-magento-2-x-to-the-utc-timezone.md b/docs/ecommerce-applications/magento-2/how-to-set-magento-2-x-to-the-utc-timezone.md index b2a4ba95..76f718ea 100644 --- a/docs/ecommerce-applications/magento-2/how-to-set-magento-2-x-to-the-utc-timezone.md +++ b/docs/ecommerce-applications/magento-2/how-to-set-magento-2-x-to-the-utc-timezone.md @@ -1,9 +1,13 @@ --- myst: html_meta: - description: If you want to work with a different timezone setting or show a different - timezone setting to your customers, check out how change the timezone on Magento - 2.x. + description: Because Hypernode is hosted in the Cloud, the system timezone is + set to UTC. Magento 2 should operate on the same timezone as the server. Learn + how! + title: How to set Magento 2 to the UTC timezone? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-set-magento-2-x-to-the-utc-timezone/ + - /knowledgebase/magento-utc-hypernode/ --- diff --git a/docs/ecommerce-applications/magento-2/how-to-set-mysql-variables-globally-on-hypernode.md b/docs/ecommerce-applications/magento-2/how-to-set-mysql-variables-globally-on-hypernode.md index 6c0c888f..9f4e0664 100644 --- a/docs/ecommerce-applications/magento-2/how-to-set-mysql-variables-globally-on-hypernode.md +++ b/docs/ecommerce-applications/magento-2/how-to-set-mysql-variables-globally-on-hypernode.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: This article explains how to set MySQL variables globally on Hypernode - by configuring the initStaments in the env.php file + description: You can set MySQL variables for Magento by editing the initStatements. + This way the variables won’t get lost after a MySQL restart or an upgrade. + title: How to set MySQL variables globally for Magento 2 | Hypernode +redirect_from: + - /en/support/solutions/articles/48001208261-how-to-set-mysql-variables-globally-on-hypernode/ --- diff --git a/docs/ecommerce-applications/magento-2/how-to-set-the-return-path-for-a-magento-2-shop.md b/docs/ecommerce-applications/magento-2/how-to-set-the-return-path-for-a-magento-2-shop.md index 0b62d65f..8a326931 100644 --- a/docs/ecommerce-applications/magento-2/how-to-set-the-return-path-for-a-magento-2-shop.md +++ b/docs/ecommerce-applications/magento-2/how-to-set-the-return-path-for-a-magento-2-shop.md @@ -1,9 +1,14 @@ --- myst: html_meta: - description: To avoid outgoing mail being detected as spam, you can change the - mail return-path for your outgoing email to a valid address. Here's how to do - so in Magento 2. + description: To avoid outgoing email being detected as spam in Magento 2, you + should change the email return-path for your outgoing email to a valid email + address. + title: How to set the return path for Magento 2? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-set-the-return-path-for-a-magento-2-shop/ + - /en/ecommerce/magento-2/workaround-return-path-email-bug-in-magento-2/ + - /knowledgebase/set-return-path-email-sent-from-magento-shop/ --- diff --git a/docs/ecommerce-applications/magento-2/how-to-set-up-a-basic-staging-environment-for-magento-2.md b/docs/ecommerce-applications/magento-2/how-to-set-up-a-basic-staging-environment-for-magento-2.md index 4972221a..2a7ca3fa 100644 --- a/docs/ecommerce-applications/magento-2/how-to-set-up-a-basic-staging-environment-for-magento-2.md +++ b/docs/ecommerce-applications/magento-2/how-to-set-up-a-basic-staging-environment-for-magento-2.md @@ -1,18 +1,21 @@ --- myst: html_meta: - description: A staging environment is very useful to test your shop. In this article - we explain how to set up a staging environment on Hypernode for a Magento 2 - shop. + description: This article explains how you set up a staging environment on Hypernode + for a Magento 2 shop. Follow the steps mentioned in this article. + title: How to set up a staging environment for Magento 2? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-set-up-a-basic-staging-environment-for-magento-2/ + - /knowledgebase/using-a-basic-staging-environment-magento2/ --- # How to Set Up a Basic Staging Environment for Magento 2 -This article is an extension to the [article for Magento 1](https://support.hypernode.com/en/ecommerce/magento-1/how-to-set-up-a-staging-environment-for-magento-1). For information about the capabilities of the staging environment, please read it first. +This article is an extension to the [article for Magento 1](../magento-1/how-to-set-up-a-staging-environment-for-magento-1.md). For information about the capabilities of the staging environment, please read it first. -Your staging environment **shares resources**(disk, CPU, memory) with your production site. If you want to do things such as automated load tests, it is recommended to order a [development plan](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/) instead, so your production site will not be affected. +Your staging environment **shares resources**(disk, CPU, memory) with your production site. If you want to do things such as automated load tests, it is recommended to order a [development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) instead, so your production site will not be affected. ## How to Make a Copy of a Live Site @@ -119,7 +122,7 @@ A big thank you to our partner [Experius](https://www.experius.nl/) for providin #### Manually Change the Base URL's of Your Storefronts -If you want to set the base URL's manually, check [our documentation](https://support.hypernode.com/a/solutions/articles/48000981301?lang=en)on changing your base URL's for Magento 1. Do you have a Magento 2 shop, please check [this article](https://support.hypernode.com/en/ecommerce/magento-2/how-to-change-your-magento-2-base-urls)on changing base URL's. +If you want to set the base URL's manually, check [our documentation](../magento-1/how-to-change-the-base-url-in-magento-1-x.md) on changing your base URL's for Magento 1. Do you have a Magento 2 shop, please check [this article](how-to-change-your-magento-2-base-urls.md) on changing base URL's. ### Step Seven: Change All References in Your Staging Directory @@ -127,7 +130,7 @@ If you want to set the base URL's manually, check [our documentation](https://su Keep in mind: -- Re-deploy your static files (clean out pub/static, and [deploy your static files](https://support.hypernode.com/knowledgebase/installing-magento-2-on-hypernode/#Build_static_assets_CSS_JS)\] +- Re-deploy your static files (clean out pub/static, and [deploy your static files](how-to-install-magento-2-on-hypernode.md#build-static-assets) - Find symlinks: `find /data/web/magento2_staging -type l -exec ls -lsa {} \;` - Grep for `/data/web/public` in your staging directory: `grep -R '/data/web/public' /data/web/staging` - Grep for `/data/web/magento2` in your staging directory: `grep -R '/data/web/magento2' /data/web/{staging,magento2_staging}` @@ -138,7 +141,7 @@ Keep in mind: Now you should be able to reach your Magento 2 staging environment on -For additional configuration and troubleshooting refer to the [Magento 1 staging environment article](https://support.hypernode.com/en/ecommerce/magento-1/how-to-set-up-a-staging-environment-for-magento-1) +For additional configuration and troubleshooting refer to the [Magento 1 staging environment article](../magento-1/how-to-set-up-a-staging-environment-for-magento-1.md) ## Staging Environment and Varnish @@ -158,23 +161,24 @@ In the example above the domain for the staging environment is always different ## Hypernode Manage Vhosts -Another solution is creating an unique vhost for your staging environment. This will allow you to use the normal ports so you don't have to use port `8443`. -For example you can create a vhost `staging.example.com`. Afterwards you can always choose to enable or disable varnish for this vhost. +Another solution is creating a unique vhost for your staging environment. This will allow you to use the normal ports so you don't have to use port `8443`. +For example, you can create a vhost `staging.example.com`. Afterwards you can always choose to enable or disable varnish for this vhost. -```nginx -hypernode-manage-vhosts staging.example.com --varnish -hypernode-manage-vhosts --list +```console +$ hypernode-manage-vhosts staging.example.com --varnish +$ hypernode-manage-vhosts --list +---------------------------------+------------+----------------+-------+-------------+---------+--------------+ | servername | type | default_server | https | force_https | varnish | ssl_config | +---------------------------------+------------+----------------+-------+-------------+---------+--------------+ | staging.example.com | magento2 | False | False | False | True | intermediate | +---------------------------------+------------+----------------+-------+-------------+---------+--------------+ - ``` To be able to reach the new staging environment you need to change the webroot of the vhost to whatever folder you like. In this case let's create a folder called **/data/web/example_staging/**. You can change the webroot in the nginx-folder that has been created by creating the vhost, in this case: **/data/web/nginx/staging.example.com/public.magento2.conf**. The webroot is set in the first uncommented line of the file: -`root /data/web/public;` +```nginx +root /data/web/public; +``` So now we want to set this to: `root /data/web/example_staging;` and save the file. Now you can set the Magento installation in this location and you're set. @@ -184,9 +188,8 @@ If you created a staging environment before on the same machine, you might want ### Cleanup -```nginx +```bash magerun2 --root-dir=/data/web/magento2_staging uninstall --installationFolder=/data/web/magento2_staging --force - ``` This will remove your Magento installation and drops the database as well. diff --git a/docs/ecommerce-applications/magento-2/how-to-update-magento-2.md b/docs/ecommerce-applications/magento-2/how-to-update-magento-2.md index 727c44d5..bcea9289 100644 --- a/docs/ecommerce-applications/magento-2/how-to-update-magento-2.md +++ b/docs/ecommerce-applications/magento-2/how-to-update-magento-2.md @@ -3,6 +3,9 @@ myst: html_meta: description: Does your Magento 2 version need an upgrade? This article explains how to upgrade to the latest Magento 2 version. + title: How to update Magento 2? | Hypernode +redirect_from: + - /en/ecommerce/magento-2/how-to-update-magento-2/ --- @@ -11,7 +14,7 @@ myst: Does your Magento 2 version need an upgrade? This article explains how to upgrade to the latest Magento 2 version. Do you have a Magento 1 shop? Please follow the instructions on this page. -**N.B. You can’t update from Magento 1 to Magento 2. If you wish to use Magento 2, you’ll need a fresh install and start from the beginning. Read more about [How to install Magento 2 on Hypernode](https://support.hypernode.com/en/ecommerce/magento-2/how-to-install-magento-2-on-hypernode).** +**N.B. You can’t update from Magento 1 to Magento 2. If you wish to use Magento 2, you’ll need a fresh install and start from the beginning. Read more about [How to install Magento 2 on Hypernode](how-to-install-magento-2-on-hypernode.md).** ## Why You Should Update Your Magento Webshop @@ -23,7 +26,7 @@ Not updating your Magento can result in a bad performance and make your shop an Whatever version you’re updating, we always recommend you follow these steps first: -- Always make sure you have a recent and clean backup. Both a file- and database backup. You can restore your data quickly if anything goes wrong while updating. More information about making backups can be found in the article [Historical backups](https://support.hypernode.com/en/hypernode/backups/hypernode-backup-policy). +- Always make sure you have a recent and clean backup. Both a file- and database backup. You can restore your data quickly if anything goes wrong while updating. More information about making backups can be found in the article [Historical backups](../../hypernode-platform/backups/hypernode-backup-policy.md). - Check the version's release notes to see what changes have been made. - Please choose a quiet moment to update your Magento. Preferably when there’s hardly any traffic on your site. - You can test an update on a staging environment, development Hypernode or the Hypernode Docker to ensure all aspects of your shop are compatible with the newest version. @@ -35,7 +38,7 @@ Make sure you have a Magento account before you update your Magento 2 shop and c - Log on to your Magento backend. - Navigate to ‘System’. - Click ‘Web Setup wizard’. - - *If you can’t access the setup page, it’s possible the symlink wasn’t created when installing Magento 2.\*\*[To fix check this how to](https://support.hypernode.com/knowledgebase/using-magento-2-web-setup-wizard/).* + - *If you can’t access the setup page, it’s possible the symlink wasn’t created when installing Magento 2.\*\*[To fix check this how to](how-to-enable-the-magento-2-web-setup-wizard.md).* - Select the Magento version you wish to upgrade to and click ‘Next’. - Start the ‘Readiness check.’ - Click ‘Next’ if possible; otherwise, resolve the issues that need fixing before continuing. @@ -46,20 +49,20 @@ Make sure you have a Magento account before you update your Magento 2 shop and c Still not able to update Magento? Perhaps you haven’t connected your Magento shop with your Magento account yet: - First, get your secure keys by [following the steps in this article](http://devdocs.magento.com/guides/v2.0/install-gde/prereq/connect-auth.html). -- Add the public and private key to your shop via ‘System’ ->’ Web Setup Wizard’ -> ‘System config.’ -- Fill in the keys and click ‘Save config’. -- Go back to ‘System upgrade’ to update your Magento version. +- Add the public and private key to your shop via `System` -> `Web Setup Wizard` -> `System config`. +- Fill in the keys and click `Save config`. +- Go back to `System upgrade` to update your Magento version. ## Updating Magento 2 via Composer To update through composer, use the following commands: -```nginx +```bash export VERSION="2.0.2" cd ~/magento2 composer require magento/product-community-edition $VERSION --no-update -composer update< +composer update rm -rf var/di var/generation php bin/magento cache:clean @@ -72,8 +75,8 @@ php bin/magento indexer:reindex After upgrade, check your Magento version with the following command: -```nginx -php bin/magento --version +```bash +bin/magento --version ``` ## Need Help? diff --git a/docs/ecommerce-applications/shopware-5.md b/docs/ecommerce-applications/shopware-5.md index eeb167fc..67d8d481 100644 --- a/docs/ecommerce-applications/shopware-5.md +++ b/docs/ecommerce-applications/shopware-5.md @@ -1,3 +1,11 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that tell you more about Shopware 5. + title: Shopware 5 on Hypernode | Everything you need to know +--- + # Shopware 5 ```{toctree} diff --git a/docs/ecommerce-applications/shopware-5/how-to-change-the-timezone-for-the-order-timestamps-in-shopware-5-x.md b/docs/ecommerce-applications/shopware-5/how-to-change-the-timezone-for-the-order-timestamps-in-shopware-5-x.md index 628c6492..0a36068b 100644 --- a/docs/ecommerce-applications/shopware-5/how-to-change-the-timezone-for-the-order-timestamps-in-shopware-5-x.md +++ b/docs/ecommerce-applications/shopware-5/how-to-change-the-timezone-for-the-order-timestamps-in-shopware-5-x.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: The solution is quite simpel. There is a free plugin for Shopware + 5 which allows you to correct the timestamps of the orders. + title: Change the timezone for order timestamps in Shopware 5 +redirect_from: + - /en/support/solutions/articles/48001166328-how-to-change-the-timezone-for-the-order-timestamps-in-shopware-5-x/ +--- + # How to Change the Timezone for the Order Timestamps in Shopware 5.x diff --git a/docs/ecommerce-applications/shopware-5/how-to-change-the-timezone-in-shopware-5-x.md b/docs/ecommerce-applications/shopware-5/how-to-change-the-timezone-in-shopware-5-x.md index b872748a..1f682cd9 100644 --- a/docs/ecommerce-applications/shopware-5/how-to-change-the-timezone-in-shopware-5-x.md +++ b/docs/ecommerce-applications/shopware-5/how-to-change-the-timezone-in-shopware-5-x.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: This article describes how to change the timezone in Shopware 5.x - on a Hypernode. + description: In order to change the timezone for the order and such you will need + to install an additional module. More information about this can be found via + this article. + title: How to change the timezone in Shopware 5? | Hypernode +redirect_from: + - /en/support/solutions/articles/48001170559-how-to-change-the-timezone-in-shopware-5-x/ --- diff --git a/docs/ecommerce-applications/shopware-5/how-to-configure-shopware-caching.md b/docs/ecommerce-applications/shopware-5/how-to-configure-shopware-caching.md index 6104ad52..917eae80 100644 --- a/docs/ecommerce-applications/shopware-5/how-to-configure-shopware-caching.md +++ b/docs/ecommerce-applications/shopware-5/how-to-configure-shopware-caching.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: Shopware provides a built-in HTTP cache to improve the performance - and user experience of your shop. We explain how to set it up step by step. + description: Shopware 5 provides a built-in HTTP cache which can be enabled in + production environments. In this document we’ll explain how you can set this + up. + title: How to configure caching in Shopware 5? | Hypernode +redirect_from: + - /en/ecommerce/shopware/how-to-configure-shopware-caching/ --- diff --git a/docs/ecommerce-applications/shopware-5/how-to-configure-varnish-for-shopware-5.md b/docs/ecommerce-applications/shopware-5/how-to-configure-varnish-for-shopware-5.md index 65d0ef39..c4bad250 100644 --- a/docs/ecommerce-applications/shopware-5/how-to-configure-varnish-for-shopware-5.md +++ b/docs/ecommerce-applications/shopware-5/how-to-configure-varnish-for-shopware-5.md @@ -2,7 +2,11 @@ myst: html_meta: description: Shopware 5 applications can greatly benefit from Varnish caching. - On the client side, pages load faster, while on the server side, the load decreases. + Hypernode supports Varnish as a caching layer and configuration is actually + quite simple. + title: How to configure Varnish for Shopware 5? | Hypernode +redirect_from: + - /en/support/solutions/articles/48001207016-how-to-configure-varnish-for-shopware-5/ --- @@ -15,13 +19,13 @@ The Hypernode platform supports Varnish as a caching layer and configuration is ## Step One: Enable Varnish on the Hypernode -Varnish can be enabled with a simple command using the [hypernode-systemctl CLI](https://support.hypernode.com/en/hypernode/tools/how-to-use-the-hypernode-systemctl-cli-tool): +Varnish can be enabled with a simple command using the [hypernode-systemctl CLI](../../hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md): `hypernode-systemctl settings varnish_enabled True` ## Step Two: Enable Varnish for NGINX Vhost -The [hypernode-manage-vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) (HMV) config allows you to enable varnish for every vhost individually. So if you for example have a domain example.com. You should create 2 vhosts: +The [hypernode-manage-vhosts](../../hypernode-platform/nginx/hypernode-managed-vhosts) (HMV) config allows you to enable varnish for every vhost individually. So if you for example have a domain example.com. You should create 2 vhosts: - example.com - [www.example.com](http://www.example.com) diff --git a/docs/ecommerce-applications/shopware-5/how-to-host-shopware-on-hypernode.md b/docs/ecommerce-applications/shopware-5/how-to-host-shopware-on-hypernode.md index 70bc916c..8b19d089 100644 --- a/docs/ecommerce-applications/shopware-5/how-to-host-shopware-on-hypernode.md +++ b/docs/ecommerce-applications/shopware-5/how-to-host-shopware-on-hypernode.md @@ -1,8 +1,13 @@ --- myst: html_meta: - description: Hosting the popular CMS, Shopware, can (of course) be done on Hypernode. - You only need a specific Nginx configuration. Check out how to use it here. + description: All you need to do is add a Shopware specific NGINX configuration + file to your environment. Shopware requires a Hypernode Falcon S hosting plan + or larger. + title: How to host Shopware 5 on Hypernode? +redirect_from: + - /en/ecommerce/shopware/how-to-host-shopware-on-hypernode/ + - /knowledgebase/how-to-host-shopware-on-hypernode/ --- @@ -23,7 +28,7 @@ Shopware is an e-commerce system roughly the same as Magento and both have the s ## Configuring Hypernode for Shopware -All you need to do is create a [vhost](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts#Managing-Vhosts) (or change an existing vhost) with type `shopware5` or `shopware6`. +All you need to do is create a [vhost](../../hypernode-platform/nginx/hypernode-managed-vhosts.md#managing-vhosts) (or change an existing vhost) with type `shopware5` or `shopware6`. This will make sure the specific vhost has the right nginx configuration to host your Shopware environment. So for example, your domain is `www.example.com` and you'd like a vhost with Shopware 6 configuration. You can create this vhost with the following command: `hypernode-manage-vhosts www.example.com --type shopware6 --https --force-https`. diff --git a/docs/ecommerce-applications/shopware-5/how-to-install-shopware-5-on-hypernode-docker.md b/docs/ecommerce-applications/shopware-5/how-to-install-shopware-5-on-hypernode-docker.md index 607c6a91..b6332772 100644 --- a/docs/ecommerce-applications/shopware-5/how-to-install-shopware-5-on-hypernode-docker.md +++ b/docs/ecommerce-applications/shopware-5/how-to-install-shopware-5-on-hypernode-docker.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: The Hypernode Docker Image can be used to set up a local test environment - for Shopware. This article explains how to install Shopware 5 on a Docker environment. + description: To set an environment for Shopware 5 is the same process as for Magento, + with the exception that you’ll have to add an additional NGINX configuration + file. + title: 'How to install Shopware 5 on Hypernode Docker? ' +redirect_from: + - /en/ecommerce/shopware/how-to-install-shopware-5-on-hypernode-docker/ --- diff --git a/docs/ecommerce-applications/shopware-5/how-to-install-shopware-5-on-hypernode.md b/docs/ecommerce-applications/shopware-5/how-to-install-shopware-5-on-hypernode.md index 96617306..aecbf9e4 100644 --- a/docs/ecommerce-applications/shopware-5/how-to-install-shopware-5-on-hypernode.md +++ b/docs/ecommerce-applications/shopware-5/how-to-install-shopware-5-on-hypernode.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'In this article we guide you through the steps of setting up the - latest version of Shopware 5 as easy as possible. ' + description: Shopware 5 requires a Hypernode Professional S hosting plan or larger. + We explain how you can setup the latest version of Shopware 5 on Hypernode. + title: 'How to install Shopware 5 on Hypernode? ' +redirect_from: + - /en/ecommerce/shopware/how-to-install-shopware-5-on-hypernode/ + - /knowledgebase/how-to-install-shopware-5-on-hypernode/ --- @@ -29,7 +33,7 @@ hypernode-systemctl settings php_version 7.2 ## Add the Shopware Nginx Config File -To be able to host Shopware on Hypernode you need to add an nginx config file so the server knows where to find the Shopware installation. You can add the `server.shopware` config file according to our [documentation](https://support.hypernode.com/knowledgebase/how-to-host-shopware-on-hypernode/#Configuring_Hypernode_for_Shopware) +To be able to host Shopware on Hypernode you need to add an nginx config file so the server knows where to find the Shopware installation. You can add the `server.shopware` config file according to our [documentation](how-to-host-shopware-on-hypernode.md#configuring-hypernode-for-shopware). ## Two Ways to Install Shopware 5 diff --git a/docs/ecommerce-applications/shopware-5/how-to-setup-a-multistore-in-shopware.md b/docs/ecommerce-applications/shopware-5/how-to-setup-a-multistore-in-shopware.md index 0e564163..ae3cb961 100644 --- a/docs/ecommerce-applications/shopware-5/how-to-setup-a-multistore-in-shopware.md +++ b/docs/ecommerce-applications/shopware-5/how-to-setup-a-multistore-in-shopware.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: Using a multistore in Shopware will allow you to address customers - in different languages and use different currencies. Check out how to set it - up here. + description: You want to use a single Shopware installation for several domains + or shops. This can be realised by adding as much language and/or sub shops as + you need. + title: How to set up a multistore in Shopware 5? | Hypernode +redirect_from: + - /en/ecommerce/shopware/how-to-setup-a-multistore-in-shopware/ --- diff --git a/docs/ecommerce-applications/shopware-5/how-to-use-a-basic-staging-environment-with-shopware.md b/docs/ecommerce-applications/shopware-5/how-to-use-a-basic-staging-environment-with-shopware.md index 1b7fff10..668bb24e 100644 --- a/docs/ecommerce-applications/shopware-5/how-to-use-a-basic-staging-environment-with-shopware.md +++ b/docs/ecommerce-applications/shopware-5/how-to-use-a-basic-staging-environment-with-shopware.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: A staging environment is very useful to test your shop. In this article - we explain how to set up a staging environment on Hypernode for a Shopware shop. + description: This article explains how you can set up a staging environment on + Hypernode for a Shopware 5 shop. Learn everything you need to know! + title: How to use a staging environment with Shopware 5? +redirect_from: + - /en/ecommerce/shopware/how-to-use-a-basic-staging-environment-with-shopware/ --- @@ -19,7 +22,7 @@ This article explains how you can set up a staging environment on Hypernode for Keep in mind: -- Your staging environment **shares resources** (disk, CPU, mem) with your production site. If you want to do things such as automated load tests, it is recommended to order a [development plan](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/) instead, so your production site will not be affected. +- Your staging environment **shares resources** (disk, CPU, mem) with your production site. If you want to do things such as automated load tests, it is recommended to order a [development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) instead, so your production site will not be affected. - We don't recommend creating hard links from your production media folder to your staging media folder as our back up mechanism does not cope well with hard links. ## How to Make a Copy of a Live Site diff --git a/docs/ecommerce-applications/shopware-6.md b/docs/ecommerce-applications/shopware-6.md index 72fc1083..47b871a9 100644 --- a/docs/ecommerce-applications/shopware-6.md +++ b/docs/ecommerce-applications/shopware-6.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that tell you more about Shopware 6. + title: Shopware 6 on Hypernode | Everything you need to know +redirect_from: + - /en/ecommerce/shopware/ +--- + # Shopware 6 ```{toctree} diff --git a/docs/ecommerce-applications/shopware-6/admin-loop-in-shopware-6-when-basic-auth-is-used.md b/docs/ecommerce-applications/shopware-6/admin-loop-in-shopware-6-when-basic-auth-is-used.md index edfacb7f..0afd17a5 100644 --- a/docs/ecommerce-applications/shopware-6/admin-loop-in-shopware-6-when-basic-auth-is-used.md +++ b/docs/ecommerce-applications/shopware-6/admin-loop-in-shopware-6-when-basic-auth-is-used.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: When you want to use Shopware 6 on a Hypernode with basic auth you + need to take into account that Shopware overwrites the Authorization header. + title: How to prevent an admin loop in Shopware 6 on Hypernode? +redirect_from: + - /en/support/solutions/articles/48001207548-workaround-for-known-issue-accessing-shopware-6-admin-on-a-development-plan/ +--- + # Admin loop in Shopware 6 when basic auth is used On a Hypernode dev plan basic auth is enabled out of the box. You can also configure Nginx to put your site or parts of your site behind basic auth on a production plan. When you want to use Shopware 6 on a Hypernode with basic auth you need to take into account that Shopware overwrites the Authorization header. @@ -15,6 +25,6 @@ The solution is to whitelist your IP to skip the basic auth on the Hypernode whe geo $development_exceptions { default "Development restricted area"; # The IP that you want to access the Shopware 6 admin from - 127.0.0.1 "off"; + 1.2.3.4 "off"; } ``` diff --git a/docs/ecommerce-applications/shopware-6/how-to-configure-redis-for-shopware-6.md b/docs/ecommerce-applications/shopware-6/how-to-configure-redis-for-shopware-6.md index b42525cb..2a6344dc 100644 --- a/docs/ecommerce-applications/shopware-6/how-to-configure-redis-for-shopware-6.md +++ b/docs/ecommerce-applications/shopware-6/how-to-configure-redis-for-shopware-6.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This article will explain how to configure Redis on your Shopware + 6 shop on Hypernode and how to work with redis-cli. + title: How to configure Redis for Shopware 6? +redirect_from: + - /en/support/solutions/articles/48001200521-how-to-configure-redis-for-shopware-6/ +--- + # How to Configure Redis for Shopware 6 diff --git a/docs/ecommerce-applications/shopware-6/how-to-configure-varnish-for-shopware-6.md b/docs/ecommerce-applications/shopware-6/how-to-configure-varnish-for-shopware-6.md index 1d63fb8a..a45db281 100644 --- a/docs/ecommerce-applications/shopware-6/how-to-configure-varnish-for-shopware-6.md +++ b/docs/ecommerce-applications/shopware-6/how-to-configure-varnish-for-shopware-6.md @@ -1,20 +1,31 @@ +--- +myst: + html_meta: + description: Shopware 6 applications can greatly benefit from Varnish caching. + Hypernode supports Varnish as a caching layer and configuration is actually + quite simple. + title: How to configure Varnish for Shopware 6? +redirect_from: + - /en/support/solutions/articles/48001200525-how-to-configure-varnish-for-shopware-6/ +--- + # How to Configure Varnish for Shopware 6 Customers with Hypernode Pelican, Falcon (formerly known as Professional) and Eagle (formerly known as Excellence) plans can use Varnish to boost their shop. This article explains how you can configure Varnish for your Hypernode. -Although Varnish is extremely awesome when it get's to speeding up websites, Varnish is a complex technique that needs some experience to set it up. We'd recommend to first test varnish on a [staging environment](https://support.hypernode.com/en/ecommerce/shopware/how-to-use-a-basic-staging-environment-with-shopware-6) or a[development plan](https://support.hypernode.com/en/hypernode/tools/how-to-use-hypernode-development-plans) before implementing varnish on a live node. +Although Varnish is extremely awesome when it get's to speeding up websites, Varnish is a complex technique that needs some experience to set it up. We'd recommend to first test varnish on a [staging environment](how-to-use-a-basic-staging-environment-with-shopware-6.md) or a[development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) before implementing varnish on a live node. ## Step One: Enable Varnish on the Hypernode -You can enable varnish on the hypernode using the [systemctl-tool](https://support.hypernode.com/en/hypernode/tools/how-to-use-the-hypernode-systemctl-cli-tool) by running: +You can enable varnish on the hypernode using the [systemctl-tool](../../hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md) by running: `hypernode-systemctl settings varnish_enabled True` ## Step Two: How to Setup Varnish for the Vhost -The [hypernode-manage-vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) (HMV) config allows you to enable varnish for every vhost individually. So if you for example have a domain example.com. You should create 2 vhosts: +The [hypernode-manage-vhosts](../../hypernode-platform/nginx/hypernode-managed-vhosts.md) (HMV) config allows you to enable varnish for every vhost individually. So if you for example have a domain example.com. You should create 2 vhosts: - example.com - [www.example.com](http://www.example.com) diff --git a/docs/ecommerce-applications/shopware-6/how-to-install-shopware-6-on-hypernode-docker.md b/docs/ecommerce-applications/shopware-6/how-to-install-shopware-6-on-hypernode-docker.md index 2b53d640..92ea9c86 100644 --- a/docs/ecommerce-applications/shopware-6/how-to-install-shopware-6-on-hypernode-docker.md +++ b/docs/ecommerce-applications/shopware-6/how-to-install-shopware-6-on-hypernode-docker.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: The Hypernode Docker Image can be used to set up a local test environment - for Shopware. This article explains how to install Shopware 6 on a Docker environment. + description: To set an environment for Shopware 6 is the same process as for Magento, + with the exception that you’ll have to add an additional NGINX configuration + file. + title: 'How to install Shopware 6 on Hypernode Docker? ' +redirect_from: + - /en/ecommerce/shopware/how-to-install-shopware-6-on-hypernode-docker/ --- diff --git a/docs/ecommerce-applications/shopware-6/how-to-install-shopware-6-on-hypernode.md b/docs/ecommerce-applications/shopware-6/how-to-install-shopware-6-on-hypernode.md index 32d3e8a0..b29681e0 100644 --- a/docs/ecommerce-applications/shopware-6/how-to-install-shopware-6-on-hypernode.md +++ b/docs/ecommerce-applications/shopware-6/how-to-install-shopware-6-on-hypernode.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'In this article we guide you through the steps of setting up the - latest version of Shopware 6 as easy as possible. ' + description: Shopware 6 requires a Hypernode Professional S hosting plan or larger. + We explain how you can setup the latest version of Shopware 5 on Hypernode. + title: 'How to install Shopware 6 on Hypernode? ' +redirect_from: + - /en/ecommerce/shopware/how-to-install-shopware-6-on-hypernode/ + - /knowledgebase/how-to-install-shopware-6-on-hypernode/ --- diff --git a/docs/ecommerce-applications/shopware-6/how-to-use-a-basic-staging-environment-with-shopware-6.md b/docs/ecommerce-applications/shopware-6/how-to-use-a-basic-staging-environment-with-shopware-6.md index cfd9f74c..042cc9a1 100644 --- a/docs/ecommerce-applications/shopware-6/how-to-use-a-basic-staging-environment-with-shopware-6.md +++ b/docs/ecommerce-applications/shopware-6/how-to-use-a-basic-staging-environment-with-shopware-6.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: A staging environment is very useful to test your shop. In this article - we explain how to set up a staging environment on Hypernode for a Shopware 6 - shop. + description: This article explains how you can set up a staging environment on + Hypernode for a Shopware 6 shop. Learn everything you need to know! + title: How to use a staging environment with Shopware 6? +redirect_from: + - /en/ecommerce/shopware/how-to-use-a-basic-staging-environment-with-shopware-6/ --- @@ -20,7 +22,7 @@ This article explains how you can set up a staging environment on Hypernode for Keep in mind: -- Your staging environment **shares resources** (disk, CPU, mem) with your production site. If you want to do things such as automated load tests, it is recommended to order a [development plan](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/) instead, so your production site will not be affected. +- Your staging environment **shares resources** (disk, CPU, mem) with your production site. If you want to do things such as automated load tests, it is recommended to order a [development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) instead, so your production site will not be affected. - We don't recommend creating hard links from your production media folder to your staging media folder as our back up mechanism does not cope well with hard links. ## How To Make a Copy of a Live Site diff --git a/docs/ecommerce-applications/shopware-6/workaround-for-known-issue-accessing-shopware-6-admin-on-a-development-plan.md b/docs/ecommerce-applications/shopware-6/workaround-for-known-issue-accessing-shopware-6-admin-on-a-development-plan.md deleted file mode 100644 index f6216839..00000000 --- a/docs/ecommerce-applications/shopware-6/workaround-for-known-issue-accessing-shopware-6-admin-on-a-development-plan.md +++ /dev/null @@ -1,25 +0,0 @@ - - -# Workaround for Known Issue Accessing Shopware 6 Admin on a Development Plan - -On a Hypernode Development plan the basic authentication is enabled out of the box. When you want to use Shopware 6 on a Hypernode with basic auth you need to take into account that Shopware overwrites the Authorization header. - -Shopware uses OAuth with a bearer token for logging into the admin and using the API. For example if your shop is , that URL will work fine. But logging in to will send you into a basic auth loop. - -The solution is to whitelist your IP from the basic auth on the Hypernode to not use basic auth when you come from your specified IP. You can whitelist your IP in the `/data/web/nginx/whitelist-development-exception.conf` file. - -```nginx -# $ cat /data/web/nginx/whitelist-development-exception.conf -# You can make certain IP addresses exempt here from the development -# basic auth. Beware though, that google and bing bots will always -# remain blocked on development nodes! - -geo $development_exceptions { - default "Development restricted area"; - 1.2.3.4 "off"; # The IP that you want to access the Shopware 6 admin from -} - -If your IP changes too often to whitelist you can always consider whitelisting `0.0.0.0/0` -``` - -If your IP changes too often to whitelist you can always consider whitelisting **0.0.0.0/0**but be careful, this indicates you're whitelisting the whole internet. diff --git a/docs/ecommerce-applications/woocommerce.md b/docs/ecommerce-applications/woocommerce.md index f77de040..c4d0d925 100644 --- a/docs/ecommerce-applications/woocommerce.md +++ b/docs/ecommerce-applications/woocommerce.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all knowledge base + articles that tell you more about WooCommerce. + title: WooCommerce on Hypernode | Everything you need to know +redirect_from: + - /en/support/solutions/folders/48000684907 +--- + # WooCommerce ```{toctree} diff --git a/docs/ecommerce-applications/woocommerce/how-to-install-woocommerce-on-hypernode.md b/docs/ecommerce-applications/woocommerce/how-to-install-woocommerce-on-hypernode.md index 9ae6201e..849a8351 100644 --- a/docs/ecommerce-applications/woocommerce/how-to-install-woocommerce-on-hypernode.md +++ b/docs/ecommerce-applications/woocommerce/how-to-install-woocommerce-on-hypernode.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This article will explain how you can setup the latest version of + WooCommerce on Hypernode as easy as possible. + title: How to install WooCommerce on Hypernode? +redirect_from: + - /en/support/solutions/articles/48001213397-how-to-install-woocommerce-on-hypernode/ +--- + # How to install WooCommerce on Hypernode diff --git a/docs/getting-started/how-to-order.md b/docs/getting-started/how-to-order.md index b3cdf4e4..b251cd06 100644 --- a/docs/getting-started/how-to-order.md +++ b/docs/getting-started/how-to-order.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about how to order a Hypernode. + title: How to order a Hypernode? +redirect_from: + - /en/getting-started/ +--- + # Getting Started ```{toctree} diff --git a/docs/getting-started/how-to-order/how-to-get-started-with-your-hypernode-trial.md b/docs/getting-started/how-to-order/how-to-get-started-with-your-hypernode-trial.md index fbc9cbe9..7b2bf92f 100644 --- a/docs/getting-started/how-to-order/how-to-get-started-with-your-hypernode-trial.md +++ b/docs/getting-started/how-to-order/how-to-get-started-with-your-hypernode-trial.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'Your trial gives you 14 days of free testing on our Hypernode platform. - Find out how to get started and test all features on the platform in this article. ' + description: With your free trial you have 14 days to test your shops’ performance + on Hypernode. After 2 weeks your trial will expire automatically. + title: How to start a Hypernode trial? +redirect_from: + - /en/getting-started/how-to-order/how-to-get-started-with-your-hypernode-trial/ --- @@ -21,7 +24,7 @@ The specs of your trial are: 62GB storage, 3 CPU, 8GB RAM, 1024MB Redis cache, P ## Your Control Panel -Improving our Hypernode platform is [a continuous process](https://support.hypernode.com/category/changelog/) and the sole focus of our development team. You can log into your Control Panel via [this page](https://my.hypernode.com/). +Improving our Hypernode platform is [a continuous process](https://changelog.hypernode.com/) and the sole focus of our development team. You can log into your Control Panel via [this page](https://my.hypernode.com/). - Your Control Panel allows you to manage contact and billing information. - You can also change the PHP version of your Hypernode from the Control Panel. @@ -33,11 +36,11 @@ We recommend taking the following steps: ### Step 1 – Log in to your Hypernode via SSH -Get started by [creating SSH keys and logging in to your Hypernode via SSH](https://support.hypernode.com/knowledgebase/use-ssh-keys-on-hypernode/). +Get started by [creating SSH keys and logging in to your Hypernode via SSH](../../hypernode-platform/ssh/how-to-use-ssh-keys-on-hypernode.md). ### Step 2 – Configure Hypernode settings -You are in control and can change some Hypernode settings yourself via [the Hypernode-systemctl CLI tool](https://support.hypernode.com/knowledgebase/hypernode-systemctl-cli-tool/), like: +You are in control and can change some Hypernode settings yourself via [the Hypernode-systemctl CLI tool](../../hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md), like: - PHP version: easily change the PHP version of your Hypernode - Enable Ioncube: only enable this if you really have to, as Ioncube is a performance killer @@ -49,18 +52,22 @@ You are in control and can change some Hypernode settings yourself via [the Hype ### Step 3a – Import an existing shop via the Hypernode Importer tool -We have developed an awesome time saving tool, the Hypernode Importer tool. With 1 simple command you import a copy of an existing shop onto your Hypernode. This will not have a negative impact on your live shop. Instructions can be found in the [Hypernode support documentation](https://support.hypernode.com/en/hypernode/tools/how-to-migrate-your-shop-to-hypernode#Option-2-for-all-customers%3A-Migrate-your-shop-via-Shell-using-hypernode-importer). +We have developed an awesome time saving tool, the Hypernode Importer tool. With 1 simple command you import a copy of an existing shop onto your Hypernode. +This will not have a negative impact on your live shop. +Instructions can be found in the [Hypernode support documentation](../../hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md#option-2-for-all-customers-migrate-your-shop-via-shell-using-the-hypernode-importer). ### Step 3b – Install a new application on your Hypernode In our support documentation you will find detailed information about installing the different applications on a Hypernode: -- [Akeneo 3](https://support.hypernode.com/en/ecommerce/akeneo/how-to-install-akeneo-3-on-hypernode) -- [Akeneo 4](https://support.hypernode.com/knowledgebase/installing-akeneo-4/) -- [Magento 1](https://support.hypernode.com/knowledgebase/installing-magento-on-hypernode/) -- [Magento 2](https://support.hypernode.com/knowledgebase/installing-magento-2-on-hypernode/) -- [Shopware 5](https://support.hypernode.com/knowledgebase/how-to-install-shopware-5-on-hypernode/) -- [Shopware 6](https://support.hypernode.com/knowledgebase/how-to-install-shopware-6-on-hypernode/) +- [Akeneo 3](../../ecommerce-applications/akeneo/how-to-install-akeneo-3-on-hypernode) +- [Akeneo 4](../../ecommerce-applications/akeneo/how-to-install-akeneo-4-on-hypernode.md) +- [Akeneo 5](../../ecommerce-applications/akeneo/how-to-install-akeneo-5-on-hypernode.md) +- [Akeneo 6](../../ecommerce-applications/akeneo/how-to-install-akeneo-6-on-hypernode.md) +- [Magento 1](../../ecommerce-applications/magento-1/how-to-install-magento-1-on-hypernode.md) +- [Magento 2](../../ecommerce-applications/magento-2/how-to-install-magento-2-on-hypernode.md) +- [Shopware 5](../../ecommerce-applications/shopware-5/how-to-install-shopware-5-on-hypernode.md) +- [Shopware 6](../../ecommerce-applications/shopware-6/how-to-install-shopware-6-on-hypernode.md) ### Step 4 – Set up Hypernode Managed Vhosts @@ -82,13 +89,13 @@ To add a new vhost, for example the domainname [www.example.com](http://www.exam Please note that defining the vhosts '[www.example.com](http://www.example.com)', does not automatically add 'example.com' as a vhost. You will have to manually define a vhost for this. Since most people simply want their 'example.com' to redirect to '[www.example.com](http://www.example.com)', you can simply use the `--type wwwizer` argument to set this up. This will configure the vhost to redirect all traffic to the www-version of the domain. -Read more about Hypernode Managed Vhosts in [this article](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts). +Read more about Hypernode Managed Vhosts in [this article](../../hypernode-platform/nginx/hypernode-managed-vhosts.md). ### Step 5 – Configure Base URLs -You can find how to change your base URLs for Magento 1 [here](https://support.hypernode.com/en/ecommerce/magento-1/how-to-change-the-base-url-in-magento-1-x). +You can find how to change your base URLs for Magento 1 [here](../../ecommerce-applications/magento-1/how-to-change-the-base-url-in-magento-1-x.md). -You can find how to change your base URLs for Magento 2 [here](https://support.hypernode.com/en/ecommerce/magento-2/how-to-change-your-magento-2-base-urls). +You can find how to change your base URLs for Magento 2 [here](../../ecommerce-applications/magento-2/how-to-change-your-magento-2-base-urls.md). Please note: when you have an SSL certificate and use the secure base URL you should change the unsecure base URLs to HTTPS as well. This could result in conflicts when you leave this on HTTP. @@ -105,19 +112,19 @@ There are 2 ways to handle your DNS. Only customers who have access to the Servi One of the biggest differences between Hypernode and more traditional platforms is the use of Nginx (pronunciation: ‘Engine X’) over Apache. Nginx has much better performance than Apache, and allows us to serve your webshop to many more visitors than Apache would. -See [this category from our Support Documentation](https://support.hypernode.com/en/hypernode/nginx/) for more information about configuring Nginx. +See [this category from our Support Documentation](../../hypernode-platform/nginx.md) for more information about configuring Nginx. ### Step 8 – Start testing **Tools for shop development and optimization** -Try our handy [CLI tools](https://support.hypernode.com/knowledgebase/hypernode-cli-tools-magerun-plugins/), like: +Try our handy [CLI tools](../../hypernode-platform/tools/hypernode-cli-tools-and-magerun-plugins.md), like: - Save disk space by using the Magento Image Optimizer - Find out which Magento extensions slow down your shop using the php-slow-log - Debug issues by parsing the Nginx access logs -Also we have useful [Magerun plugins](https://support.hypernode.com/knowledgebase/hypernode-cli-tools-magerun-plugins/) to retrieve information super fast, like: +Also we have useful [Magerun plugins](../../hypernode-platform/tools/hypernode-cli-tools-and-magerun-plugins.md) to retrieve information super fast, like: - Analyze all pages in sitemap.xml and get a performance report - Check if all security patches have been installed for your Magento version @@ -128,10 +135,10 @@ Of course there is so much more to test, just decide for yourself what is import ## If You Started on a Trial, Upgrade Your Trial into a Paid Hosting Plan -Convinced about Hypernode? [Convert your trial into a paid hosting plan](https://support.hypernode.com/knowledgebase/order-a-hypernode-plan/). We are happy to help you with choosing the right plan for your shop. Should your shop need more or less resources in the future, you can up or downgrade your plan any time. You only pay for what you use. +Convinced about Hypernode? [Convert your trial into a paid hosting plan](../../about-hypernode/billing/how-to-choose-and-order-a-hypernode-plan.md). We are happy to help you with choosing the right plan for your shop. Should your shop need more or less resources in the future, you can up or downgrade your plan any time. You only pay for what you use. ## In Need of Support? -We encourage you to have a look at our extensive Hypernode support documentation on [support.hypernode.com](https://support.hypernode.com/). Here you will find useful information and tips and tricks on e.g. how to import a shop to Hypernode, recommended tools for developers, etc. +We encourage you to have a look at our extensive Hypernode support documentation on [support.hypernode.com](../../index.md). Here you will find useful information and tips and tricks on e.g. how to import a shop to Hypernode, recommended tools for developers, etc. Do you have questions about our Hypernode platform or would you like to give us some feedback? We would love to hear from you! Please send an email to [support@hypernode.com](mailto:support@hypernode.com) and we will get back to you. Our sales team and support team are available on weekdays from 8:00 AM until 18:00 PM CET/CEST (UTC+1/UTC+2). diff --git a/docs/getting-started/how-to-order/how-to-order-a-domain-presence-plan.md b/docs/getting-started/how-to-order/how-to-order-a-domain-presence-plan.md index c1bb91f4..42ad39d0 100644 --- a/docs/getting-started/how-to-order/how-to-order-a-domain-presence-plan.md +++ b/docs/getting-started/how-to-order/how-to-order-a-domain-presence-plan.md @@ -3,6 +3,8 @@ myst: html_meta: description: 'Find out here about the two different Presence plans Hypernode offers and how to order them. ' +redirect_from: + - /en/getting-started/how-to-order/how-to-order-a-domain-presence-plan/ --- @@ -49,8 +51,8 @@ A complete list of extensions we offer can be found [here](https://www.byte.nl/d **How can I transfer my domain?** -You can read a detailed description of the step-by-step plan [here](https://support.hypernode.com/en/services/domains/how-to-transfer-your-domain-to-hypernode). +You can read a detailed description of the step-by-step plan [here](../../services/domain-procedures/how-to-use-domains-in-the-control-panel.md#transfer-an-existing-domain-to-hypernode). **How can I order a SSL certificate?** -You can read a detailed description of the step-by-step plan [here](https://support.hypernode.com/en/hypernode/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-byte-nl#Order-an-SSL-Certificate). +You can read a detailed description of the step-by-step plan [here](../../hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-nl.md#order-an-ssl-certificate). diff --git a/docs/hypernode-deploy/getting-started.md b/docs/hypernode-deploy/getting-started.md index 57bd5e49..a23a978b 100644 --- a/docs/hypernode-deploy/getting-started.md +++ b/docs/hypernode-deploy/getting-started.md @@ -1,3 +1,11 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about Hypernode Deploy. + title: How to get started with Hypernod deploy? +--- + # Getting started with Hypernode Deploy ```{toctree} diff --git a/docs/hypernode-deploy/getting-started/configure-ci-cd.md b/docs/hypernode-deploy/getting-started/configure-ci-cd.md index 8b73ebde..c36e2b36 100644 --- a/docs/hypernode-deploy/getting-started/configure-ci-cd.md +++ b/docs/hypernode-deploy/getting-started/configure-ci-cd.md @@ -1,3 +1,12 @@ +--- +myst: + html_meta: + description: Configure your CI/CD pipeline with Hypernode Deploy. Get up and running + quickly with easy-to-follow steps and secure credentials to ensure your data + is safe. + title: How to configure CI/CD on Hypernode? +--- + # Configure CI/CD There are many CI/CD pipelines available, but it's probably best to stick with the pipeline system that's tied with your VCS (version control system), like [Github Actions][1] for Github, [Gitlab CI][2] for Gitlab and [Bitbucket Pipelines][3] for Bitbucket. diff --git a/docs/hypernode-deploy/getting-started/install-and-configure-hypernode-deploy.md b/docs/hypernode-deploy/getting-started/install-and-configure-hypernode-deploy.md index c468eb44..7a3c8c7d 100644 --- a/docs/hypernode-deploy/getting-started/install-and-configure-hypernode-deploy.md +++ b/docs/hypernode-deploy/getting-started/install-and-configure-hypernode-deploy.md @@ -1,3 +1,11 @@ +--- +myst: + html_meta: + description: 'With Hypernode Deploy, you can create and configure an optimized + Hypernode environment. Learn how to install and configure Hypernode Deploy. ' + title: How to install and configure Hypernode Deploy? +--- + # Install and Configure Hypernode Deploy The first step is to create and configure a `deploy.php` file which can be used by Hypernode Deploy to determine what tasks need to be executed to prepare the application for deployment and of course to what stages/servers the application needs to be deployed to. diff --git a/docs/hypernode-platform/backups.md b/docs/hypernode-platform/backups.md index a2e4a7dc..02ca851a 100644 --- a/docs/hypernode-platform/backups.md +++ b/docs/hypernode-platform/backups.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about backups. + title: Backups | Hypernode platform +redirect_from: + - /en/hypernode/backups/ +--- + # Backups ```{toctree} diff --git a/docs/hypernode-platform/backups/how-to-restore-your-hypernode-from-a-snapshot.md b/docs/hypernode-platform/backups/how-to-restore-your-hypernode-from-a-snapshot.md index 4e4f4e2b..c76224a0 100644 --- a/docs/hypernode-platform/backups/how-to-restore-your-hypernode-from-a-snapshot.md +++ b/docs/hypernode-platform/backups/how-to-restore-your-hypernode-from-a-snapshot.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'Find detailed guidelines on how to restore your Hypernode from a - backup here, if needed after a mistake. We restore backups with snapshots. ' + description: To restore your Hypernode from a snapshot, instant or an older backup, + please follow the instructions mentioned in this article. + title: How to restore your Hypernode from a snapshot? | Backups +redirect_from: + - /en/hypernode/backups/how-to-restore-your-hypernode-from-a-backup/ + - /knowledgebase/restore-hypernode-backup/ --- @@ -25,7 +29,7 @@ The backup snapshot is automagically detached/unmounted, before the backups are ### Instant and Older Backups -**Do you need access to backups older than one day or do you want the ability to create instant backups? These functionalities are part of the SLA Standard add-on, which is available for all Hypernodes. Please see [this article for more information about the difference between SLA Basic and SLA Standard](https://support.hypernode.com/en/hypernode/backups/hypernode-backup-policy#SLA-Standard).** +**Do you need access to backups older than one day or do you want the ability to create instant backups? These functionalities are part of the SLA Standard add-on, which is available for all Hypernodes. Please see [this article for more information about the difference between SLA Basic and SLA Standard](../../hypernode-platform/backups/hypernode-backup-policy.md#sla-standard).** ### Restore a Database From Snapshots diff --git a/docs/hypernode-platform/backups/hypernode-backup-policy.md b/docs/hypernode-platform/backups/hypernode-backup-policy.md index 18fd6e1a..bb487b01 100644 --- a/docs/hypernode-platform/backups/hypernode-backup-policy.md +++ b/docs/hypernode-platform/backups/hypernode-backup-policy.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'When things go wrong, you want to restore the appropriate database - table, files or directories from the backup. We offer this with snapshots. ' + description: Easily restore files, directories, and database tables with Hypernode's + daily snapshots. Depending on your SLA, you get additional backup options. + title: Hypernode Backup Policy | Secure and Automated +redirect_from: + - /en/hypernode/backups/hypernode-backup-policy/ --- @@ -19,7 +22,7 @@ Snapshots are rotated daily after the creation of a new backup. This implies tha ## The Most Recent Snapshot of Your Hypernode -A snapshot is a saved state of the `/data` device at a given moment in time. We can use this to create a static copy of that given state in time and transform this to a virtual device which we can attach to your Hypernode. Once attached, this device is mounted under `/data/backup` and you can easily restore your files by copying them from this file system. To restore database and file backups, see [this article](https://support.hypernode.com/en/hypernode/backups/how-to-restore-your-hypernode-from-a-backup). +A snapshot is a saved state of the `/data` device at a given moment in time. We can use this to create a static copy of that given state in time and transform this to a virtual device which we can attach to your Hypernode. Once attached, this device is mounted under `/data/backup` and you can easily restore your files by copying them from this file system. To restore database and file backups, see [this article](how-to-restore-your-hypernode-from-a-snapshot.md). **Everyone can always attach the most recent snapshot to your Hypernode for free**. You can do so by using the following command to attach the latest available snapshot to your node: @@ -63,7 +66,7 @@ SLA Standard users can also create instant snapshots via the Control Panel (for ## Restoring Your Hypernode From a Snapshot -You can restore your Hypernode from a snapshot yourself by using [this article](https://support.hypernode.com/en/hypernode/backups/how-to-restore-your-hypernode-from-a-backup) from our support documentation. +You can restore your Hypernode from a snapshot yourself by using [this article](how-to-restore-your-hypernode-from-a-snapshot.md) from our support documentation. Besides attaching the snapshot, which requires you to restore your data yourself, we can also restore your Hypernode from a snapshot for you. This means that we restore the appropriate database, files or directories from the backup. This service costs €125,-. Contact Support for more information about this. @@ -71,7 +74,7 @@ Besides attaching the snapshot, which requires you to restore your data yourself ## Create Your Own Backup and Download it to Your Local Machine -Due to security reasons we don't have easy options to just click and download your files/database to your local machine from your Control Panel. If you still want to download the files/database to your local machine for your peace of mind you'd have to do this manually. You can find instructions in our [documentation](https://support.hypernode.com/en/support/solutions/articles/48001208755-how-to-create-a-backup-and-download-it-to-your-local-machine). +Due to security reasons we don't have easy options to just click and download your files/database to your local machine from your Control Panel. If you still want to download the files/database to your local machine for your peace of mind you'd have to do this manually. You can find instructions in our [documentation](../../best-practices/backups/how-to-create-a-backup-and-download-it-to-your-local-machine.md). ## Using Hard-Links for Backup Retention @@ -85,7 +88,7 @@ We recommend to avoid hard-links in your content at all times. We make use of two backup mechanisms: One for the Hypernodes running on Amazon (AWS) and Combell OpenStack, and another mechanism for backups on DigitalOcean. -Read more about restoring backups on Hypernode in [our restore backups article](https://support.hypernode.com/knowledgebase/restore-hypernode-backup/). +Read more about restoring backups on Hypernode in [our restore backups article](how-to-restore-your-hypernode-from-a-snapshot.md). ### Backups on DigitalOcean diff --git a/docs/hypernode-platform/dns.md b/docs/hypernode-platform/dns.md index d63df1da..3292d61a 100644 --- a/docs/hypernode-platform/dns.md +++ b/docs/hypernode-platform/dns.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about DNS. + title: DNS | Hypernode platform +redirect_from: + - /en/hypernode/dns/ +--- + # DNS ```{toctree} diff --git a/docs/hypernode-platform/dns/dns-for-service-panel-users.md b/docs/hypernode-platform/dns/dns-for-service-panel-users.md index 4c524ad3..656dc119 100644 --- a/docs/hypernode-platform/dns/dns-for-service-panel-users.md +++ b/docs/hypernode-platform/dns/dns-for-service-panel-users.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: DNS is a protocol that translates domain names to IP addresses on - the internet. Read here how you can configure the DNS for your domain name at - Hypernode. + description: You can edit the DNS setting for your domain names in the Service + Panel (Instellingen => DNS). It takes 24 hours for a DNS change to be implemented. + title: How to manage your DNS as a Service Panel user? +redirect_from: + - /en/support/solutions/articles/48001153093-dns-for-service-panel-users/ --- @@ -16,7 +18,7 @@ You can edit the DNS setting for your domain names in the Service Panel (Instell It takes 24 hours for a DNS change to be implemented everywhere. Take this into account. -More information about DNS settings for your Magento webshop on Hypernode technology, for example how to manage your DNS settings for a Hypernode can be found [here](https://support.hypernode.com/en/hypernode/dns/how-to-manage-your-dns-settings-for-hypernode). +More information about DNS settings for your Magento webshop on Hypernode technology, for example how to manage your DNS settings for a Hypernode can be found [here](how-to-manage-your-dns-settings-for-hypernode.md). ## Manage DNS With a Third Party @@ -28,7 +30,7 @@ nsb.byte.nl nsc.byte.nl -If it is not possible to change the name servers at your domain provider you can find how to direct your domain to your Hypernode [here](https://support.hypernode.com/en/hypernode/dns/how-to-manage-your-dns-settings-for-hypernode#Manage-your-own-DNS%3A-CNAME-for-the-www-record). +If it is not possible to change the name servers at your domain provider you can find how to direct your domain to your Hypernode [here](how-to-manage-your-dns-settings-for-hypernode.md#option-2-manage-an-external-dns-by-pointing-your-domain-to-hypernode-by-using-cname-and-not-an-a-record). ## How Does DNS Work at Hypernode? @@ -158,11 +160,11 @@ An SOA record is mainly used for the internal communication of different DNS ser ### SPF Records -With an SPF record you can define which mail servers are allowed to send email for that particular domain (and prevent spam from being sent from your domain). You can find more information about SPF records and how to use them for Hypernode [here](https://support.hypernode.com/en/hypernode/dns/how-to-set-up-your-spf-records-for-hypernode). +With an SPF record you can define which mail servers are allowed to send email for that particular domain (and prevent spam from being sent from your domain). You can find more information about SPF records and how to use them for Hypernode [here](how-to-set-up-your-spf-records-for-hypernode.md). ## DNS Caching -DNS Caching means that the content of a DNS record is stored on a server between your computer and the authoritative name server. Some providers store this data longer than specified in the TTL, so it can take up to a day for the changes to your DNS record to take effect everywhere. This is something to keep in mind when changing DNS settings. There is very little you can do about it that the whole world does not immediately see your new site (most of it), but as a developer it is of course annoying. Fortunately, there is a (local) solution, namely the hosts file. This is a file where you can enter hostnames and IP addresses yourself. This way you can link a domain name to an IP address so that when you visit this domain name, the DNS server is no longer consulted and you are always referred to the same IP address.Please see[this article](https://support.hypernode.com/en/best-practices/testing/how-to-test-your-website-by-changing-your-hosts-file) for more information about the host file. +DNS Caching means that the content of a DNS record is stored on a server between your computer and the authoritative name server. Some providers store this data longer than specified in the TTL, so it can take up to a day for the changes to your DNS record to take effect everywhere. This is something to keep in mind when changing DNS settings. There is very little you can do about it that the whole world does not immediately see your new site (most of it), but as a developer it is of course annoying. Fortunately, there is a (local) solution, namely the hosts file. This is a file where you can enter hostnames and IP addresses yourself. This way you can link a domain name to an IP address so that when you visit this domain name, the DNS server is no longer consulted and you are always referred to the same IP address.Please see[this article](../../best-practices/testing/how-to-test-your-website-by-changing-your-hosts-file.md) for more information about the host file. ### DKIM and DMARC diff --git a/docs/hypernode-platform/dns/how-to-manage-your-dns-settings-for-hypernode.md b/docs/hypernode-platform/dns/how-to-manage-your-dns-settings-for-hypernode.md index c93040f0..2dd67edf 100644 --- a/docs/hypernode-platform/dns/how-to-manage-your-dns-settings-for-hypernode.md +++ b/docs/hypernode-platform/dns/how-to-manage-your-dns-settings-for-hypernode.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'Find out how to manage your DNS settings on Hypernode in order to - avoid downtime when up- or downgrading here. ' + description: This article explains three ways to handle your DNS. Please decide + for yourself the best option for your specific situation. + title: How to manage your DNS settings on a Hypernode? +redirect_from: + - /en/hypernode/dns/how-to-manage-your-dns-settings-for-hypernode/ + - /knowledgebase/dns-settings-hypernode/ --- @@ -73,7 +77,7 @@ If a domain is linked to a Hypernode, it’s no longer possible to manually chan - By letting us manage your DNS, you will also be able to use your apex domain - Preferably the TTL for the DNS records is low to make the transition to Hypernode quick. Please check this before making any changes to your DNS. -## Option 2: Manage an external DNS by pointing your domain(s) to Hypernode by using CNAME and not an A-record +## Option 2: Manage an external DNS by pointing your domain to Hypernode by using CNAME and not an A-record If you cannot transfer your DNS to Hypernode, you can choose to only point the CNAME record to your Hypernode. We do not recommend this option because you cannot use SSL on your naked (also called apex) domain name: yourdomain.com, without the ‘www.’-prefix. @@ -120,7 +124,7 @@ yourdomain.com A 46.21.233.172 ### Let's Encrypt and Wwwizers -Also important to note is that [Let's Encrypt](https://support.hypernode.com/en/hypernode/ssl/how-to-use-let-s-encrypt-on-hypernode) does not work when you use the wwwizers, the Let's Encrypt validation cannot be completed and will return an error. The solution is to purchase a paid SSL certificate via us or to use the direct IP of your Hypernode instead. +Also important to note is that [Let's Encrypt](../ssl/how-to-use-lets-encrypt-on-hypernode.md) does not work when you use the wwwizers, the Let's Encrypt validation cannot be completed and will return an error. The solution is to purchase a paid SSL certificate via us or to use the direct IP of your Hypernode instead. Don’t fancy these solutions? Migrate your domain to Hypernode and let us manage your DNS. @@ -144,13 +148,13 @@ To add a new vhost, for example the domain name `www.example.com`, to your confi Please note that defining the vhosts '[www.example.com](http://www.example.com)', does not automatically add 'example.com' as a vhost. You will have to manually define a vhost for this. Since most people want their 'example.com' to redirect to '[www.example.com](http://www.example.com)', you can use the `--type wwwizer` argument to set this up. This will configure the vhost to redirect all traffic to the www-version of the domain. -Read more about Hypernode Managed Vhosts in [this article](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts). +Read more about Hypernode Managed Vhosts in [this article](../nginx/hypernode-managed-vhosts.md). ## Redirects in Nginx If you want to force a redirect to [www](http://www). or the non-[www](http://www). domain, you can use a redirect. -You can read how this works [in this article](https://support.hypernode.com/knowledgebase/redirect-from-or-to-www/). +You can read how this works [in this article](../nginx/how-to-redirect-from-or-to-www.md). ## Shop on a subdomain? diff --git a/docs/hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md b/docs/hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md index 9e89d944..7a3235a8 100644 --- a/docs/hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md +++ b/docs/hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md @@ -1,8 +1,13 @@ --- myst: html_meta: - description: Sender Policy Framework, SPF, is a technique used to fight spam. - Find out here how to set it up for Hypernode. + description: SPF or Sender Policy Framework is a technique used to fight spam. + You can define which mail servers are allowed to send email for that particular + domain. + title: How to set up your SPF records? | Hypernode +redirect_from: + - /en/hypernode/dns/how-to-set-up-your-spf-records-for-hypernode/ + - /knowledgebase/using-spf-hypernode/ --- diff --git a/docs/hypernode-platform/dns/your-dns-is-misconfigured.md b/docs/hypernode-platform/dns/your-dns-is-misconfigured.md index eb64fd8f..74402c1d 100644 --- a/docs/hypernode-platform/dns/your-dns-is-misconfigured.md +++ b/docs/hypernode-platform/dns/your-dns-is-misconfigured.md @@ -3,6 +3,10 @@ myst: html_meta: description: The administrator of this domain has pointed www.domain.com to our DNS service, instead of appointing a CNAME to his/her Hypernode. + title: What to do if your DNS is misconfigured? | Hypernode +redirect_from: + - /en/hypernode/dns/your-dns-is-misconfigured/ + - /knowledgebase/www-domain-misconfigured/ --- @@ -11,4 +15,4 @@ myst: You’ve reached this page because the DNS for this domain has been misconfigured. The administrator of this domain has pointed [www.domain.com](http://www.domain.com) to our DNS service, instead of appointing a CNAME to his/her Hypernode. -If you are the administrator of this domain, please refer to the documentation on how [to configure DNS for Hypernode correctly](https://support.hypernode.com/knowledgebase/dns-settings-hypernode/). +If you are the administrator of this domain, please refer to the documentation on how [to configure DNS for Hypernode correctly](how-to-manage-your-dns-settings-for-hypernode.md). diff --git a/docs/hypernode-platform/email.md b/docs/hypernode-platform/email.md index 2d9baefb..8df9fc61 100644 --- a/docs/hypernode-platform/email.md +++ b/docs/hypernode-platform/email.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about email. + title: Email | Hypernode platform +redirect_from: + - /en/hypernode/email/ +--- + # Email ```{toctree} diff --git a/docs/hypernode-platform/email/how-to-activate-a-virus-filter-for-your-email-box.md b/docs/hypernode-platform/email/how-to-activate-a-virus-filter-for-your-email-box.md index fd73f7c3..c49a7a53 100644 --- a/docs/hypernode-platform/email/how-to-activate-a-virus-filter-for-your-email-box.md +++ b/docs/hypernode-platform/email/how-to-activate-a-virus-filter-for-your-email-box.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: A virus filter checks all incoming (and outgoing) email for viruses. - In this article we explain how Hypernodes virus filter works and how to deactive - it. + description: In this article we explain how Hypernodes virus filter works, how + to deactivate it and what type of file extensions are blocked by the virus filter. + title: How to activate a virus filter for your email box? | Hypernode +redirect_from: + - /en/best-practices/email/how-to-activate-a-virus-filter-for-your-email-box/ --- diff --git a/docs/hypernode-platform/email/how-to-configure-the-spam-filter.md b/docs/hypernode-platform/email/how-to-configure-the-spam-filter.md index eb20eca0..a0c66392 100644 --- a/docs/hypernode-platform/email/how-to-configure-the-spam-filter.md +++ b/docs/hypernode-platform/email/how-to-configure-the-spam-filter.md @@ -2,8 +2,11 @@ myst: html_meta: description: Spam is unsolicited email, usually with a commercial content. If - you receive a lot of spam, we at Hypernode recommend you to configure a spam - filter. + you receive a lot of spam in your email box, we recommend you to configure a + spam filter. + title: How to configure your email spam filter? | Hypernode +redirect_from: + - /en/best-practices/email/how-to-configure-the-spam-filter/ --- diff --git a/docs/hypernode-platform/email/how-to-manage-your-email-queue.md b/docs/hypernode-platform/email/how-to-manage-your-email-queue.md index 3a280572..fc58b455 100644 --- a/docs/hypernode-platform/email/how-to-manage-your-email-queue.md +++ b/docs/hypernode-platform/email/how-to-manage-your-email-queue.md @@ -2,8 +2,10 @@ myst: html_meta: description: If you are sending email through the Hypernode and your application - you will want to know how you can manage your email queue. Find out how to do - this here. + you will want to know how you can manage your email queue. + title: How to manage your email queue? | Hypernode +redirect_from: + - /en/hypernode/email/how-to-manage-your-email-queue/ --- @@ -34,7 +36,7 @@ app@yqc2sw-example-magweb-cmbl:~$ mailq --- 3 Kbytes in 3 Requests. ``` -In this use case there are three emails in the queue and one of them will not be send because the the DNS is not setup correctly. How to set up your DNS for outgoing email can be found in this [article](https://support.hypernode.com/en/hypernode/email/how-to-set-up-your-dns-for-outgoing-email). When the required DNS record is added to the domain DNS you are able to force a retry to send this email. This can be done from the Command Line Interface as the **app** user with: +In this use case there are three emails in the queue and one of them will not be send because the the DNS is not setup correctly. How to set up your DNS for outgoing email can be found in this [article](how-to-set-up-your-dns-for-outgoing-email.md). When the required DNS record is added to the domain DNS you are able to force a retry to send this email. This can be done from the Command Line Interface as the **app** user with: ``` app@yqc2sw-example-magweb-cmbl:~$ **/usr/sbin/sendmail -q** diff --git a/docs/hypernode-platform/email/how-to-set-up-your-dns-for-outgoing-email.md b/docs/hypernode-platform/email/how-to-set-up-your-dns-for-outgoing-email.md index 0cbf7f4a..e045bb4b 100644 --- a/docs/hypernode-platform/email/how-to-set-up-your-dns-for-outgoing-email.md +++ b/docs/hypernode-platform/email/how-to-set-up-your-dns-for-outgoing-email.md @@ -2,7 +2,11 @@ myst: html_meta: description: If your domain is hosted externally and you want to send email from - your Hypernode there are records that need to be added to the external DNS. + your Hypernode, there are some DNS records that need to be added to the external + DNS. + title: How to set up your DNS for outgoing email? | Hypernode +redirect_from: + - /en/hypernode/email/how-to-set-up-your-dns-for-outgoing-email/ --- @@ -15,17 +19,14 @@ In order to stop spam, and ensure reliable delivery of your webshop’s emails, ## Adding DNS Records -Please add the following DNS records to your nameservers, to authenticate your domain. If you already have an SPF record (the fourth record in the table) in place please check out our documentation on [SPF](https://support.hypernode.com/en/hypernode/dns/how-to-set-up-your-spf-records-for-hypernode), or contact our support for assistance on how to merge the SPF content into your existing values. +Please add the following DNS records to your nameservers, to authenticate your domain. If you already have an SPF record (the fourth record in the table) in place please check out our documentation on [SPF](../dns/how-to-set-up-your-spf-records-for-hypernode.md), or contact our support for assistance on how to merge the SPF content into your existing values. -| | | | | -| ------------------------------------- | -------- | ------- | ---------------------------------------------------------------- | -| **Name** | **Type** | **TTL** | **Content** | -| x-transip-mail-auth.***example.com*** | TXT | 600 | f491ddb3e61d1c92ab6de9f81257b1c0b95986d6550517f005c8e5e895da6fd2 | - -| -| \_domainkey.***example.com*** | TXT | 600 | o=~ | -| hypernode.\_domainkey.***example.com*** | CNAME | 600 | hypernode.\_domainkey.***example***.hypernode.io | -| ***example.com*** | TXT | 600 | v=spf1 include:spf.***example***.hypernode.io ~all | +| Name | Type | TTL | Content | +| --------------------------------------- | ----- | --- | ---------------------------------------------------------------- | +| x-transip-mail-auth.***example.com*** | TXT | 600 | f491ddb3e61d1c92ab6de9f81257b1c0b95986d6550517f005c8e5e895da6fd2 | +| \_domainkey.***example.com*** | TXT | 600 | o=~ | +| hypernode.\_domainkey.***example.com*** | CNAME | 600 | hypernode.\_domainkey.***example***.hypernode.io | +| ***example.com*** | TXT | 600 | v=spf1 include:spf.***example***.hypernode.io ~all | ## Validating your DNS records @@ -47,4 +48,4 @@ example.com - mail_auth: ok, dkim_hypernode: ok, spf_record: ok example.nl - mail_auth: error, dkim_hypernode: ok, spf_record: ok ``` -In this instance the audit gives a green light for **example.com**. From this domain you will be able to send email through your Hypernode and application. For the domain **example.nl** there is one mandatory DNS record missing, namely the **x-transip-mail-auth** This will lead to email from the domain **example.nl** to be **not send** and being held in your email queue. How to manage your email queue can be found in this [article](https://support.hypernode.com/en/hypernode/email/how-to-manage-your-email-queue). +In this instance the audit gives a green light for **example.com**. From this domain you will be able to send email through your Hypernode and application. For the domain **example.nl** there is one mandatory DNS record missing, namely the **x-transip-mail-auth** This will lead to email from the domain **example.nl** to be **not send** and being held in your email queue. How to manage your email queue can be found in this [article](how-to-manage-your-email-queue.md). diff --git a/docs/hypernode-platform/email/how-to-set-up-your-dns-for-using-office365.md b/docs/hypernode-platform/email/how-to-set-up-your-dns-for-using-office365.md index d7ece690..6beb398e 100644 --- a/docs/hypernode-platform/email/how-to-set-up-your-dns-for-using-office365.md +++ b/docs/hypernode-platform/email/how-to-set-up-your-dns-for-using-office365.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: How to set up your DNS when you want to use Office365 on a domain - that is hosted at Hypernode + description: When you want to use Office365 and your domain is registered with + Hypernode or hosted on our name servers, you will need to set up your DNS correctly + to do so. + title: How to set up your DNS for Office 365? | Hypernode +redirect_from: + - /en/best-practices/email/how-to-set-up-your-dns-for-using-office365/ --- @@ -42,6 +46,6 @@ When you want to keep using the Hypernode name servers while using Office365 you You don't need to add a new SPF record if you already have one (for example for your Hypernode) you can just edit the current one (with the pencil icon) and add the Outlook value to the current record -Please note that if you had created email boxes and email addresses at Hypernode, you must delete them. You can do this under **Instellingen > Email**in the Service Panel. Make sure to [export the emails](https://support.hypernode.com/en/best-practices/email/how-to-export-your-emails) in the inbox if you want to save them to your new Office365 account before deleting the accounts at Hypernode. +Please note that if you had created email boxes and email addresses at Hypernode, you must delete them. You can do this under **Instellingen > Email**in the Service Panel. Make sure to [export the emails](../../best-practices/email/how-to-export-your-emails.md) in the inbox if you want to save them to your new Office365 account before deleting the accounts at Hypernode. Do you have any questions about how Office 365 works? Then it is best to visit the [Office 365 Community](https://techcommunity.microsoft.com/t5/office-365/bd-p/Office365General). diff --git a/docs/hypernode-platform/email/how-to-use-dmarc.md b/docs/hypernode-platform/email/how-to-use-dmarc.md index 9fd9b9d8..86f7871a 100644 --- a/docs/hypernode-platform/email/how-to-use-dmarc.md +++ b/docs/hypernode-platform/email/how-to-use-dmarc.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Hypernode offers DMARC (Domain-based Message Authentication, Reporting - and Conformance) for Service Panel users. Read how to configure it in this article. + description: With SPF and DKIM you indicate which mail is real and which is fake. + With DMARC you then indicate what the recipient of the mail should do. + title: How to use DMARC? | Hypernode +redirect_from: + - /en/best-practices/email/how-to-use-dmarc/ --- diff --git a/docs/hypernode-platform/email/policy-for-sending-email-on-hypernode.md b/docs/hypernode-platform/email/policy-for-sending-email-on-hypernode.md index eece0e59..2705dc7c 100644 --- a/docs/hypernode-platform/email/policy-for-sending-email-on-hypernode.md +++ b/docs/hypernode-platform/email/policy-for-sending-email-on-hypernode.md @@ -1,8 +1,13 @@ --- myst: html_meta: - description: 'All emails send from a Hypernode are routed through a central outgoing - email platform that filters spam and infected emails. Read here about its policies. ' + description: Our mail platform handles rate limiting and enforces a strict limit + on your outgoing email flow. If you exceed the limits, your email will be delivered + at a later time. + title: Policy for sending emails on Hypernodes +redirect_from: + - /en/hypernode/email/policy-for-sending-email-on-hypernode/ + - /knowledgebase/hypernode-email-policy/ --- diff --git a/docs/hypernode-platform/email/spam-run-via-your-website.md b/docs/hypernode-platform/email/spam-run-via-your-website.md index 6e5ddafa..27a882f2 100644 --- a/docs/hypernode-platform/email/spam-run-via-your-website.md +++ b/docs/hypernode-platform/email/spam-run-via-your-website.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: "It's often difficult to find the exact cause of a spam run. Use\ - \ this article to find out what happened and how to prevent spam runs from your\ - \ website. " + description: 'All plans have the option to send emails from the website. Abusers + use this to advertise products, we call this a spam run. Read tje most common + reasons here. ' + title: Policy for sending emails on Hypernode +redirect_from: + - /en/hypernode/email/spam-run-via-your-website/ --- diff --git a/docs/hypernode-platform/ftp.md b/docs/hypernode-platform/ftp.md index f0310cb9..5f1c035f 100644 --- a/docs/hypernode-platform/ftp.md +++ b/docs/hypernode-platform/ftp.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about FTP. + title: FTP | Hypernode platform +redirect_from: + - /en/hypernode/ftp/ +--- + # FTP ```{toctree} diff --git a/docs/hypernode-platform/ftp/how-to-configure-ftp-sftp-on-hypernode.md b/docs/hypernode-platform/ftp/how-to-configure-ftp-sftp-on-hypernode.md index 7499e51f..47e9e296 100644 --- a/docs/hypernode-platform/ftp/how-to-configure-ftp-sftp-on-hypernode.md +++ b/docs/hypernode-platform/ftp/how-to-configure-ftp-sftp-on-hypernode.md @@ -3,6 +3,10 @@ myst: html_meta: description: In this article we’ll explain how you can configure FTP/SFTP (create/delete users) and which credentials to use to make a FTP/SFTP connection. + title: How to Configure FTP/SFTP on Hypernode +redirect_from: + - /en/hypernode/ftp/how-to-configure-ftp-sftp-on-hypernode/ + - /knowledgebase/configuring-ftp/ --- @@ -15,7 +19,7 @@ NB: We strongly recommend using SSH or SFTP for file transfers. FTP is an inhere ## Managing FTP -**NB: The FTP users created with the instructions below can also be used for SFTP. More information about this can be found**[**here**]()**.** +**NB: The FTP users created with the instructions below can also be used for SFTP. More information about this can be found**[**here**](#sftp-ssh-file-transfer-protocol)**.** ### Adding FTP Users @@ -161,15 +165,15 @@ You can login with the default app user credentials. The below instructions will #### Generate an SSH Keypair -Start by generating a keypair (a private and a public key). This can be done through a **Terminal** (Linux and Mac OSX have this program pre-installed) or through **PuTTY**. How to do this is covered in this [article](https://support.hypernode.com/knowledgebase/use-ssh-keys-on-hypernode/). +Start by generating a keypair (a private and a public key). This can be done through a **Terminal** (Linux and Mac OSX have this program pre-installed) or through **PuTTY**. How to do this is covered in this [article](../ssh/how-to-use-ssh-keys-on-hypernode.md). #### Add Your Public Key to Your Hypernode When you have generated the keypair you need to add your public key to your Hypernode. -Service Panel users can use the SSH Keymanager in the [Service panel.](https://support.hypernode.com/en/hypernode/ssh/how-to-use-ssh-keys-on-hypernode#Service-Panel-Users%3A-Add-Public-Key-to-the-SSH-Keymanager-2) +Service Panel users can use the SSH Keymanager in the [Service panel](../ssh/how-to-use-ssh-keys-on-hypernode.md#service-panel-users-add-public-key-to-the-ssh-keymanager). -Control Panel users also have access to an SSH Keymanager via their Control panel. How this works is explained in [this article](https://support.hypernode.com/en/services/control-panel/how-to-add-keys-to-the-ssh-keymanager). +Control Panel users also have access to an SSH Keymanager via their Control panel. How this works is explained in [this article](../../services/control-panel/how-to-add-keys-to-the-ssh-key-manager.md). Alternatively you can also add the public key to the the `~/.ssh/authorized_keys` file. diff --git a/docs/hypernode-platform/mysql.md b/docs/hypernode-platform/mysql.md index 89597b42..9bd77d91 100644 --- a/docs/hypernode-platform/mysql.md +++ b/docs/hypernode-platform/mysql.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about MySQL. + title: MySQL | Hypernode platform +redirect_from: + - /en/hypernode/mysql/ +--- + # MySQL ```{toctree} diff --git a/docs/hypernode-platform/mysql/how-to-configure-a-large-mysql-thread-stack.md b/docs/hypernode-platform/mysql/how-to-configure-a-large-mysql-thread-stack.md index 87a46498..e387f179 100644 --- a/docs/hypernode-platform/mysql/how-to-configure-a-large-mysql-thread-stack.md +++ b/docs/hypernode-platform/mysql/how-to-configure-a-large-mysql-thread-stack.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: For Hypernodes we have a set of MySQL related opt-in settings to - facilitate some flexibility (because it is not possible to change root-owned - MySQL related config files.) + description: 'In this article we will explain how to configure a large MySQL thread_stack + in detail. ' + title: How to configure a large MySQL thread stack? | Hypernode +redirect_from: + - /en/hypernode/mysql/how-to-configure-a-large-mysql-thread-stack/ --- diff --git a/docs/hypernode-platform/mysql/how-to-free-disk-space-from-mysql-ibdata1.md b/docs/hypernode-platform/mysql/how-to-free-disk-space-from-mysql-ibdata1.md index d5aff70a..cc801dcb 100644 --- a/docs/hypernode-platform/mysql/how-to-free-disk-space-from-mysql-ibdata1.md +++ b/docs/hypernode-platform/mysql/how-to-free-disk-space-from-mysql-ibdata1.md @@ -1,9 +1,13 @@ --- myst: html_meta: - description: MySQL uses serveral files for journaling transactions, ibdata1 for - example, which can grow quickly and is hard to remove. Read here how to free - up disk space. + description: 'As a result of how MySQL stores data, a ibdata1 file can grow very + large and removing it can cause data loss/corruption. Learn how to free disk + space. ' + title: How to free disk space from MySQL ibdata1? | Hypernode +redirect_from: + - /en/hypernode/mysql/how-to-free-disk-space-from-mysql-ibdata1/ + - /knowledgebase/free-diskspace-ibdata1/ --- diff --git a/docs/hypernode-platform/mysql/how-to-use-mysql-on-hypernode.md b/docs/hypernode-platform/mysql/how-to-use-mysql-on-hypernode.md index 7a51ba58..79f9814e 100644 --- a/docs/hypernode-platform/mysql/how-to-use-mysql-on-hypernode.md +++ b/docs/hypernode-platform/mysql/how-to-use-mysql-on-hypernode.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: This article explains how to use MySQL on Hypernode. Factors, such - as finding your credentials, whitelisting your IP address and using PHPMyAdmin - are included. + description: This article explains how to use MySQL on Hypernode, from finding + your credentials, whitelisting your IP address to using PHPMyAdmin. + title: How to use MySQL on Hypernode? +redirect_from: + - /en/hypernode/mysql/how-to-use-mysql-on-hypernode/ + - /knowledgebase/using-mysql-on-hypernode/ --- @@ -36,7 +39,7 @@ host = mysqlmaster.example.hypernode.io - Can create your own databases; - Create users; - Define views and triggers. -- If you want to use a GUI to work on your database we recommend using a local GUI ([HeidiSQL](https://support.hypernode.com/en/best-practices/database/how-to-use-heidisql-on-hypernode)) instead of an online GUI ([PHPMyAdmin](https://support.hypernode.com/en/hypernode/mysql/how-to-use-phpmyadmin)). +- If you want to use a GUI to work on your database we recommend using a local GUI ([HeidiSQL](../../best-practices/database/how-to-use-heidisql-on-hypernode.md)) instead of an online GUI ([PHPMyAdmin](../mysql/how-to-use-phpmyadmin.md)). ## Whitelisting Your IP Address @@ -151,7 +154,7 @@ You should consider using Magerun (see above), but you could use HeidiSQL to cre Hypernode offers several version of MySQL to be able to meet te requirements of several Magento, Shopware and Akeneo versions. For example, if you want to install Magento 2.4, you'd have to run MySQL 5.7 or 8.0. -To upgrade your MySQL version you can use[the hypernode-systemctl tool](https://support.hypernode.com/en/hypernode/tools/how-to-use-the-hypernode-systemctl-cli-tool#MySQL) through the command line. +To upgrade your MySQL version you can use[the hypernode-systemctl tool](../tools/how-to-use-the-hypernode-systemctl-cli-tool.md#mysql) through the command line. ```nginx hypernode-systemctl settings mysql_version --value 5.7 diff --git a/docs/hypernode-platform/mysql/how-to-use-phpmyadmin.md b/docs/hypernode-platform/mysql/how-to-use-phpmyadmin.md index 288491c6..48a47804 100644 --- a/docs/hypernode-platform/mysql/how-to-use-phpmyadmin.md +++ b/docs/hypernode-platform/mysql/how-to-use-phpmyadmin.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'In this article, we provide you with a detailed roadmap about how - you can use PHPMyAdmin and how to create a database dump. ' + description: This article will explain how you can use PHPMyAdmin and how to create + a database dump. + title: How to use PHPMyAdmin? | Hypernode +redirect_from: + - /en/hypernode/mysql/how-to-use-phpmyadmin/ + - /knowledgebase/use-phpmyadmin/ --- @@ -11,7 +15,7 @@ myst: This article will explain how you can use PHPMyAdmin and how to create a database dump. -*For your protection, phpMyAdmin by default is only accessible through the `example.hypernode.io/phpmyadmin/` URL, on Vagrant via the `*`example`*.hypernode.local/phpmyadmin/` url and on Docker through `YourBaseURL/dbadmin/` after you followed [these](https://support.hypernode.com/knowledgebase/use-phpmyadmin/#Reroute_phpmyadmin_to_dbadmin_and_add_a_whitelist) instructions. You can adjust this behaviour to your own preference.* +*For your protection, phpMyAdmin by default is only accessible through the `example.hypernode.io/phpmyadmin/` URL, on Vagrant via the `*`example`*.hypernode.local/phpmyadmin/` url and on Docker through `YourBaseURL/dbadmin/` after you followed [these](#configure-phpmyadmin) instructions. You can adjust this behaviour to your own preference.* ## Accessing PHPMyAdmin @@ -99,7 +103,7 @@ This is probably because you redirect ALL traffic over HTTPS. Try using PHPMyAdm - **I'm receiving an error while dumping the database** -Most of the time this happens when a database is large and you exceed the `max_execution_time` or `memory_limit` in php. If this happens try [dumping your database on the command line](https://support.hypernode.com/knowledgebase/using-mysql-on-hypernode/#Creating_a_MySQL_back-up) +Most of the time this happens when a database is large and you exceed the `max_execution_time` or `memory_limit` in php. If this happens try [dumping your database on the command line](how-to-use-mysql-on-hypernode.md#creating-a-mysql-back-up) - **My phpMyAdmin does not show any images** diff --git a/docs/hypernode-platform/nginx.md b/docs/hypernode-platform/nginx.md index f6be8c65..a5224333 100644 --- a/docs/hypernode-platform/nginx.md +++ b/docs/hypernode-platform/nginx.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about NGINX. + title: NGINX | Hypernode platform +redirect_from: + - /en/hypernode/nginx/ +--- + # NGINX ```{toctree} diff --git a/docs/hypernode-platform/nginx/basic-authentication-on-hypernode-development-plans.md b/docs/hypernode-platform/nginx/basic-authentication-on-hypernode-development-plans.md index 1c141ec6..cec7a82a 100644 --- a/docs/hypernode-platform/nginx/basic-authentication-on-hypernode-development-plans.md +++ b/docs/hypernode-platform/nginx/basic-authentication-on-hypernode-development-plans.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'Development Hypernodes are by default configured to offer a Basic - Authentication challenge to all visitors. Read all about it in this article. ' + description: 'Development Hypernodes are configured to offer a Basic Authentication + challenge to all visitors. Read everything about this basic Authentication. ' + title: Enable basic authentication on Hypernode development plans +redirect_from: + - /en/hypernode/nginx/basic-authentication-on-hypernode-development-plans/ + - /knowledgebase/basic-authentication-on-development-plans/ --- @@ -42,7 +46,7 @@ If your Development node lacks this file, or if your whitelist configuration onl To whitelist an IP address from basic authentication, you can add it to the geo statement in the whitelist file. You may also use an IP range, in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). Please note you cannot use hostnames in the whitelist. -To find out the IP's that need to be whitelisted, please contact the external service provider, or [check your access logs](https://support.hypernode.com/en/troubleshooting/performance/general-troubleshooting) to see what IP's are accessing the website. +To find out the IP's that need to be whitelisted, please contact the external service provider, or [check your access logs](../../troubleshooting/performance/general-troubleshooting.md) to see what IP's are accessing the website. ### Whitelist a User Agent @@ -73,4 +77,4 @@ Please note that Google and Bing are still blocked when everyone else is allowed ## Troubleshooting - Google Pagespeed analysis uses the Google bot user agent and can therefore not be used on development nodes. -- In some cases, particularly if you have not yet enabled [Hypernode Managed Vhosts](https://support.hypernode.com/nginx-configuration/hypernode-managed-vhosts/), it’s possible the Basic Authentication blocks the Let’s Encrypt validation server. If you wish to make use of Let’s Encrypt on your development Hypernode, you should add the ‘letsencrypt’ user agent to the whitelist file. +- In some cases, particularly if you have not yet enabled [Hypernode Managed Vhosts](../../hypernode-platform/nginx/hypernode-managed-vhosts.md), it’s possible the Basic Authentication blocks the Let’s Encrypt validation server. If you wish to make use of Let’s Encrypt on your development Hypernode, you should add the ‘letsencrypt’ user agent to the whitelist file. diff --git a/docs/hypernode-platform/nginx/how-to-add-custom-http-headers-to-a-file-or-location.md b/docs/hypernode-platform/nginx/how-to-add-custom-http-headers-to-a-file-or-location.md index 46772c23..f6d5a474 100644 --- a/docs/hypernode-platform/nginx/how-to-add-custom-http-headers-to-a-file-or-location.md +++ b/docs/hypernode-platform/nginx/how-to-add-custom-http-headers-to-a-file-or-location.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'By adding HTTP headers to a file or location, you can provide additional - information for several reasons. Find out how to add customer HTTP headers here. ' + description: 'In some cases, you may wish to add additional HTTP headers to a + file or location. Read how to do this, in this article. ' + title: How to add custom http headers to a file or location? Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-add-custom-http-headers-to-a-file-or-location/ --- @@ -53,7 +56,7 @@ add_header Access-Control-Allow-Origin "https://www.example.com"; And don’t forget to change the domain name in the above example. You could add more file extensions if you want. -# Keep in Mind +## Keep in Mind - It is only possible in Nginx to add locations once. Only the first location in the configuration file takes presence. This is because the Nginx config works on a per-request base. - Don’t use a colon (`:`) when adding headers. This will result in inconsistent results in different browsers. diff --git a/docs/hypernode-platform/nginx/how-to-block-allow-ip-addresses-in-nginx.md b/docs/hypernode-platform/nginx/how-to-block-allow-ip-addresses-in-nginx.md index 5d836ea8..22cfab81 100644 --- a/docs/hypernode-platform/nginx/how-to-block-allow-ip-addresses-in-nginx.md +++ b/docs/hypernode-platform/nginx/how-to-block-allow-ip-addresses-in-nginx.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'In Nginx blocking and allowing IP-addresses is done using the access - module. Find thorough guidelines in this article. ' + description: 'Hypernode makes use of Nginx. Blocking and allowing IP-addresses + is easily done in Nginx. Learn how in this article. ' + title: How to block IP addresses in NGINX? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-block-allow-ip-addresses-in-nginx/ + - /knowledgebase/blocking-allowing-ip-addresses-in-nginx/ --- diff --git a/docs/hypernode-platform/nginx/how-to-block-spammers-and-scanners.md b/docs/hypernode-platform/nginx/how-to-block-spammers-and-scanners.md index 053edd31..21eaff75 100644 --- a/docs/hypernode-platform/nginx/how-to-block-spammers-and-scanners.md +++ b/docs/hypernode-platform/nginx/how-to-block-spammers-and-scanners.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: It is increasingly common for spammers to crawl your site and a slow - site for real visitors. Here are some strategies for finding and blocking them. + description: It is increasingly common for spammers to crawl your site and it + can be hard to trace them down. Here are some strategies for finding and blocking + them. + title: How to block spammers and scanners? | Hypernode +redirect_from: + - /en/support/solutions/articles/48001165533-how-to-block-spammers-and-scanners/ --- diff --git a/docs/hypernode-platform/nginx/how-to-block-user-agents-and-referrer-sites.md b/docs/hypernode-platform/nginx/how-to-block-user-agents-and-referrer-sites.md index 1bbcad24..4cc8270f 100644 --- a/docs/hypernode-platform/nginx/how-to-block-user-agents-and-referrer-sites.md +++ b/docs/hypernode-platform/nginx/how-to-block-user-agents-and-referrer-sites.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'Find a thorough step by step guide on blocking user agents and referrer - sites here. ' + description: "Read in this article how you can both block user agents, as referrer\ + \ sites. We've got you. " + title: How to block user agents and referrer sites? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-block-user-agents-and-referrer-sites/ + - /knowledgebase/blocking-user-agents-referrers/ --- diff --git a/docs/hypernode-platform/nginx/how-to-block-your-webshop-for-specific-countries.md b/docs/hypernode-platform/nginx/how-to-block-your-webshop-for-specific-countries.md index 7e415f8e..cbf8ddbe 100644 --- a/docs/hypernode-platform/nginx/how-to-block-your-webshop-for-specific-countries.md +++ b/docs/hypernode-platform/nginx/how-to-block-your-webshop-for-specific-countries.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: Sometimes spam and abuse comes from specific countries. You could - block these countries, if needed. This article explains how to block them specifically. + description: A lot of spam and abuse comes from specific countries. If you don’t + do business there, you could block these countries. This article explains how + to. + title: How to block your webshop for specific countries? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-block-your-webshop-for-specific-countries/ --- diff --git a/docs/hypernode-platform/nginx/how-to-configure-nginx-for-a-multistore.md b/docs/hypernode-platform/nginx/how-to-configure-nginx-for-a-multistore.md index 1d37c262..9371e34b 100644 --- a/docs/hypernode-platform/nginx/how-to-configure-nginx-for-a-multistore.md +++ b/docs/hypernode-platform/nginx/how-to-configure-nginx-for-a-multistore.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Using domains or subdirectories for storefronts can be done by configuring - your Magento shop. Read about how to configure the store codes in Nginx here. + description: 'Read how to configure Nginx for a multistore in this in depth step-by-step + guide, starting with preparing your Magento shop. ' + title: How to configure NGINX for a multistore? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-configure-nginx-for-a-multistore/ --- @@ -23,11 +26,11 @@ There is multiple scenarios possible to set up your Magento multistore. You can - Using subdirectories (e.g. example.com/en/ and example.com/fr/ etc.) - Using a combination of different domains and subdirectories (e.g. example.com and example.net/en/ and example.net/fr/) -Below we have provided the instructions on how to set up each of the scenarios within Nginx on your Hypernode. Please do note that in order to follow the instructions your Hypernode must have [Hypernode Managed Vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) enabled. Furthermore we cannot guarantee that the instructions will work with all plugins and custom configurations since this has only been tested with the default Luma theme and without any customizations. +Below we have provided the instructions on how to set up each of the scenarios within Nginx on your Hypernode. Please do note that in order to follow the instructions your Hypernode must have [Hypernode Managed Vhosts](hypernode-managed-vhosts.md) enabled. Furthermore, we cannot guarantee that the instructions will work with all plugins and custom configurations since this has only been tested with the default Luma theme and without any customizations. ### Using Different Domains -When you opt for using different domains for each storefront then it will be relatively simple to setup Nginx for your multistore. Simply following the instructions on adding a new vhost with the instructions provided in the [Hypernode Managed Vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) documentation. Once you have added the required vhost you need to add a `server.storecode` file to the specific vhost directory (`/data/web/nginx/example.com/`) with the following content: +When you opt for using different domains for each storefront then it will be relatively simple to setup Nginx for your multistore. Simply following the instructions on adding a new vhost with the instructions provided in the [Hypernode Managed Vhosts](hypernode-managed-vhosts.md) documentation. Once you have added the required vhost you need to add a `server.storecode` file to the specific vhost directory (`/data/web/nginx/example.com/`) with the following content: ```nginx set $storecode "example_storecode"; @@ -121,7 +124,7 @@ Below you can find an example setup where all the above options have been combin +----+---------+------------------------------------+--------------------+ ``` -First add the following vhosts using the information from the [Hypernode Managed Vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) documentation. +First add the following vhosts using the information from the [Hypernode Managed Vhosts](hypernode-managed-vhosts.md) documentation. - [www.example.com](http://www.example.com) - [www.example.nl](http://www.example.nl) diff --git a/docs/hypernode-platform/nginx/how-to-configure-your-shop-to-only-use-https.md b/docs/hypernode-platform/nginx/how-to-configure-your-shop-to-only-use-https.md index a9c090dc..3a239128 100644 --- a/docs/hypernode-platform/nginx/how-to-configure-your-shop-to-only-use-https.md +++ b/docs/hypernode-platform/nginx/how-to-configure-your-shop-to-only-use-https.md @@ -1,9 +1,13 @@ --- myst: html_meta: - description: Hypernode recommends serving your site only over HTTPS traffic for - more safety and a better search index optimization. Read how to do so in this - article. + description: 'We recommend serving your site only over HTTPS traffic. This is + safer and is better for search index optimization. Configure your shop with + these steps. ' + title: How to configure your shop to only use https? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-configure-your-shop-to-only-use-https/ + - /knowledgebase/configuring-shop-use-https/ --- @@ -14,15 +18,15 @@ On Hypernode we recommend serving your site only over HTTPS traffic. This is saf Most of the available browsers only support HTTP/2 when your pages are served over SSL so to use this faster and newer HTTP technology, order an SSL certificate and make sure your site is only served over HTTPS. -You can find more in-depth information in [this article about SSL on Hypernode](https://support.hypernode.com/knowledgebase/use-ssl-certificates-on-your-hypernode/). +You can find more in-depth information in [this article about SSL on Hypernode](../ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-com.md). ## How to Use SSL Certificates via Hypernode.com -Please check out [this article](https://support.hypernode.com/en/hypernode/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-com) for the different SSL options when you use the Hypernode Control Panel. +Please check out [this article](../ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-com.md) for the different SSL options when you use the Hypernode Control Panel. ## How to Use SSL Certificates via Hypernode.nl -Please check out [this article](https://support.hypernode.com/en/hypernode/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-byte-nl) for the different SSL options when you use the Byte Service Panel. +Please check out [this article](../ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-nl.md) for the different SSL options when you use the Byte Service Panel. ## Order Let’s Encrypt Certificates @@ -46,13 +50,19 @@ This command will not only request a LE Certificate but because of the --force-h ### On Hypernodes Without Hypernode Managed Vhosts Enabled -To order [Let’s Encrypt](https://support.hypernode.com/knowledgebase/use-lets-encrypt-hypernode/) certificates for all storefronts, use the following command: +To order [Let’s Encrypt](../ssl/how-to-use-lets-encrypt-on-hypernode.md) certificates for all storefronts, use the following command: -```nginx -## Create an entry for each storefront for DOMAIN in $( n98-magerun sys:store:config:base-url:list --format=csv | sed 1d | cut -d , -f 3 | perl -pe "s/https?://(www.)?//" | tr -d "/" | sort -u ) ; do echo -e "$DOMAIN www.${DOMAIN}" >> ~/.dehydrated/domains.txtdone ## Order the certificatesdehydrated -c --create-dirs +```bash +## Create an entry for each storefront +for DOMAIN in $( n98-magerun sys:store:config:base-url:list --format=csv | sed 1d | cut -d , -f 3 | perl -pe "s/https?://(www.)?//" | tr -d "/" | sort -u ); do + echo -e "$DOMAIN www.${DOMAIN}" >> ~/.dehydrated/domains.txt +done + +## Order the certificates +dehydrated -c --create-dirs ``` -Don’t forget to [add the cron to renew your certificates](https://support.hypernode.com/knowledgebase/use-lets-encrypt-hypernode/) to the crontab if you are using Let’s Encrypt! +Don’t forget to [add the cron to renew your certificates](../ssl/how-to-use-lets-encrypt-on-hypernode.md) to the crontab if you are using Let’s Encrypt! ## Changing Your Base URLs @@ -76,7 +86,7 @@ Run the following command to add the configuration to Nginx that routes all traf echo 'if ($scheme = http) { return 301 https://$host$request_uri; }' >> /data/web/nginx/public.ssl_redirect ``` -**Please note that if you have [Hypernode Managed Vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) enabled, you can skip this.** +**Please note that if you have [Hypernode Managed Vhosts](hypernode-managed-vhosts.md) enabled, you can skip this.** ## Check Settings of Third Party Solutions diff --git a/docs/hypernode-platform/nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets.md b/docs/hypernode-platform/nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets.md index a8647140..4793b076 100644 --- a/docs/hypernode-platform/nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets.md +++ b/docs/hypernode-platform/nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: 'You can use include statement in Nginx to avoid duplicate configurations - for multiple locations. In this article we explain the different options for - you. ' + description: In Nginx you can use the include statement to avoid duplicate configuration + for multiple locations. In this article we describe some options. + title: Create a reusable config to include in custom snippets? +redirect_from: + - /en/hypernode/nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets/ + - /knowledgebase/create-reusable-config-for-custom-snippets/ --- @@ -17,7 +20,7 @@ This can be very useful to keep your configuration files tidy and clear. In this ## Create a Whitelist -If you work with additional applications like [phpRedisAdmin](https://support.hypernode.com/knowledgebase/setup-php-redis-admin-manage-redis-caches/), [Adminer](https://support.hypernode.com/knowledgebase/working-adminer-php-hypernode/), [Magmi](https://support.hypernode.com/knowledgebase/unblocking-and-accessing-magmi-for-hypernode/) or [PHPMyAdmin on a different domain or over ssl](https://support.hypernode.com/knowledgebase/use-phpmyadmin/#Hiding_PHPMyAdmin_from_the_world_by_adding_a_whitelist), a reusable whitelist or basic auth file can make things much easier, as you only need to manage a single file instead of one for every additional location. +If you work with additional applications like [Magmi](../tools/unblocking-and-accessing-magmi-for-hypernode.md) or [PHPMyAdmin on a different domain or over ssl](../mysql/how-to-use-phpmyadmin.md), a reusable whitelist or basic auth file can make things much easier, as you only need to manage a single file instead of one for every additional location. When a new developer joins or when the office IP of your organization changes, you can easily change the config without the need to grep for `allow` statements or multiple `basic_auth` files. @@ -59,9 +62,9 @@ Using this construction, you don’t need to update every location when another ### Create a Basic Auth Config File -In case you haven’t [created a basic auth password file](https://support.hypernode.com/knowledgebase/protect-a-directory-with-a-password-in-nginx/), do this first. +In case you haven’t [created a basic auth password file](how-to-protect-your-magento-store-with-a-password-in-nginx.md), do this first. -In this example we use the password file that is [automagically created on Hypernode Development nodes](https://support.hypernode.com/knowledgebase/basic-authentication-on-development-plans/): `/data/web/nginx/htpasswd-development`. +In this example we use the password file that is [automagically created on Hypernode Development nodes](basic-authentication-on-hypernode-development-plans.md): `/data/web/nginx/htpasswd-development`. ### Include the Configuration File in Custom Snippets diff --git a/docs/hypernode-platform/nginx/how-to-deny-access-to-locations-and-directories.md b/docs/hypernode-platform/nginx/how-to-deny-access-to-locations-and-directories.md index 9304a1e3..1457f703 100644 --- a/docs/hypernode-platform/nginx/how-to-deny-access-to-locations-and-directories.md +++ b/docs/hypernode-platform/nginx/how-to-deny-access-to-locations-and-directories.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: In this article we explain how to protect a directory from being - accessed through the web, create a location and deny access to it. + description: 'If you want to protect a directory from being accessed through the + web, create a location and deny access to it. Use the commandline here. ' + title: How to deny access to locations and directories? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-deny-access-to-locations-and-directories/ + - /knowledgebase/deny-access-locations-directories/ --- diff --git a/docs/hypernode-platform/nginx/how-to-find-the-the-top-10-visitors-by-parsing-the-nginx-access-logs.md b/docs/hypernode-platform/nginx/how-to-find-the-the-top-10-visitors-by-parsing-the-nginx-access-logs.md index c5b2fb73..fc0e2ecc 100644 --- a/docs/hypernode-platform/nginx/how-to-find-the-the-top-10-visitors-by-parsing-the-nginx-access-logs.md +++ b/docs/hypernode-platform/nginx/how-to-find-the-the-top-10-visitors-by-parsing-the-nginx-access-logs.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'Having statistics on the top 10 visitors could be very usefull. - Read here how you can easily use the Nginx access logging to find out. ' + description: 'To find the top 10 visitors of your Magento shop, you can easily + use the Nginx access logging tot get these statistics. Read all about it in + this article. ' + title: Find the top 10 visitors by parsing the NGINX access logs +redirect_from: + - /en/hypernode/nginx/how-to-find-the-the-top-10-visitors-by-parsing-the-nginx-access-logs/ --- diff --git a/docs/hypernode-platform/nginx/how-to-protect-your-magento-store-with-a-password-in-nginx.md b/docs/hypernode-platform/nginx/how-to-protect-your-magento-store-with-a-password-in-nginx.md index 01841153..f76c3d84 100644 --- a/docs/hypernode-platform/nginx/how-to-protect-your-magento-store-with-a-password-in-nginx.md +++ b/docs/hypernode-platform/nginx/how-to-protect-your-magento-store-with-a-password-in-nginx.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'To protect your Magento shop, you can use a password in Nginx. Read - about restricing access to a directory, specific domain or more in this article. ' + description: 'Keep your shop secure, by learning how to protect your Magento store + with a Password in Nginx. ' + title: Protect a Magento store with a password in NGINX | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-protect-your-magento-store-with-a-password-in-nginx/ + - /knowledgebase/protect-a-directory-with-a-password-in-nginx/ --- diff --git a/docs/hypernode-platform/nginx/how-to-redirect-from-or-to-www.md b/docs/hypernode-platform/nginx/how-to-redirect-from-or-to-www.md index f71238c2..36b533cb 100644 --- a/docs/hypernode-platform/nginx/how-to-redirect-from-or-to-www.md +++ b/docs/hypernode-platform/nginx/how-to-redirect-from-or-to-www.md @@ -1,9 +1,13 @@ --- myst: html_meta: - description: Some shop owners prefer a domain name starting with www, others prefer - without. Many constructions are possible. Check out how to redirect from or - to WWW here. + description: 'Some shop owners prefer a domain name starting with www, others + prefer without. Read how to redirect from or to WWW in this article. ' + title: How to redirect from or to www? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-redirect-from-or-to-www/ + - /knowledgebase/redirect-from-or-to-www/ + - /knowledgebase/redirect-specific-domains-urls-https/ --- @@ -18,7 +22,7 @@ If you use the wwwizer servers, which are sometimes used when your domain is not For Service Panel customers only: when your domain is hosted at Hypernode, simply link it to your Hypernode through the [Service Panel](https://service.byte.nl/) -More info can be found [on our page about setting your DNS](https://support.hypernode.com/knowledgebase/dns-settings-hypernode/). +More info can be found [on our page about setting your DNS](../dns/how-to-manage-your-dns-settings-for-hypernode.md). ## Redirect From Apex to WWW diff --git a/docs/hypernode-platform/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md b/docs/hypernode-platform/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md index f3405cab..0bf616cc 100644 --- a/docs/hypernode-platform/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md +++ b/docs/hypernode-platform/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md @@ -1,8 +1,13 @@ --- myst: html_meta: - description: This article explains the differences between rate limiting methods - and show you how to find which one applies and if needed, how to override them. + description: This article will explain the differences between the different rate-limiting + methods, how to find which rate-limiting method applies and how to override + them. + title: How to Resolve 429 Too Many Requests | Rate Limited Requests +redirect_from: + - /en/hypernode/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests/ + - /knowledgebase/resolving-429-many-requests/ --- @@ -50,7 +55,7 @@ A log entry where the rate limit is applied per IP address (based on the `zonepe ## Rate Limiting for Bots and Crawlers -Every day, your webshop is visited by many different bots and crawlers. While some, like Google, are important, many only have [a negative impact](https://support.hypernode.com/en/best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers) on your site, especially if they don’t follow your robots.txt. To protect your Hypernode against negative performance impacts by misbehaving bots, it utilizes an advanced rate-limiting mechanism. This slows down the hit rate for unimportant bots, leaving more performance for the bots you do care about and, more importantly, your actual visitors. +Every day, your webshop is visited by many different bots and crawlers. While some, like Google, are important, many only have [a negative impact](../../best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers.md) on your site, especially if they don’t follow your robots.txt. To protect your Hypernode against negative performance impacts by misbehaving bots, it utilizes an advanced rate-limiting mechanism. This slows down the hit rate for unimportant bots, leaving more performance for the bots you do care about and, more importantly, your actual visitors. ### Rejecting 429 Too Many Requests @@ -110,7 +115,7 @@ Besides the above-known plugins that will hit the blacklisted keyword, `http.rat To prevent a single IP from using all the FPM workers available simultaneously, leaving no workers available for other visitors, we implemented a per IP rate limit mechanism. This mechanism sets a maximum amount of PHP-FPM workers that can be used by one IP to 20. This way, one single IP address cannot deplete all the available FPM workers, leaving other visitors with an error page or a non-responding site. -**Please note:** if [Hypernode Managed Vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) is enabled, only add the `http.conn_ratelimit` file in the Nginx root. Don't add it to the specific vhost as well, as these files will cancel each other out. +**Please note:** if [Hypernode Managed Vhosts](hypernode-managed-vhosts.md) is enabled, only add the `http.conn_ratelimit` file in the Nginx root. Don't add it to the specific vhost as well, as these files will cancel each other out. ### Exclude IP Addresses from the per IP Rate Limiting diff --git a/docs/hypernode-platform/nginx/how-to-restrict-access-to-your-admin-area.md b/docs/hypernode-platform/nginx/how-to-restrict-access-to-your-admin-area.md index d46a4dfa..22027b9a 100644 --- a/docs/hypernode-platform/nginx/how-to-restrict-access-to-your-admin-area.md +++ b/docs/hypernode-platform/nginx/how-to-restrict-access-to-your-admin-area.md @@ -1,16 +1,18 @@ --- myst: html_meta: - description: It's important to restrict access to your Magento admin panel to - keep hackers from having access to all your data. In this article we explain - how to do so. + description: 'It is very important to restrict access to your Magento admin panel. + Find out how to restrict access to your admin area. ' + title: How to restrict access to your admin area? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-restrict-access-to-your-admin-area/ --- # How to Restrict Access to Your Admin Area -It is very important to restrict access to your Magento admin panel. Hypernodes do have a [Fail2Ban](https://support.hypernode.com/knowledgebase/how-to-protect-your-magento-store-against-brute-force/), but if your password has been leaked, hackers will have access to all your data and your customers data with all the consequences that entails. One of the best ways to restrict access is by limiting the IP address that can even access the admin section. +It is very important to restrict access to your Magento admin panel. Hypernodes do have a [Fail2Ban](../../best-practices/security/how-to-protect-magento-against-brute-force-attacks.md), but if your password has been leaked, hackers will have access to all your data and your customers data with all the consequences that entails. One of the best ways to restrict access is by limiting the IP address that can even access the admin section. The snippet below will restrict access to the admin panel to 80.113.31.106 and 81.114.32.107. All other IP's will be denied. Replace the IP addresses with your IP address(es), if you don't know your current network IP, just visit [icanhazip.com](http://icanhazip.com). diff --git a/docs/hypernode-platform/nginx/how-to-rewrite-a-trailing-slash-for-seo-purposes.md b/docs/hypernode-platform/nginx/how-to-rewrite-a-trailing-slash-for-seo-purposes.md index fca69958..9a86f8b4 100644 --- a/docs/hypernode-platform/nginx/how-to-rewrite-a-trailing-slash-for-seo-purposes.md +++ b/docs/hypernode-platform/nginx/how-to-rewrite-a-trailing-slash-for-seo-purposes.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: Rewriting trailing slash for a better result in search engines requires - some Nginx configuration. In this article we explain how to rewrite them. + description: 'Search engines don’t like duplicate content. To rewrite trailing + slashes some additional Nginx configuration is required. Follow these steps + to rewrite them. ' + title: How to rewrite a trailing slash for SEO? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-rewrite-a-trailing-slash-for-seo-purposes/ --- diff --git a/docs/hypernode-platform/nginx/how-to-set-the-server-name-in-nginx.md b/docs/hypernode-platform/nginx/how-to-set-the-server-name-in-nginx.md index fb1fb593..706b6643 100644 --- a/docs/hypernode-platform/nginx/how-to-set-the-server-name-in-nginx.md +++ b/docs/hypernode-platform/nginx/how-to-set-the-server-name-in-nginx.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Hypernode makes use of Nginx for better performance and to allow - more visitors. This article explains how to set the server name in Nginx. + description: Hypernode makes use of Nginx. This article explains how to set the + server name in Nginx. + title: How to set a server name in NGINX? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-set-the-server-name-in-nginx/ --- diff --git a/docs/hypernode-platform/nginx/how-to-speed-up-your-magento-shop-by-tuning-gzip-compression.md b/docs/hypernode-platform/nginx/how-to-speed-up-your-magento-shop-by-tuning-gzip-compression.md index 70c38c2c..ea19e844 100644 --- a/docs/hypernode-platform/nginx/how-to-speed-up-your-magento-shop-by-tuning-gzip-compression.md +++ b/docs/hypernode-platform/nginx/how-to-speed-up-your-magento-shop-by-tuning-gzip-compression.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: On Hypernodes, GZIP Compression is already configured to compress - responses larger than 1000 bytes. For experts however, it is possible to make - your own adjustments to tune GZIP Compression. + description: 'You can speed up your Magento shop by Tuning Gzip Compression. Read + how, in this article. ' + title: How to speed up a Magento shop by tuning GZIP compression? +redirect_from: + - /en/hypernode/nginx/how-to-speed-up-your-magento-shop-by-tuning-gzip-compression/ --- diff --git a/docs/hypernode-platform/nginx/how-to-unblock-requests-to-sql-and-archive-files-on-your-hypernode.md b/docs/hypernode-platform/nginx/how-to-unblock-requests-to-sql-and-archive-files-on-your-hypernode.md index 468a350b..4ee9efe3 100644 --- a/docs/hypernode-platform/nginx/how-to-unblock-requests-to-sql-and-archive-files-on-your-hypernode.md +++ b/docs/hypernode-platform/nginx/how-to-unblock-requests-to-sql-and-archive-files-on-your-hypernode.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: By default .sql files and archive files are blocked on Hypernode. - This article explains how you can unblock those files and make them downloadable + description: 'Read in this article how to ublock requests to sql and archive files + on your Hypernode. ' + title: How to unblock requests to SQL and archive files? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-unblock-requests-to-sql-and-archive-files/ --- diff --git a/docs/hypernode-platform/nginx/how-to-use-nginx.md b/docs/hypernode-platform/nginx/how-to-use-nginx.md index 3e326fb2..a75edafb 100644 --- a/docs/hypernode-platform/nginx/how-to-use-nginx.md +++ b/docs/hypernode-platform/nginx/how-to-use-nginx.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'Using Nginx instead of Apache increases performance and allows more - visitors. Read here how to use Nginx on Hypernode. ' + description: 'At Hypernode we’ve taken great care to tweak the Nginx server for + optimal performance and usability. Find out how to use Nginx. ' + title: How to use NGINX? | Hypernode +redirect_from: + - /en/hypernode/nginx/how-to-use-nginx/ --- @@ -54,11 +57,11 @@ Tips: Some typical scenarios are explained below: -- [How to block/allow IP-addresses in Nginx](https://support.hypernode.com/en/hypernode/nginx/how-to-block-allow-ip-addresses-in-nginx) -- [How to Protect Your Magento Store With a Password in Nginx](https://support.hypernode.com/en/hypernode/nginx/how-to-protect-your-magento-store-with-a-password-in-nginx) -- [How to Set the Server Name in Nginx](https://support.hypernode.com/en/hypernode/nginx/how-to-set-the-server-name-in-nginx) +- [How to block/allow IP-addresses in Nginx](how-to-block-allow-ip-addresses-in-nginx.md) +- [How to Protect Your Magento Store With a Password in Nginx](how-to-protect-your-magento-store-with-a-password-in-nginx.md) +- [How to Set the Server Name in Nginx](how-to-set-the-server-name-in-nginx.md) -More specific Nginx configurations can be found in [the category page about Nginx](https://support.hypernode.com/en/hypernode/nginx/). +More specific Nginx configurations can be found in [the category page about Nginx](../nginx.md). ## Modern Logging diff --git a/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md b/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md index 2dd19f42..2c8d1f4c 100644 --- a/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md +++ b/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: A Hypernode Managed Vhost system is a configuration allowing you - to setup multiple domainnames with an own independant configuration. Reall all - about it here. + description: Learn all about The Hypernode Managed Vhosts (HMV). The system is + an easy to use, yet powerful, system of configuring Nginx on Hypernode. + title: How to enable and manage Hypernode Vhosts? +redirect_from: + - /en/hypernode/nginx/hypernode-managed-vhosts/ --- diff --git a/docs/hypernode-platform/php.md b/docs/hypernode-platform/php.md index 3605f743..eba083bd 100644 --- a/docs/hypernode-platform/php.md +++ b/docs/hypernode-platform/php.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about PHP. + title: PHP | Hypernode platform +redirect_from: + - /en/hypernode/php/ +--- + # PHP ```{toctree} diff --git a/docs/hypernode-platform/php/how-to-flush-the-php-opcache.md b/docs/hypernode-platform/php/how-to-flush-the-php-opcache.md index ac87f5a3..ea5723dc 100644 --- a/docs/hypernode-platform/php/how-to-flush-the-php-opcache.md +++ b/docs/hypernode-platform/php/how-to-flush-the-php-opcache.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: 'In order to keep your backend to suffer from inaccessibility, you - need to be able to flush the OPcache from the command line. Read here how to - do so. ' + description: 'You need to be able to flush the OPcache from the command line in + case of errors. Follow these steps to flush the PHP OPcade in the CLI. ' + title: How to flush the PHP OPcache? | Hypernode +redirect_from: + - /en/hypernode/php/how-to-flush-the-php-opcache/ --- diff --git a/docs/hypernode-platform/php/how-to-override-php-settings.md b/docs/hypernode-platform/php/how-to-override-php-settings.md index d5b9c17b..3902b97a 100644 --- a/docs/hypernode-platform/php/how-to-override-php-settings.md +++ b/docs/hypernode-platform/php/how-to-override-php-settings.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: To use certain software inside your Magento shop, new PHP settings - are required. 'Max_execution_time' for example. Here's how to override default - PHP settings. + description: 'Sometimes you want to use software inside your Magento shop, that + require some other settings for PHP. Find out how to override PHP settings. ' + title: How to override PHP settings? | Hypernode +redirect_from: + - /en/hypernode/php/how-to-override-php-settings/ --- diff --git a/docs/hypernode-platform/php/how-to-resolve-502-gateway-errors.md b/docs/hypernode-platform/php/how-to-resolve-502-gateway-errors.md index 27888743..8f1cdb4d 100644 --- a/docs/hypernode-platform/php/how-to-resolve-502-gateway-errors.md +++ b/docs/hypernode-platform/php/how-to-resolve-502-gateway-errors.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: A 502 Bad Gateway error indicates there has been an internal error - within PHP, which resulted in the site not being rendered. Check out how to - solve it here. + description: 'A 502 Bad Gateway error indicates there has been an internal error + within PHP. Learn how to resolve 502 Gateway errors. ' + title: How to resolve 502 Gateway errors? | Hypernode +redirect_from: + - /en/hypernode/php/how-to-resolve-502-gateway-errors/ --- @@ -71,7 +73,7 @@ You could experience a 502 error due to a misconfiguration of Varnish. For examp - Have you configured Varnish caching in the backend? Check if Varnish is enabled on the Hypernode: `hypernode-systemctl settings varnish_enabled` this should return `true`. If not, enable Varnish: `hypernode-systemctl settings varnish_enabled true` -- Is [HMV](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) enabled? Check if Varnish is enabled for the vhost: +- Is [HMV](../nginx/hypernode-managed-vhosts.md) enabled? Check if Varnish is enabled for the vhost: `hypernode-manage-vhosts --all` If not, enable Varnish for the vhost:`hypernode-manage-vhosts example.com --varnish` - Or if you've just disabled Varnish in the backend, make sure to disable Varnish for the vhosts as well: diff --git a/docs/hypernode-platform/php/supported-php-versions-and-how-to-change-them-on-hypernode.md b/docs/hypernode-platform/php/supported-php-versions-and-how-to-change-them-on-hypernode.md index aaf4684f..c21f6e97 100644 --- a/docs/hypernode-platform/php/supported-php-versions-and-how-to-change-them-on-hypernode.md +++ b/docs/hypernode-platform/php/supported-php-versions-and-how-to-change-them-on-hypernode.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'On Hypernode you can choose from a range of PHP versions. Check - out which ones and how to change them here. ' + description: On Hypernode you can choose from a range of PHP versions. Check out + which ones and how to change them here. + title: Support PHP versions and how to change them on Hypernode +redirect_from: + - /en/hypernode/php/supported-php-versions-and-how-to-change-them-on-hypernode/ + - /knowledgebase/php-versions-magento-shop-hypernode/ --- @@ -50,7 +54,7 @@ It's quite easy to change the PHP version used on your Hypernode. You can change ### Via the hypernode-systemctl Tool -The easiest way to switch is by using the [hypernode-systemctl tool](https://support.hypernode.com/knowledgebase/hypernode-systemctl-cli-tool/). +The easiest way to switch is by using the [hypernode-systemctl tool](../tools/how-to-use-the-hypernode-systemctl-cli-tool.md). To see what version your Hypernode is configured with, you can run the following command: @@ -97,7 +101,7 @@ Afterwards it may take up to 10 minutes before your upgrade has completed. ## Testing a PHP Version -Unfortunately it is not possible to test with 2 PHP versions on one Hypernode. Before switching your PHP version we recommend you to test your shop to see if everything works as it should in the new PHP version. Testing your shop without having your customers notice anything can be done with [Docker for Hypernode](https://support.hypernode.com/knowledgebase/hypernode-docker/). Docker is a tool that gives you the opportunity to set up a virtual staging environment. You can also temporarily order a [Hypernode development package](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/) to test your shop on. +Unfortunately it is not possible to test with 2 PHP versions on one Hypernode. Before switching your PHP version we recommend you to test your shop to see if everything works as it should in the new PHP version. Testing your shop without having your customers notice anything can be done with [Docker for Hypernode](../../best-practices/testing/hypernode-docker.md). Docker is a tool that gives you the opportunity to set up a virtual staging environment. You can also temporarily order a [Hypernode development package](../tools/how-to-use-hypernode-development-plans.md) to test your shop on. ## The Importance of Upgrading PHP @@ -141,4 +145,4 @@ According to Magento's Documentation, Magento 1.9.4 supports PHP 5.6, 7.0, 7.1, ### Ioncube compatibility -We support Ioncube for PHP 5.6 and PHP 7.x, but this extension is not enabled by default as it is a big performance killer. If you wish to have Ioncube enabled, please manually enable it via [the hypernode-systemctl tool](https://support.hypernode.com/knowledgebase/hypernode-systemctl-cli-tool/). +We support Ioncube for PHP 5.6 and PHP 7.x, but this extension is not enabled by default as it is a big performance killer. If you wish to have Ioncube enabled, please manually enable it via [the hypernode-systemctl tool](../tools/how-to-use-the-hypernode-systemctl-cli-tool.md). diff --git a/docs/hypernode-platform/php/what-limits-apply-to-active-php-requests-per-ip.md b/docs/hypernode-platform/php/what-limits-apply-to-active-php-requests-per-ip.md index cf2648e3..7b8bdb54 100644 --- a/docs/hypernode-platform/php/what-limits-apply-to-active-php-requests-per-ip.md +++ b/docs/hypernode-platform/php/what-limits-apply-to-active-php-requests-per-ip.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: Hypernodes uses Nginx and PHP-FPM for processing and serving PHP - pages causing a few limitations to PHP requests per IP. Read all about the details - here. + description: 'The amount of workers available on a Hypernode depends on how many + available CPU cores the server has. Learn what limits apply to active PHP requests. ' + title: What limits apply to active PHP requests per IP? | Hypernode +redirect_from: + - /en/support/solutions/articles/48000967652-what-limits-apply-to-active-php-requests-per-ip/ --- @@ -18,4 +20,4 @@ When one IP uses up most or all of the available workers, this causes a processi Previously we configured a limit of `vCPUs * 5 - 2`. For our largest Hypernode plans, this could theoretically mean one IP using up to 99% of the available workers. This is undesired behaviour, but it can happen when a lot of people are accessing the admin pages from one office IP. This is why we have chosen to set the limit at 30 workers per IP. -Users that overstep this limit will be served a [429 too many requests status code](https://support.hypernode.com/knowledgebase/resolving-429-many-requests/). You can always circumvent this per IP rate-limiting by [whitelisting IP's in the NGINX config](https://support.hypernode.com/knowledgebase/resolving-429-many-requests/#Exclude_known_IP8217s_from_the_per_IP_rate_limiting_mechanism). +Users that overstep this limit will be served a [429 too many requests status code](../nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md). You can always circumvent this per IP rate-limiting by [whitelisting IP's in the NGINX config](../nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md#exclude-ip-addresses-from-the-per-ip-rate-limiting). diff --git a/docs/hypernode-platform/ssh.md b/docs/hypernode-platform/ssh.md index 5899c2a8..ee142705 100644 --- a/docs/hypernode-platform/ssh.md +++ b/docs/hypernode-platform/ssh.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about SSH. + title: SSH | Hypernode platform +redirect_from: + - /en/hypernode/ssh/ +--- + # SSH ```{toctree} diff --git a/docs/hypernode-platform/ssh/how-to-log-in-to-the-hypernode-with-ssh.md b/docs/hypernode-platform/ssh/how-to-log-in-to-the-hypernode-with-ssh.md index c5e4fd36..1aacf74c 100644 --- a/docs/hypernode-platform/ssh/how-to-log-in-to-the-hypernode-with-ssh.md +++ b/docs/hypernode-platform/ssh/how-to-log-in-to-the-hypernode-with-ssh.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'To access a new Hypernode, you need to use an SSH client. This tutorial - shows how to log in to the Hypernode with PuTTY or Terminal using SSH. ' + description: This tutorial shows how to log in to the Hypernode with PuTTY (for + Windows users) or Terminal (Linux and Mac OSX) using SSH. + title: How to log into a Hypernode with SSH? +redirect_from: + - /en/hypernode/ssh/how-to-log-in-to-the-hypernode-with-ssh/ + - /knowledgebase/login-hypernode-ssh/ --- @@ -13,7 +17,7 @@ Congratulations with your new Hypernode! To access it, you need to use an SSH cl This tutorial shows how to log in to the Hypernode with PuTTY (for Windows users) or Terminal (Linux and Mac OSX) using SSH. -NB: If you want to create SSH keys, please read the article: [Create SSH Keys on Hypernode](https://support.hypernode.com/knowledgebase/use-ssh-keys-on-hypernode/). +NB: If you want to create SSH keys, please read the article: [Create SSH Keys on Hypernode](../ssh/how-to-use-ssh-keys-on-hypernode.md). ## For Windows Users diff --git a/docs/hypernode-platform/ssh/how-to-use-ssh-keys-on-hypernode.md b/docs/hypernode-platform/ssh/how-to-use-ssh-keys-on-hypernode.md index 387d2af0..73c2ac3b 100644 --- a/docs/hypernode-platform/ssh/how-to-use-ssh-keys-on-hypernode.md +++ b/docs/hypernode-platform/ssh/how-to-use-ssh-keys-on-hypernode.md @@ -3,6 +3,10 @@ myst: html_meta: description: This tutorial shows how to create a keypair and use PuTTY (for Windows users) or Terminal (Linux and Mac OSX) to log in to your Hypernode. + title: How to use SSH keys on a Hypernode? +redirect_from: + - /en/hypernode/ssh/how-to-use-ssh-keys-on-hypernode/ + - /knowledgebase/use-ssh-keys-on-hypernode/ --- @@ -32,7 +36,7 @@ To generate an SSH keypair and connect to your Hypernode, you’ll need to use t After you have created a key pair, make sure you add your public key to your Hypernode. Please check first if you have access to a Byte Service Panel or a Hypernode control Panel. -### Service Panel Users: Add Public Key to the SSH Keymanager +### Service Panel Users: Add Public Key to the SSH Keymanager from Windows If you log in via the **Service Panel**, you have access to an SSH Keymanager to add your public keys to a Hypernode. The steps: diff --git a/docs/hypernode-platform/ssl.md b/docs/hypernode-platform/ssl.md index 672dbe88..e925f975 100644 --- a/docs/hypernode-platform/ssl.md +++ b/docs/hypernode-platform/ssl.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about SSL. + title: SSL | Hypernode platform +redirect_from: + - /en/hypernode/ssl/ +--- + # SSL ```{toctree} diff --git a/docs/hypernode-platform/ssl/how-to-upgrade-your-ssl-settings-to-an-a.md b/docs/hypernode-platform/ssl/how-to-upgrade-your-ssl-settings-to-an-a.md index 810afd28..6d8e309d 100644 --- a/docs/hypernode-platform/ssl/how-to-upgrade-your-ssl-settings-to-an-a.md +++ b/docs/hypernode-platform/ssl/how-to-upgrade-your-ssl-settings-to-an-a.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: Many developers validate their SSL setting on Hypernode with Qualys - SSL labs. This article explains how to get an A+ rating for your SSL configuration. + description: Developers use the Qualys SSL labs server test to validate the SSL + settings on their node. Learn how to get an A+ rating for your Hypernode SSL + configuration. + title: How to Upgrade Your SSL Settings to an A+? | Hypernode +redirect_from: + - /en/hypernode/ssl/how-to-upgrade-your-ssl-settings-to-an-a-plus/ --- @@ -13,7 +17,7 @@ Many developers use the [Qualys SSL labs server test](https://www.ssllabs.com/ss ## SSL on Hypernode Background -There are multiple ways of configuring SSL on Hypernode, you can use [Let’s Encrypt](https://support.hypernode.com/en/hypernode/ssl/how-to-use-let-s-encrypt-on-hypernode), [Your own SSL certificate](https://support.hypernode.com/knowledgebase/use-ssl-certificates-on-your-hypernode/) or [Buy one from Hypernode via your Service Panel](https://support.hypernode.com/knowledgebase/link-ssl-certificate-hypernode/). Option 2 and 3 are only applicable if you are a **Service Panel** user with access to the [Service Panel](https://service.byte.nl/). +There are multiple ways of configuring SSL on Hypernode, you can use [Let’s Encrypt](../ssl/how-to-use-lets-encrypt-on-hypernode.md) or [order an SSL certificate](../ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-com.md). All these methods of enabling SSL on your Hypernode, share the same configuration templates that we use for creating an Nginx configuration. @@ -31,7 +35,7 @@ It is possible to switch to the [Modern Compatibility Settings](https://wiki.moz #### Mozilla Modern Configuration and Hypernode Managed Vhosts -The Hypernode Managed Vhosts (HMV) system is currently enabled by default on all new booted Hypernodes (booted after 01-05-2020). Read more about HMV [here](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts). +The Hypernode Managed Vhosts (HMV) system is currently enabled by default on all new booted Hypernodes (booted after 01-05-2020). Read more about HMV [here](../nginx/hypernode-managed-vhosts.md). When you have different vhosts configured, you also need to enable the SSL config **per vhost**. You do this by running this command: @@ -76,26 +80,26 @@ If the site is served over HTTPS and static content is requested over HTTP, an e Google has written some incredible instructions on [how to fix and prevent mixed content warnings](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/fixing-mixed-content) that can help you circumvent issues regarding mixed content. -If you experience many mixed content warnings after [changing your base-URLs in Magento](https://support.hypernode.com/knowledgebase/change-magento-baseurl/), clear your cache to ensure all cached URLs are replaced with the changed URL settings. +If you experience many mixed content warnings after [changing your base-URLs in Magento](../../ecommerce-applications/magento-2/how-to-change-your-magento-2-base-urls.md), clear your cache to ensure all cached URLs are replaced with the changed URL settings. For more experienced CLI users, searching with grep is the easiest way to solve these warnings: -```nginx +```bash grep -RE 'http://(www\.)?example\.com' /data/web/public ``` Or when you are on Magento 2: -```nginx +```bash grep -RE 'http://(www\.)?example\.com' /data/web/public /data/web/magento2 ``` ## Redirect all traffic from HTTP to HTTPS To redirect all traffic to HTTPS, you can easily add some configuration in Nginx. -To do so, use [the instructions in our article about redirecting all traffic to HTTPS](https://support.hypernode.com/knowledgebase/redirect-all-http-traffic-to-https-in-nginx/). +To do so, use [the instructions in our article about redirecting all traffic to HTTPS](../nginx/how-to-configure-your-shop-to-only-use-https.md). -If not all of your domains are HTTPS enabled (which is recommended), you can [selectively redirect specific domains to HTTPS, using a mapping](https://support.hypernode.com/knowledgebase/redirect-specific-domains-urls-https/). +If not all of your domains are HTTPS enabled (which is recommended), you can [selectively redirect specific domains to HTTPS, using a mapping](../nginx/how-to-redirect-from-or-to-www.md). ## Additional Information and Troubleshooting @@ -113,6 +117,6 @@ If the Qualys SSL labs server test is not working on your Hypernode, check the f - Make sure you have ordered or implemented an SSL certificate on your Hypernode - Check the [known issues page at Qualys](https://community.qualys.com/docs/DOC-4865) -- Check if the Qualys [user agent](https://support.hypernode.com/knowledgebase/blocking-user-agents-referrers/) or [IP address](https://support.hypernode.com/knowledgebase/blocking-allowing-ip-addresses-in-nginx/) is blocked -- Check if [the Qualys user agent or IP address is rate limited](https://support.hypernode.com/knowledgebase/resolving-429-many-requests/) +- Check if the Qualys [user agent](../nginx/how-to-block-user-agents-and-referrer-sites.md) or [IP address](../nginx/how-to-block-allow-ip-addresses-in-nginx.md) is blocked +- Check if [the Qualys user agent or IP address is rate limited](../nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md) - Check if basic auth is enabled on your node. If this is the case, add a temporary user name and password to the password file and adjust the URL to scan to https://:@example.com (Do not forget to remove the user after the test) diff --git a/docs/hypernode-platform/ssl/how-to-use-lets-encrypt-on-hypernode.md b/docs/hypernode-platform/ssl/how-to-use-lets-encrypt-on-hypernode.md index aa3708ff..050ae01d 100644 --- a/docs/hypernode-platform/ssl/how-to-use-lets-encrypt-on-hypernode.md +++ b/docs/hypernode-platform/ssl/how-to-use-lets-encrypt-on-hypernode.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: Let's Encrypt is a CA Authority that provides free SSL certificates - through domain validation and automated retrieval. Find here how to use it on - Hypernode. + description: "Use Let's Encrypt for free SSL certificates. Want to know more about\ + \ how to use let's Encrypt on Hypernode? " + title: How to use Let’s Encrypt on Hypernode? +redirect_from: + - /en/hypernode/ssl/how-to-use-let-s-encrypt-on-hypernode/ + - /knowledgebase/use-lets-encrypt-hypernode/ --- @@ -27,7 +30,7 @@ See their website for more information about how to use [Let's Encrypt](https:// ## Let’s Encrypt and Hypernode Managed Vhosts -**Please note:** If you want to use Let’s Encrypt and have the [Hypernode Managed Vhosts (HMV)](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) system enabled, you need to create a vhost for every domain you want to use Let’s Encrypt on or else it won’t work. +**Please note:** If you want to use Let’s Encrypt and have the [Hypernode Managed Vhosts (HMV)](../nginx/hypernode-managed-vhosts.md) system enabled, you need to create a vhost for every domain you want to use Let’s Encrypt on or else it won’t work. First, check if HMV is enabled on your Hypernode: `hypernode-systemctl settings managed_vhosts_enabled` @@ -146,7 +149,7 @@ magerun2 config:store:set web/secure/base_url https://my.hypernode.io magerun2 cache:clean ``` -Read more [here](https://support.hypernode.com/knowledgebase/dns-settings-hypernode/). +Read more [here](../dns/how-to-manage-your-dns-settings-for-hypernode.md). Or, additionally you can make use of the scripts we created to change your baseurl provided for [Magento 1](https://gist.github.com/hn-support/0c76ebb5615a5be789997db2ae40bcdd) or for [Magento 2](https://gist.github.com/hn-support/083aabc8f9125b29098454cee1f25c89). @@ -172,7 +175,7 @@ If you want to switch to an SSL certificate managed by Hypernode (for example yo - Remove the cronjob from your crontab - Renew the Nginx configuration by running `hypernode-ssl-config-generator` -If you decide to not use any SSL certificate anymore and switch back to http (not recommended), don't forget to change your Magento base-url settings back to http, please see these docs for [Magento 1](https://support.hypernode.com/knowledgebase/change-baseurl-magento1/) and [Magento 2](https://support.hypernode.com/knowledgebase/change-baseurl-magento2/). +If you decide to not use any SSL certificate anymore and switch back to http (not recommended), don't forget to change your Magento base-url settings back to http, please see these docs for [Magento 1](../../ecommerce-applications/magento-1/how-to-change-the-base-url-in-magento-1-x.md) and [Magento 2](../../ecommerce-applications/magento-2/how-to-change-your-magento-2-base-urls.md). ## Troubleshooting diff --git a/docs/hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-com.md b/docs/hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-com.md index 07637d40..7078d06f 100644 --- a/docs/hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-com.md +++ b/docs/hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-com.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'This article explains how to install SSL certificates on your Hypernode - when you have order them via hypernode.com. ' + description: 'This article explains how to install SSL certificates on your Hypernode. + An SSL certificate keeps online interactions and transactions private. ' + title: How to use SSL certificates when ordered via Hypernode? +redirect_from: + - /en/hypernode/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-com/ --- @@ -117,7 +120,7 @@ Let’s Encrypt is a way to order free SSL certificates through domain validatio - Let’s Encrypt does not provide wildcard and/or EV certificates - Let’s Encrypt SSL Certificates are only valid for a 3 months period. -See [our documentation about configuring Let’s Encrypt on your Hypernode](https://support.hypernode.com/en/hypernode/ssl/how-to-use-let-s-encrypt-on-hypernode) on how to setup Let’s Encrypt on your Hypernode. +See [our documentation about configuring Let’s Encrypt on your Hypernode](../ssl/how-to-use-lets-encrypt-on-hypernode.md) on how to set up Let’s Encrypt on your Hypernode. ## Changing Your Base URLs diff --git a/docs/hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-nl.md b/docs/hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-nl.md index 2429431d..0ca00203 100644 --- a/docs/hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-nl.md +++ b/docs/hypernode-platform/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-nl.md @@ -4,6 +4,9 @@ myst: description: An SSL certificate keeps online interactions and transactions private and helps to gain confidence of customers. Read here how to use SSL ordered via Byte.nl. +redirect_from: + - /en/hypernode/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-byte-nl/ + - /knowledgebase/use-ssl-certificates-on-your-hypernode/ --- @@ -26,7 +29,7 @@ SSL sends information across the internet encrypted so that only the intended re We recommend purchasing an SSL certificate through Hypernode, because you’ll benefit from our managed hosting services. -When using a third party SSL certificate or [Let’s Encrypt](https://support.hypernode.com/en/hypernode/ssl/how-to-use-let-s-encrypt-on-hypernode), you are responsible for implementing, maintaining and renewing the certificate. We cannot provide any support on custom SSL certificates and related issues. +When using a third party SSL certificate or [Let’s Encrypt](../ssl/how-to-use-lets-encrypt-on-hypernode.md), you are responsible for implementing, maintaining and renewing the certificate. We cannot provide any support on custom SSL certificates and related issues. ## Buy an SSL Certificate Via Hypernode (Recommended) @@ -96,7 +99,7 @@ To upload your custom SSL, follow the steps below: ## Use Let’s Encrypt -For the more technical equipped developers we provide [Let’s Encrypt](https://support.hypernode.com/en/hypernode/ssl/how-to-use-let-s-encrypt-on-hypernode). +For the more technical equipped developers we provide [Let’s Encrypt](../ssl/how-to-use-lets-encrypt-on-hypernode.md). Let’s Encrypt is a way to order free SSL certificates through domain validation. This has a few limitations: @@ -104,7 +107,7 @@ Let’s Encrypt is a way to order free SSL certificates through domain validatio - Let’s Encrypt does not provide wildcard and/or EV certificates - Let’s Encrypt SSL Certificates are only valid for a 3 months period. -See [our documentation about configuring Let’s Encrypt on your Hypernode](https://support.hypernode.com/en/hypernode/ssl/how-to-use-let-s-encrypt-on-hypernode) on how to setup Let’s Encrypt on your Hypernode. +See [our documentation about configuring Let’s Encrypt on your Hypernode](../ssl/how-to-use-lets-encrypt-on-hypernode.md) on how to setup Let’s Encrypt on your Hypernode. ## How Do I remove a Custom SSL certificate From My Hypernode? @@ -119,7 +122,7 @@ Removing an SSL certificate from your Hypernode is easily done via your Service Your SSL certificate is now removed from your Hypernode. If you wish to add it again, simply go back to the overview page and click ‘Koppel handmatig een certificaat’. -To remove Let’s Encrypt certificates you need to log in to your hypernode and[delete the created certificates](https://support.hypernode.com/en/hypernode/ssl/how-to-use-let-s-encrypt-on-hypernode#Stop-using-dehydrated-/-Cleanup) over SSH. +To remove Let’s Encrypt certificates you need to log in to your hypernode and[delete the created certificates](../ssl/how-to-use-lets-encrypt-on-hypernode.md#stop-using-dehydrated--cleanup) over SSH. ## Changing Your Base URLs @@ -161,7 +164,7 @@ To check if all went well, check if `/data/web/nginx/nginx_error_output` is pres Now test your result by visiting the domain! -It is also possible to [selectively redirect to HTTP or HTTPS](https://support.hypernode.com/knowledgebase/redirect-specific-domains-urls-https/) depending on the domain, by using a mapping. +It is also possible to [selectively redirect to HTTP or HTTPS](../nginx/how-to-redirect-from-or-to-www.md) depending on the domain, by using a mapping. Redirecting all traffic to https and www @@ -191,7 +194,7 @@ All files in /data/web/nginx starting with public.\* will be included in front o ## Things to Remember When Using an SSL Certificate -- Don’t forget to point the DNS for your domain to your Hypernode. More information about how this is done [can be found in the article DNS settings Hypernode](https://support.hypernode.com/knowledgebase/dns-settings-hypernode/). +- Don’t forget to point the DNS for your domain to your Hypernode. More information about how this is done [can be found in the article DNS settings Hypernode](../dns/how-to-manage-your-dns-settings-for-hypernode.md). - You will need a storefront in Magento with a secure_base_url. Otherwise Magento will redirect you to the main store. You can change the base urls using the script mentioned above, you can also do this using the following support documentation. ## SSL on Your (non-www) Naked Domain While Using the Www-izer @@ -199,7 +202,7 @@ All files in /data/web/nginx starting with public.\* will be included in front o If you use the www-izer forwarders in the DNS settings for your domain name, people that visit directly will get an error message, either indicating that there is no https available or a plain connection refused error. If Hypernode manages your DNS, or you’ve configured your DNS to point directly to the Hypernode, this will not be a problem. -For more information please read the article [DNS Settings Hypernode](https://support.hypernode.com/knowledgebase/dns-settings-hypernode/) +For more information please read the article [DNS Settings Hypernode](../dns/how-to-manage-your-dns-settings-for-hypernode.md) ## Enable SSL Stapling diff --git a/docs/hypernode-platform/ssl/how-to-validate-your-ssl-certificate-and-more-frequently-asked-questions-about-ssl.md b/docs/hypernode-platform/ssl/how-to-validate-your-ssl-certificate-and-more-frequently-asked-questions-about-ssl.md index 7dc994a6..9af30fc4 100644 --- a/docs/hypernode-platform/ssl/how-to-validate-your-ssl-certificate-and-more-frequently-asked-questions-about-ssl.md +++ b/docs/hypernode-platform/ssl/how-to-validate-your-ssl-certificate-and-more-frequently-asked-questions-about-ssl.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: Read here how to validate your SSL certificate and more frequently - asked question about SSL. Only available in Dutch. + description: 'At Hypernode you can request various SSL certificates via the Service + Panel. Learn more about how to validate your certificate and other questions + about SSL. ' + title: How to validate your SSL certificate? | SSL FAQ | Hypernode +redirect_from: + - /en/hypernode/ssl/how-to-validate-your-ssl-certificate-and-more-frequently-asked-questions-about-ssl/ --- @@ -34,7 +38,7 @@ The costs for an SSL certificate consist of two aspects: the costs for the actua The certificate costs you pay for an SSL certificate that you order via Hypernode, is the purchase prise we pay at our supplier. We arrange the entire SSL application for you. You do not have to do anything more than to order the certificate in your Service Panel. Only with EV-SSL you still have to take care of a number of things (as explained [here](#what-kind-of-certificates-can-i-order-via-hypernode)). -In the background, the certificate is requested with the correct data, the validation is done (place file, perform validation), the certificate is retrieved and safely stored in the right place. We ensure that your SSL certificate works properly, even if you change your plan. All you have to take care of is to install the SSL on the right Hypernode (which can be done with [one click](https://support.hypernode.com/en/hypernode/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-byte-nl#Install-the-SSL-Certificate-on-your-Hypernode)). +In the background, the certificate is requested with the correct data, the validation is done (place file, perform validation), the certificate is retrieved and safely stored in the right place. We ensure that your SSL certificate works properly, even if you change your plan. All you have to take care of is to install the SSL on the right Hypernode (which can be done with [one click](../ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-nl.md#install-the-ssl-certificate-on-your-hypernode)). ### Your SSL Certificate Is Automatically Renewed @@ -72,13 +76,13 @@ If the telephone validation fails, you can contact our support department. We ca ## Can I Request an SSL Certificate on My Hypernode Name? -Please note that you cannot request an SSL certificate for your app name (e.g. example.hypernode.io). You can create a [Let's Encrypt certificate](https://support.hypernode.com/en/hypernode/ssl/how-to-use-let-s-encrypt-on-hypernode) for this. If you want SSL for your domain, you need a Presence or Presence Plus plan for each domain for which you want to request an SSL certificate. This is necessary because the domain must be known in our administration before we can order an SSL certificate. +Please note that you cannot request an SSL certificate for your app name (e.g. example.hypernode.io). You can create a [Let's Encrypt certificate](../ssl/how-to-use-lets-encrypt-on-hypernode.md) for this. If you want SSL for your domain, you need a Presence or Presence Plus plan for each domain for which you want to request an SSL certificate. This is necessary because the domain must be known in our administration before we can order an SSL certificate. So first make sure that you have ordered a Presence plan, even if your domain is registered externally. Then you order the SSL certificate as an add-on to this Presence plan. Make sure that you have the Contractant role for both plans. ## How Do I Order an SSL Certificate? -You can request an SSL certificate via our Service Panel. You can order this as an add-on to a Presence package. You can find out how to do that [here](). +You can request an SSL certificate via our Service Panel. You can order this as an add-on to a Presence package. You can find out how to do that [here](../ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-nl.md#buy-an-ssl-certificate-via-hypernode-recommended). ## How Can I Link the SSL Certificate to the Hypernode? @@ -110,4 +114,4 @@ Make sure there are no more redirects to the HTTPS version of your site. ## Can I Use My Own SSL Certificate? -You can also use a (custom) SSL certificate you purchased elsewhere on a Hypernode. You can find out how to install this on your Hypernode [here](https://support.hypernode.com/en/hypernode/ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-byte-nl#Add-a-Custom-SSL-Certificate). +You can also use a (custom) SSL certificate you purchased elsewhere on a Hypernode. You can find out how to install this on your Hypernode [here](../ssl/how-to-use-ssl-certificates-on-your-hypernode-when-ordered-via-hypernode-nl.md#add-a-custom-ssl-certificate). diff --git a/docs/hypernode-platform/tools.md b/docs/hypernode-platform/tools.md index 1f3443a9..85d66b50 100644 --- a/docs/hypernode-platform/tools.md +++ b/docs/hypernode-platform/tools.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about tools. + title: Tools | Hypernode platform +redirect_from: + - /en/hypernode/tools/ +--- + # Tools ```{toctree} diff --git a/docs/hypernode-platform/tools/how-to-configure-automatic-logfile-rotation-on-hypernode.md b/docs/hypernode-platform/tools/how-to-configure-automatic-logfile-rotation-on-hypernode.md deleted file mode 100644 index d2737f77..00000000 --- a/docs/hypernode-platform/tools/how-to-configure-automatic-logfile-rotation-on-hypernode.md +++ /dev/null @@ -1,70 +0,0 @@ - - -# How to configure automatic logfile rotation on Hypernode - -We have a hypernode-auto-logrotate command as part of our hypernode- system utilities. This is a command line tool that automatically rotates log files, which helps avoid disk space issues and decreases time the required to restore back-ups. - -## Log rotation - -A hypernode contains files that applications write their logs to. For example, Magento writes to `/data/web/magento2/var/log/debug.log`. These log files can get quite large (we’ve seen examples of over 30GB), so for example when doing a backup, you end up transferring obscenely large files over the internet. - -You can avoid this problem by rotating the log files. This means that when a log file `/data/web/example.log` gets too big, you compress it, move it to `/data/web/example.log.1.gz`, and give the application an empty log file to write to. The `hypernode-auto-logrotate` command automates this process. - -## Example Usage - -For a log file `~/example.log`, the tool can be used as follows: - -```console -app@levkd4-example-magweb-cmbl:~$ hypernode-auto-logrotate example.log -Adding logrotate cron job -Adding logrotate config entry for "/data/web/example.log" -``` - -This will cause the log file to be rotated on a daily basis, at around midnight. If the file is over 50MB, the next day the old logs will have been moved to `~/example.log.1.gz`. - -```console -app@levkd4-example-magweb-cmbl:~$ ls example.log* -example.log example.log.1.gz -``` - -The tool also has a `--detect` option, with which it will search for log files and rotate them: - -```console -app@levkd4-example-magweb-cmbl:~$ hypernode-auto-logrotate --detect -Searching for logfiles... -Logfile found: /data/web/example.log -Logfile found: /data/web/magento2/var/log/system.log -Logfile found: /data/web/magento2/var/log/connector.log -Logfile found: /data/web/magento2/var/log/debug.log -Logfile found: /data/web/magento2-sample-data/dev/tools/exclude.log -Logfile "/data/web/example.log" is already being rotated -Adding logrotate config entry for "/data/web/magento2/var/log/system.log" -Adding logrotate config entry for "/data/web/magento2/var/log/connector.log" -Adding logrotate config entry for "/data/web/magento2/var/log/debug.log" -Adding logrotate config entry for "/data/web/magento2-sample-data/dev/tools/exclude.log" -``` - -The default threshold of the hypernode-auto-logrote is 500 MB meaning the tool will only detect logs larger than 500 MB. You can also lower the threshold by adding the option `--threshold 200MB` (or any other amount) so it will search for logs bigger than 200 MB for example. - -The tool has a `--dry-run` option which will print what the tool will do without actually doing it. For more detailed output, run it with the `--verbose` option. - -## Configuration - -The `hypernode-auto-logrotate` command comes with a sensible out-of-the-box configuration. Among other things, this means that it will rotate log files daily, only when they exceed 50MB, and that it will keep four files in rotation (meaning you end up with `example.log.1.gz` up to `example.log.4.gz`). These configurations are stored in `/data/web/hypernode_logrotate.conf`, and can be customized per log by editing this file. For example, the entry added for `example.log` reads - -``` -/data/web/example.log { - rotate 4 - daily - compress - # do not raise an error if the logfile does not exist - missingok - # file size at which rotation is triggered - size 50M - # copy the file and truncate the original, in case - # another process cannot be told to close the logfile - copytruncate -} -``` - -The [logrotate main page](https://linux.die.net/man/8/logrotate) contains instructions on how to customize this diff --git a/docs/hypernode-platform/tools/how-to-configure-automatic-logfile-rotation.md b/docs/hypernode-platform/tools/how-to-configure-automatic-logfile-rotation.md index 808fe09b..734bf339 100644 --- a/docs/hypernode-platform/tools/how-to-configure-automatic-logfile-rotation.md +++ b/docs/hypernode-platform/tools/how-to-configure-automatic-logfile-rotation.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: This article explains how to use hypernode-auto-logrotate, a tool - that automatically rotates log files, which helps to avoid disk space issues. + description: 'The hypernode-auto-logrotate is a command line tool that automatically + rotates log files. Learn how to configure Automatic Logfile Rotation. ' + title: How to configure automatic logfile rotation? | Hypernode +redirect_from: + - /en/hypernode/tools/how-to-configure-automatic-logfile-rotation/ + - /en/support/solutions/articles/48001185227-how-to-configure-automatic-logfile-rotation-on-hypernode/ --- diff --git a/docs/hypernode-platform/tools/how-to-configure-lesti-fpc.md b/docs/hypernode-platform/tools/how-to-configure-lesti-fpc.md index e8d6a20a..80d072ff 100644 --- a/docs/hypernode-platform/tools/how-to-configure-lesti-fpc.md +++ b/docs/hypernode-platform/tools/how-to-configure-lesti-fpc.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: Using Lesti::FPC for Full Page Caching on Hypernode is recommended, - as it is faster than using the default file caching mechanism. Read here how - to do so + description: 'In this article we will explain how to configure Lesti::FPC and + how to use it on Hypernode. ' + title: How to Configure Lesti::FPC? | Hypernode +redirect_from: + - /en/hypernode/tools/how-to-configure-lesti-fpc/ --- @@ -14,13 +16,13 @@ Lesti::FPC is a FPC Full Page Caching module you can use to speed up the fronten More information about the internals of the module can be found on [the website of the developer of the module, Gordon Lesti.](https://gordonlesti.com/lesti-fpc-documentationversion-1-4-5/) -A tutorial on how it works is available on the page [“How does Lesti::FPC work”](https://gordonlesti.com/how-does-lesti-fpc-work/) . +A tutorial on how it works is available on the page [How does Lesti::FPC work](https://gordonlesti.com/how-does-lesti-fpc-work/). This module also works in combination with `Redis`. -This article will explain how to configure Lesti::FPC and use it on Hypernode. It is however recommended to first enable [Redis Cache](https://support.hypernode.com/en/support/search/solutions?term=redis+cache) as your caching backend before proceeding with this tutorial. +This article will explain how to configure Lesti::FPC and use it on Hypernode. It is however recommended to first enable [Redis Cache](../../ecommerce-applications/magento-1/how-to-configure-redis-for-magento-1.md) as your caching backend before proceeding with this tutorial. -**NB: When you used the [hypernode-importer](https://support.hypernode.com/en/hypernode/tools/how-to-migrate-your-shop-to-hypernode#Option-2-for-all-customers%3A-Migrate-your-shop-via-Shell-using-hypernode-importer) and you were already using `Lesti::FPC`, you can skip this tutorial, as we already added the configuration for caching using `Lesti::FPC`.** +**NB: When you used the [hypernode-importer](how-to-migrate-your-shop-to-hypernode.md#option-2-for-all-customers-migrate-your-shop-via-shell-using-the-hypernode-importer) and you were already using `Lesti::FPC`, you can skip this tutorial, as we already added the configuration for caching using `Lesti::FPC`.** ## Download Lesti::FPC diff --git a/docs/hypernode-platform/tools/how-to-copy-your-hypernode-to-another-hypernode.md b/docs/hypernode-platform/tools/how-to-copy-your-hypernode-to-another-hypernode.md index b88d3022..cf406496 100644 --- a/docs/hypernode-platform/tools/how-to-copy-your-hypernode-to-another-hypernode.md +++ b/docs/hypernode-platform/tools/how-to-copy-your-hypernode-to-another-hypernode.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: 'If you want to make a copy of your Hypernode to another Hypernode, + whether it’s a development node or not, here’s a guide on how to do it. ' + title: How to copy your Hypernode to another Hypernode? +redirect_from: + - /en/hypernode/tools/how-to-copy-your-hypernode-to-another-hypernode/ +--- + # How to copy your Hypernode to another Hypernode diff --git a/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md b/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md index 8753d1bf..d134134f 100644 --- a/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md +++ b/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: 'This guide will walk you through the process of setting up a continues + integration and delivery/deployment pipeline for a Magento 2 shop. ' + title: How to deploy your application using Hypernode Deploy? +redirect_from: + - /en/support/solutions/articles/48001219280-how-to-deploy-your-application-using-hypernode-deploy-v1/ +--- + # How to deploy your application using Hypernode Deploy v1 @@ -13,7 +23,7 @@ Before starting, make sure you have the following requirements setup correctly: - (Access to) a Hypernode - A Github account -Make sure to [create a new SSH key pair](https://support.hypernode.com/en/hypernode/ssh/how-to-use-ssh-keys-on-hypernode) as a deployment key, and [add this to your Hypernode via the Control Panel](https://support.hypernode.com/en/services/control-panel/how-to-add-keys-to-the-ssh-keymanager). We'll use this SSH key in the deployment process to upload your application to the Hypernode. +Make sure to [create a new SSH key pair](../ssh/how-to-use-ssh-keys-on-hypernode.md) as a deployment key, and [add this to your Hypernode via the Control Panel](../../services/control-panel/how-to-add-keys-to-the-ssh-key-manager.md). We'll use this SSH key in the deployment process to upload your application to the Hypernode. ## Configure your Deployment SSH key pair in Github diff --git a/docs/hypernode-platform/tools/how-to-flush-the-redis-cache.md b/docs/hypernode-platform/tools/how-to-flush-the-redis-cache.md index aade2e06..74b9bc72 100644 --- a/docs/hypernode-platform/tools/how-to-flush-the-redis-cache.md +++ b/docs/hypernode-platform/tools/how-to-flush-the-redis-cache.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: 'Using Redis for caching on Hypernode is recommeded, as it is faster - than using the file caching mechanism that is enabled by default. Read here - how to do so. ' + description: 'We recommend all Hypernode users to use Redis for caching. Learn + how Flush the Redis Cache here. ' + title: How to flush the Redic cache? | Hypernode +redirect_from: + - /en/hypernode/tools/how-to-flush-the-redis-cache/ --- diff --git a/docs/hypernode-platform/tools/how-to-flush-the-varnish-cache.md b/docs/hypernode-platform/tools/how-to-flush-the-varnish-cache.md index 855c2a20..0ed7a157 100644 --- a/docs/hypernode-platform/tools/how-to-flush-the-varnish-cache.md +++ b/docs/hypernode-platform/tools/how-to-flush-the-varnish-cache.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: Flushing the Varnish cache can be done using the Magento backend - panel, but if needed, you might want to be able to flush the cache from the - command line. + description: 'You can flush the cache for a single domain, a specific URL or just + the cache as a whole. Use the following steps. ' + title: How to flush the Varnish cache? | Hypernode +redirect_from: + - /en/support/solutions/articles/48000982378-how-to-flush-the-varnish-cache/ --- diff --git a/docs/hypernode-platform/tools/how-to-free-up-disk-space.md b/docs/hypernode-platform/tools/how-to-free-up-disk-space.md index 62451fad..f3052fa2 100644 --- a/docs/hypernode-platform/tools/how-to-free-up-disk-space.md +++ b/docs/hypernode-platform/tools/how-to-free-up-disk-space.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'When your disk is full, you can try to free up disk space on your - Hypernode before having to upgrade. Check out how to do so here. ' + description: Is your disk full? Before upgrading to a bigger plan you can use + these suggestions to free up disk space on your Hypernode. + title: How to free up disk space on your Hypernode? +redirect_from: + - /en/hypernode/tools/how-to-free-up-disk-space/ --- @@ -23,13 +26,13 @@ To display the disk usage report sorted in descending order: `ncdu /data` In most situations, there was an explosion of session-files. Check in /data/web/public/var/session whether this is the case. You could consider to store your sessions in MySQL or Redis. If the amount of sessions is not the problem (ie less than 100K), then use this command to find the folder with the most files: -```nginx +```bash find /data -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n ``` If you have identified a folder with lots (millions) of files, this is a handy command to, for example delete all session files older than 2 days: -```nginx +```bash cd /data/web/public/var/session find . -type f -mtime +2 -ls -delete ``` @@ -38,13 +41,13 @@ find . -type f -mtime +2 -ls -delete Try to see where you can clear up the most space. The following command (using SSH) will show you the top 10 largest directories: -```nginx +```bash du -h /data/web /data/mysql | sort -h | tail -10 ``` ## Have You Tried Optimizing Your Images Yet? -This can save you up to 30% in disk space without any downsides. Additionally, your site will become a lot faster for your visitors. Use the Hypernode Image Optimizer to [optimize your Magento images](https://support.hypernode.com/knowledgebase/magento-image-optimization-howto/) within 5 minutes. +This can save you up to 30% in disk space without any downsides. Additionally, your site will become a lot faster for your visitors. Use the Hypernode Image Optimizer to [optimize your Magento images](../../best-practices/performance/how-to-optimize-your-images.md) within 5 minutes. ## Another Quick Fix Would Be to Clear the Magento Cache. @@ -52,13 +55,13 @@ This can be done through the Magento back-end (“clear cache”). You can also For Magento 1: -```nginx +```bash magerun cache:flush ``` For Magento 2: -```nginx +```bash magerun2 cache:flush ``` @@ -66,7 +69,7 @@ magerun2 cache:flush You can remove these with the following command: -```nginx +```bash find ~/public/var/reports -type f -delete find ~/public/var/log -type f -delete ``` @@ -75,18 +78,18 @@ find ~/public/var/log -type f -delete When running specific extremely long queries (several hours), MySQL disk usage may grow but is freed. This is known behaviour of MySQL and can only be resolved manually. Check whether you are affected: -```nginx +```console $ ls -lah /data/mysql/ibdata1 -rw-rw---- 1 mysql mysql 29G Jun 28 12:48 /data/mysql/ibdata1 ``` -If the size is more than 2 GB, see our instructions on [how to resolve growing ibdata1](https://support.hypernode.com/knowledgebase/free-diskspace-ibdata1/). +If the size is more than 2 GB, see our instructions on [how to resolve growing ibdata1](../mysql/how-to-free-disk-space-from-mysql-ibdata1.md). ## Find out If You Cleaned up Adequate Space You can check your disk usage with: -```nginx +```bash df -h /data df -i /data ``` @@ -95,13 +98,13 @@ df -i /data In case you have deleted some supersized log files or other ambiguous and huge files, but this doesn’t result in more available disk space when checking it with the aforementioned commands, then some process is still using these files. You can easily check this with: -```nginx +```bash lsof +L1 ``` This will show you a list of processes that are still using the original file and preventing the disk space to be reclaimed as being available. Just copy the process id (PID) and kill the process using: -```nginx +```bash kill ``` diff --git a/docs/hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md b/docs/hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md index 8d2bfdac..0a675e2f 100644 --- a/docs/hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md +++ b/docs/hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'Congratulations on your new Hypernode! Find out how to migrate your - shop to Hypernode for testing on this page. ' + description: 'If you have a brand new Hypernode, the first step is to migrate + your shop to Hypernode. There are several ways to achieve this, read them here. ' + title: How to migrate your shop to Hypernode? +redirect_from: + - /en/hypernode/tools/how-to-migrate-your-shop-to-hypernode/ + - /knowledgebase/migrating-your-magento-to-hypernode/ --- @@ -20,7 +24,7 @@ Congratulations with your brand new Hypernode! In case you already have a shop, - Shopware 5 - Shopware 6 -Before importing your shop, make sure your [vhost](https://support.hypernode.com/a/solutions/articles/48000981127?lang=en) is of the right `type`. You can verify that by listing the existing vhosts with the following command: `hypernode-manage-vhosts --list`. This will generate a list of every vhost, their type and some additional information that might be interesting. +Before importing your shop, make sure your [vhost](../nginx/hypernode-managed-vhosts.md) is of the right `type`. You can verify that by listing the existing vhosts with the following command: `hypernode-manage-vhosts --list`. This will generate a list of every vhost, their type and some additional information that might be interesting. If your vhost isn't the right `type`, you should chance the type of the vhost. You can achieve this by the following command: @@ -52,7 +56,7 @@ When you select the maintenance box in the importer tool in the Service Panel, t \*If your domain is hosted at Hypernode, there is a quick and easy way to switch your DNS to the Hypernode. Login into the [Service Panel](https://service.byte.nl). Make sure your Hypernode is selected in the dropdown menu -> Instellingen -> SSL & DNS instellingen -> Find your domain in the list -> change the 'Beschikbaar' value into 'Koppel domeinnaam aan deze Hypernode'. Repeat these steps for all the domains that should be linked to your Hypernode. -\*If your domain is being hosted externally, you need to change the DNS settings manually. Read [this article](https://support.hypernode.com/knowledgebase/dns-settings-hypernode/)to see which records you need to modify. +\*If your domain is being hosted externally, you need to change the DNS settings manually. Read [this article](../dns/how-to-manage-your-dns-settings-for-hypernode.md)to see which records you need to modify. \*Although the Shop importer is a very easy way to import a shop, please keep in mind that is using the command line is a requirement. So if needed, find yourself an [experienced developer](https://www.byte.nl/partners#specialisms=Hypernode&cms=Magento) that can assist you with these tasks. @@ -76,7 +80,7 @@ The `hypernode-importer` is a very comprehensive tool as it has several alternat Please follow these steps: -- [Log in to your Hypernode with SSH](https://support.hypernode.com/knowledgebase/login-hypernode-ssh/) +- [Log in to your Hypernode with SSH](../ssh/how-to-log-in-to-the-hypernode-with-ssh.md) - Use the `hypernode-importer`to automatically migrate the shop to your Hypernode. All data currently on your Hypernode will be overwritten. Its usage is simple: - `--host` Enter the SSH hostname - `--user` Enter the SSH user @@ -94,7 +98,7 @@ Please follow these steps: ## Done Migrating? -Done? Now it's time to[check if everything works](https://support.hypernode.com/a/solutions/articles/48000985053?lang=en) as it should! +Done? Now it's time to[check if everything works](../../best-practices/testing/how-to-check-if-everything-works.md) as it should! ## Tips and Tricks diff --git a/docs/hypernode-platform/tools/how-to-solve-redis-error-oom-command-not-allowed-when-used-memory-maxmemory.md b/docs/hypernode-platform/tools/how-to-solve-redis-error-oom-command-not-allowed-when-used-memory-maxmemory.md index 9b24740e..f3e2390d 100644 --- a/docs/hypernode-platform/tools/how-to-solve-redis-error-oom-command-not-allowed-when-used-memory-maxmemory.md +++ b/docs/hypernode-platform/tools/how-to-solve-redis-error-oom-command-not-allowed-when-used-memory-maxmemory.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'When Magento is trying to store more data in the Redis Cache than - possible, this error appears "OOM command not allowed when used memory > ‘maxmemory’. ' + description: Learn how to solve this Redis Error that appears if Magento is trying + to store more data in the Redis cache then possible. + title: How to Solve Redis Out-of-Memory Error? | Hypernode +redirect_from: + - /en/hypernode/tools/how-to-solve-redis-error-oom-command-not-allowed-when-used-memory-maxmemory-/ --- diff --git a/docs/hypernode-platform/tools/how-to-use-composer-2-on-your-hypernode.md b/docs/hypernode-platform/tools/how-to-use-composer-2-on-your-hypernode.md index a2ff152a..edb467fc 100644 --- a/docs/hypernode-platform/tools/how-to-use-composer-2-on-your-hypernode.md +++ b/docs/hypernode-platform/tools/how-to-use-composer-2-on-your-hypernode.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: 'With Composer, you can easily install, update or remove dependencies. + Read here how to use Composer 2 on our Hypernode platform. ' + title: How to use Componsor 2 on Hypernode? +redirect_from: + - /en/support/solutions/articles/48001184546-how-to-use-composer-2-on-your-hypernode/ +--- + # How to use Composer 2 on your Hypernode diff --git a/docs/hypernode-platform/tools/how-to-use-elasticsearch-on-hypernode.md b/docs/hypernode-platform/tools/how-to-use-elasticsearch-on-hypernode.md index 4f55bb74..aa5c67e5 100644 --- a/docs/hypernode-platform/tools/how-to-use-elasticsearch-on-hypernode.md +++ b/docs/hypernode-platform/tools/how-to-use-elasticsearch-on-hypernode.md @@ -1,16 +1,18 @@ --- myst: html_meta: - description: Elasticsearch can be used to search in your Magento shop without - any external service or configuration. This article explains how to enable and - configure it. + description: 'In this article we’ll explain a bit more about Elasticsearch and + how to enable and configure it on Hypernode. ' + title: How to use ElasticSearch on Hypernode? +redirect_from: + - /en/hypernode/tools/how-to-use-elasticsearch-on-hypernode/ --- # How to Use Elasticsearch on Hypernode -While previously it was already possible to use Elasticsearch with your Hypernode by [connecting to an external search provider](https://support.hypernode.com/knowledgebase/how-to-improve-your-magento-search/#ElasticSearch), we have now made it possible to use Elasticsearch for search in your Magento shop out of the box on Hypernode without requiring any external service or configuration. In this article we'll explain a bit more about Elasticsearch and how to enable and configure it. +While previously it was already possible to use Elasticsearch with your Hypernode by [connecting to an external search provider](../../best-practices/performance/how-to-improve-your-magento-search.md#elasticsearch), we have now made it possible to use Elasticsearch for search in your Magento shop out of the box on Hypernode without requiring any external service or configuration. In this article we'll explain a bit more about Elasticsearch and how to enable and configure it. ## What is Elasticsearch? @@ -20,13 +22,13 @@ The implementation of Elasticsearch on Hypernode is built for this primary use-c *If you do want to treat Elasticsearch as a primary database, you should not use the Elasticsearch instance on the Hypernode itself but arrange something externally instead. While we will keep the data between plan upgrades and downgrades, you should regard the built-in Elasticsearch on Hypernode as a cache (akin to how we treat Redis on Hypernode), and not as a consistent database. It is possible that due to future upgrade paths or as a result of a backup restore scenario the data stored in the Elasticsearch will be lost.* -In our release note you'll find a [more detailed description of Elasticsearch.](https://support.hypernode.com/changelog/release-6270-elasticsearch-on-hypernode/) +In our release note you'll find a [more detailed description of Elasticsearch.](https://changelog.hypernode.com/release-6270-elasticsearch-on-hypernode/) ## How to Enable Elasticsearch on Hypernode **Please note that when you change versions all Elasticsearch data will be deleted.** -Elasticsearch can be enabled on all Hypernodes. To enable Elasticsearch, you can [talk to the API](https://community.hypernode.io/#/Documentation/hypernode-api/settings/README) or use the [hypernode-systemctl command-line tool](https://support.hypernode.com/knowledgebase/hypernode-systemctl-cli-tool/). First configure the Elasticsearch version you wish to use. You can see the available versions of Elasticsearch which you can use on your Hypernode when running hypernode-systemctl settings. This will show the following: +Elasticsearch can be enabled on all Hypernodes. To enable Elasticsearch, you can [talk to the API](https://community.hypernode.io/#/Documentation/hypernode-api/settings/README) or use the [hypernode-systemctl command-line tool](../tools/how-to-use-the-hypernode-systemctl-cli-tool.md). First configure the Elasticsearch version you wish to use. You can see the available versions of Elasticsearch which you can use on your Hypernode when running hypernode-systemctl settings. This will show the following: ```bash $ hypernode-systemctl settings |& grep elasticsearch_version @@ -59,7 +61,7 @@ elasticsearch_enabled is set to value False ``` -When you choose to enable Elasticsearch on a production node, keep in mind that Elasticsearch will use a lot of resources. We allocate up to 10% of the system memory as the [JVM heap](https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html), with a maximum of 10GB or RAM. Note that the service can have a big impact on the CPU and [IO utilization](https://support.hypernode.com/knowledgebase/magento-disk-performance-optimization/) of your Hypernode. If you notice adverse effects, you can disable the service again or consider upgrading (especially if you already have other opt-in features like [RabbitMQ enabled as well](https://support.hypernode.com/changelog/platform/release-6052-rabbitmq-on-hypernode/)). +When you choose to enable Elasticsearch on a production node, keep in mind that Elasticsearch will use a lot of resources. We allocate up to 10% of the system memory as the [JVM heap](https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html), with a maximum of 10GB or RAM. Note that the service can have a big impact on the CPU and [IO utilization](../../troubleshooting/performance/how-to-optimise-your-magento-disk-performance.md) of your Hypernode. If you notice adverse effects, you can disable the service again or consider upgrading (especially if you already have other opt-in features like [RabbitMQ enabled as well](https://changelog.hypernode.com/release-6052-rabbitmq-on-hypernode/). To enable Elasticsearch you can run the following: @@ -156,7 +158,7 @@ yellow open magento2_product_1_v2 0HHoI2ahT6CdX4Z5ybSKcw 5 1 187 0 469.2kb 469.2 ``` -Note that the status is yellow instead of green. This is because the index was created with an expected number of replicas. Because on Hypernode there is no Elasticsearch cluster but there is just a single instance, this is expected. If you need guarantees about the replication of your Elasticsearch data we recommend that you use another solution. For some examples check [this list](https://support.hypernode.com/knowledgebase/how-to-improve-your-magento-search/) of external Elasticsearch providers that we recommend. +Note that the status is yellow instead of green. This is because the index was created with an expected number of replicas. Because on Hypernode there is no Elasticsearch cluster but there is just a single instance, this is expected. If you need guarantees about the replication of your Elasticsearch data we recommend that you use another solution. For some examples check [this list](../../best-practices/performance/how-to-improve-your-magento-search.md) of external Elasticsearch providers that we recommend. You can configure your created index to expect an amount of zero replicas. That will turn the cluster status back to green. Since Elasticsearch 6`.x` it is not possible to set index level settings in the node configuration, but you can do so during runtime with this command: diff --git a/docs/hypernode-platform/tools/how-to-use-hypernode-development-plans.md b/docs/hypernode-platform/tools/how-to-use-hypernode-development-plans.md index 54de5e42..5bc93d02 100644 --- a/docs/hypernode-platform/tools/how-to-use-hypernode-development-plans.md +++ b/docs/hypernode-platform/tools/how-to-use-hypernode-development-plans.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: 'Hypernode offers its customers discounted development plans of all - the regular Hypernode plans for development and testing. Read more about these - plans here. ' + description: 'Development Plans can be used for development and testing. Use this + guide on how to use Hypernode Development Plans. ' + title: How to use Hypernode Development Plans? +redirect_from: + - /en/hypernode/tools/how-to-use-hypernode-development-plans/ + - /knowledgebase/development-plans-for-your-magento-shop/ --- @@ -45,7 +48,7 @@ If you log in via [my.hypernode.com](https://auth.hypernode.com/), please use th - Or click **Change your plan** in the Hypernode overview. - You'll now see an overview of your current plan on the left and the new plan on the right. - Select the desired plan and the type of environment, which is Production. -- Select an add-on. Read more about our two SLA levels [here](https://support.hypernode.com/en/about/support/emergency-support-outside-office-hours-#Hypernode-Emergency-Service-Costs). +- Select an add-on. Read more about our two SLA levels [here](../../about-hypernode/support/emergency-support-outside-office-hours.md#hypernode-emergency-service-costs). - Agree with terms and conditions and click Change to this plan. Your plan will be changed immediately. ## Limitations @@ -65,7 +68,7 @@ The default user credentials for development nodes are: You can of course change these credentials, and add and remove user accounts. It is also possible to whitelist IP addresses to exclude them from the basic authentication. This allows you to whitelist services and third party tools that can’t use basic authentication, or easily allow your merchant access to the development environment. -For information on how to configure this, we have an article on how to use [Basic Authentication on Hypernode Development Plans](https://support.hypernode.com/en/hypernode/nginx/basic-authentication-on-hypernode-development-plans). +For information on how to configure this, we have an article on how to use [Basic Authentication on Hypernode Development Plans](../nginx/basic-authentication-on-hypernode-development-plans.md). To override a single IP from the basic authentication, you can whitelist this IP address by adding it to `/data/web/nginx/whitelist-development-exception.conf`. @@ -98,4 +101,4 @@ The Hypernode Docker is a tool that allows you to set up a virtual Hypernode for ## How To Start? -Order a development plan and start developing in no time! Do you already have a shop and do you wish to import it onto a Development node? Learn more about migrating it in [this article](https://support.hypernode.com/en/hypernode/tools/how-to-migrate-your-shop-to-hypernode). +Order a development plan and start developing in no time! Do you already have a shop and do you wish to import it onto a Development node? Learn more about migrating it in [this article](../tools/how-to-migrate-your-shop-to-hypernode.md). diff --git a/docs/hypernode-platform/tools/how-to-use-magento-corediff-on-hypernode.md b/docs/hypernode-platform/tools/how-to-use-magento-corediff-on-hypernode.md index cce98e8e..d00904bd 100644 --- a/docs/hypernode-platform/tools/how-to-use-magento-corediff-on-hypernode.md +++ b/docs/hypernode-platform/tools/how-to-use-magento-corediff-on-hypernode.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: Magento Corediff is a tool to find unauthorized modifications in - a Magento 1 or 2. As it's installed on all Hypernodes this helps protect and - secure your shop + description: 'Magento Corediff is an open source tool to quickly find unauthorized + modifications in a Magento install. Find out how to use Magento Corediff on + Hypernode. ' + title: How to use Magento Corediff on Hypernode? +redirect_from: + - /en/hypernode/tools/how-to-use-magento-corediff-on-hypernode/ --- @@ -36,4 +39,4 @@ In the example above, you can see that the file */data/web/magento2/app/Mage.php ## Cleaning up malicious code -If you do end up finding malicious code, we advise you to follow our guide on recovering [a hacked magento shop](https://support.hypernode.com/en/best-practices/security/how-to-recover-a-hacked-magento-shop). +If you do end up finding malicious code, we advise you to follow our guide on recovering [a hacked magento shop](../../best-practices/security/how-to-recover-a-hacked-magento-shop.md). diff --git a/docs/hypernode-platform/tools/how-to-use-mailhog-on-hypernode.md b/docs/hypernode-platform/tools/how-to-use-mailhog-on-hypernode.md index daaf4dfd..b762de1a 100644 --- a/docs/hypernode-platform/tools/how-to-use-mailhog-on-hypernode.md +++ b/docs/hypernode-platform/tools/how-to-use-mailhog-on-hypernode.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: Debugging outgoing mail issues could require you to inspect all outgoing - mails from a webshop. MailHog is an email testing tool for it, which we explain - here. + description: 'MailHog is an email testing tool for developers to catch all these + emails in a single mailbox. Learn how to use MailHog on Hypernode. ' + title: How to use Mailhog on Hypernode? +redirect_from: + - /en/hypernode/tools/how-to-use-mailhog-on-hypernode/ + - /knowledgebase/how-to-use-mailhog-on-hypernode/ --- @@ -38,7 +41,7 @@ This will forward `localhost:8025` (where MailHog is running) to our local `8025 ## Access MailHog with HMV and Basic Authentication -If HMV ([Hypernode Managed Vhosts](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts)) is enabled on your Hypernode, you can easily create a vhost for MailHog by using the command below which also enables Basic Authentication. +If HMV ([Hypernode Managed Vhosts](../nginx/hypernode-managed-vhosts.md)) is enabled on your Hypernode, you can easily create a vhost for MailHog by using the command below which also enables Basic Authentication. ```nginx hypernode-manage-vhosts mailhog.example.hypernode.io --https --force-https --type mailhog diff --git a/docs/hypernode-platform/tools/how-to-use-node-js-and-npm-on-hypernode.md b/docs/hypernode-platform/tools/how-to-use-node-js-and-npm-on-hypernode.md index 6b8459cf..9c1eb03c 100644 --- a/docs/hypernode-platform/tools/how-to-use-node-js-and-npm-on-hypernode.md +++ b/docs/hypernode-platform/tools/how-to-use-node-js-and-npm-on-hypernode.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: This article explains how you can install node.js and NPM on a Hypernode - and how to use this. + description: This article explains how to use and install other versions of Node.js + and also how to install NPM packages on Hypernode. + title: How to Use Node.js and NPM on Hypernode? +redirect_from: + - /en/hypernode/tools/how-to-use-node-js-and-npm-on-hypernode/ --- @@ -19,7 +22,7 @@ If you use the installed version, you can just start using node and npm. By default, the installed NodeJS version on our Hypernode platform is v10. You can check this on your Hypernode by running the command `node -v`. If you need to manually upgrade an app to another Node.js version like 18, you can use the command below: -```nginx +```bash hypernode-systemctl settings nodejs_version 18 ``` @@ -31,15 +34,15 @@ If you want to execute the tools that you installed using `npm`, you should make This PATH variable is used by the Bash shell to locate binaries and scripts. You can adjust it by exporting the PATH variable: -```nginx - export PATH="/data/web/node_modules/.bin:$PATH" +```bash +export PATH="/data/web/node_modules/.bin:$PATH" ``` If you want this setting to be configured every time you log in to your Hypernode, you can add this setting to your `~/.profile`, this file is loaded every time a new shell is spawned. To configure your PATH variable at login time, run the following command: -```nginx +```bash echo 'export PATH="/data/web/node_modules/.bin:$PATH"' >> ~/.profile ``` @@ -49,61 +52,61 @@ Now every time you log in, the Bash shell is configured to look for tools in `/d Let's install some packages. -When your `PATH` is setup correctly, after the installation with `npm install`, you should immediately be able to use the newly installed tool. +When your `PATH` is set up correctly, after the installation with `npm install`, you should immediately be able to use the newly installed tool. To find the latest command line tool installed, run: `ls -ltr /data/web/node_modules/.bin | tail -1` ### Install Gulp -```nginx - npm install gulp gulp-cli +```bash +npm install gulp gulp-cli ``` ### Install Grunt -```nginx +```bash npm install grunt grunt-cli ``` ### Install Sass -```nginx +```bash npm install sass ``` ### Install Compass -```nginx - npm install compass +```bash +npm install compass ``` When your Hypernode is using the OS [Debian Buster](https://changelog.hypernode.com/changelog/release-7351-new-hypernodes-will-be-booted-on-debian-buster/) then the aforementioned method will not be applicable. Instead you can use the following command to install compass -```nginx +```bash gem install --user-install compass ``` Next you need to set the correct path so you don't have to type the absolute path to access compass each time. You can do s with the command: -```nginx +```bash export PATH="/data/web/.gem/ruby/2.5.0/gems/compass-1.0.3/bin:$PATH" ``` ### Install Less -```nginx +```bash npm install less ``` ### Install Yarn -*To install yarn, a more recent version of nodejs is required, so*[*follow the instructions and download and unpack a newer version of nodejs*](https://archive.support.hypernode.com/knowledgebase/use-nodejs-npm-hypernode/#Using_a_newer_version_of_NodeJs)*first* +*To install yarn, a more recent version of nodejs is required, so [follow the instructions and download and unpack a newer version of nodejs](#using-a-newer-version-of-nodejs) first.* -```nginx +```bash npm install yarn ``` -## **Using an newer version of Node.js** +## **Using a newer version of Node.js** ### **Install a newer version of Node.js** @@ -115,20 +118,17 @@ All we need to do is download and unpack them to make use of node and npm and in In this example we use version v14.17.6 but the installation process is the same when using older or newer versions. - First, create the directory where we will unpack Node.js: - -```nginx -mkdir /data/web/.node -``` - + ```bash + mkdir /data/web/.node + ``` - Then, get the precompiled package from the Node.js website and unpack it in our directory: + ```bash + wget https://nodejs.org/dist/v14.17.6/node-v14.17.6-linux-x64.tar.xz -O /tmp/node.txz + cd ~/.node && tar xvfJ /tmp/node.txz -C . --strip-components=1 + rm /tmp/node.txz + ``` -```nginx -wget [https://nodejs.org/dist/v14.17.6/node-v14.17.6-linux-x64.tar.xz](https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-x64.tar.xz) -O /tmp/node.txz -cd ~/.node && tar xvfJ /tmp/node.txz -C . --strip-components=1 -rm /tmp/node.txz -``` - -That’s it, you now have a precompiled node installation in `~/node` +That’s it, you now have a precompiled node installation in `~/node`. ### Configure a Manually Installed Node.js @@ -136,18 +136,18 @@ To run the manually installed executables, you need to change your `PATH` variab To do this, run the following command to add the locations to your PATH: -```nginx - export PATH="/data/web/node_modules/.bin:/data/web/.node/bin:$PATH" +```bash +export PATH="/data/web/node_modules/.bin:/data/web/.node/bin:$PATH" ``` Or to make the settings permanent, add it to your `~/.profile`: -```nginx - echo 'export PATH="/data/web/node_modules/.bin:/data/web/.node/bin:$PATH"' >> ~/.profile +```bash +echo 'export PATH="/data/web/node_modules/.bin:/data/web/.node/bin:$PATH"' >> ~/.profile ``` Both the installations (the already installed or the precompiled self-downloaded version) use `/data/web/node_modules` as their location to install new packages to when using npm. ## Troubleshooting -- When using npm search, so much memory is used that on Hypernode Grow plans, your shell will get killed and you’ll be automagically logged out of your Hypernode due to our out of memory protection. +- When using npm search, so much memory is used that on Hypernode Grow plans, your shell will get killed, and you’ll be automagically logged out of your Hypernode due to our out of memory protection. diff --git a/docs/hypernode-platform/tools/how-to-use-periodic-tasks-cronjobs-on-hypernode.md b/docs/hypernode-platform/tools/how-to-use-periodic-tasks-cronjobs-on-hypernode.md index 72435988..6faa73e5 100644 --- a/docs/hypernode-platform/tools/how-to-use-periodic-tasks-cronjobs-on-hypernode.md +++ b/docs/hypernode-platform/tools/how-to-use-periodic-tasks-cronjobs-on-hypernode.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: Cronjobs are periodic tasks running in the background of your Hypernode - for maintenance, such as cleaning up logs or importing products. Here's how - to use them. + description: "Cronjobs are periodic tasks that run in the background of your Hypernode.\ + \ We'll help you to set up and use these periodic tasks. " + title: How to Use Periodic Tasks or Cronjobs on Hypernode? +redirect_from: + - /en/hypernode/tools/how-to-use-periodic-tasks-cronjobs-on-hypernode/ + - /knowledgebase/configure-cronjobs-on-hypernode/ --- diff --git a/docs/hypernode-platform/tools/how-to-use-supervisor.md b/docs/hypernode-platform/tools/how-to-use-supervisor.md index fa662a50..7a261681 100644 --- a/docs/hypernode-platform/tools/how-to-use-supervisor.md +++ b/docs/hypernode-platform/tools/how-to-use-supervisor.md @@ -2,8 +2,10 @@ myst: html_meta: description: 'Supervisor enables you to use programs that need to run all the - time on your Hypernode. Supervisor watches your programs and restarts them if - they might fail. ' + time on your Hypernode. Discover how to use supervisor step-by-step. ' + title: How to use Supervisor? | Hypernode +redirect_from: + - /en/hypernode/tools/how-to-use-supervisor/ --- diff --git a/docs/hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md b/docs/hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md index 5581c18f..8f701645 100644 --- a/docs/hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md +++ b/docs/hypernode-platform/tools/how-to-use-the-hypernode-systemctl-cli-tool.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: The hypernode-systemctl tool allows you to set values for your Hypernode - via the command line interface. It makes Magento development and maintenance - easier. + description: 'The hypernode-systemctl tool allows you to set certain values for + your Hypernode via the CLI. Learn how to use hypernode-systemctl CLI Tool. ' + title: How to use the hypernode-systemctl CLI Tool? +redirect_from: + - /en/hypernode/tools/how-to-use-the-hypernode-systemctl-cli-tool/ + - /knowledgebase/hypernode-systemctl-cli-tool/ --- @@ -38,7 +41,7 @@ To see which values you can set and which values they are allowed to have take a - `openvpn_enabled`: Enables [OpenVPN](https://community.hypernode.io/#/Documentation/hypernode-vpn/README?) for secure database connections - `override_sendmail_return_path`: Override the return-path (Due to the bug in Magento 2) - `password_auth`: indicates whether password authentication for the Hypernode is allowed instead of only SSH keys. -- `permissive_memory_management`: Configure [memory management policy](https://support.hypernode.com/changelog/platform/release-5946-configurable-memory-management-policy-and-rss-bruteforce-detection/) (OOM kills) +- `permissive_memory_management`: Configure [memory management policy](https://changelog.hypernode.com/release-5946-configurable-memory-management-policy-and-rss-bruteforce-detection/) (OOM kills) - `php_version`: Change the PHP version - `php_apcu_enabled`: Enable the PHP-apcu - `redis_persistent_instance` @@ -68,13 +71,13 @@ If an invalid value is provided you will be notified of this during the setting ### Blackfire -- `blackfire_enabled`Indicates whether Blackfire is enabled. Check out [this article](https://support.hypernode.com/knowledgebase/profiling-magento-blackfire/) on how to set up Blackfire. +- `blackfire_enabled`Indicates whether Blackfire is enabled. Check out [this article](../../best-practices/performance/how-to-use-blackfire-on-hypernode-to-find-performance-issues.md) on how to set up Blackfire. - `blackfire_server_token`The BlackFire server token for your Blackfire setup. - `blackfire_server_id` The BlackFire server ID for your Blackfire setup. ### Disable optimizer switch -Indicates whether `use_index_extensions` and `mrr` are turned off. If turned off this can improve performance due to an issue in PHP 5.6 related to Multi-Range Read Optimization. For more information about this setting see this [changelog](https://support.hypernode.com/changelog/release-5340-block-ftp-access-sftp-used-systems-tweaks/#Opt-in_use_index_extensions_and_Multi-Range_Read_Optimization). +Indicates whether `use_index_extensions` and `mrr` are turned off. If turned off this can improve performance due to an issue in PHP 5.6 related to Multi-Range Read Optimization. For more information about this setting see this [changelog](https://changelog.hypernode.com/release-5340-block-ftp-access-sftp-used-systems-tweaks/). ### Elasticsearch @@ -87,30 +90,30 @@ This options allows you to enable IonCube if needed. Note: IonCube is a huge per ### Firewall block FTP -Indicates whether FTP is completely blocked or not in favour of SFTP. For more information about this setting see this [changelog](https://support.hypernode.com/changelog/release-5340-block-ftp-access-sftp-used-systems-tweaks/). +Indicates whether FTP is completely blocked or not in favour of SFTP. For more information about this setting see this [changelog](https://changelog.hypernode.com/release-5340-block-ftp-access-sftp-used-systems-tweaks/). ### Mailhog -This options enables Mailhog. Mailhog is an email testing tool for developers. Check our [documentation](https://support.hypernode.com/knowledgebase/how-to-use-mailhog-on-hypernode/) for a more detailed explanation about Mailhog on Hypernode. +This options enables Mailhog. Mailhog is an email testing tool for developers. Check our [documentation](../../hypernode-platform/tools/how-to-use-mailhog-on-hypernode.md) for a more detailed explanation about Mailhog on Hypernode. ### Managed Vhosts -Eanble the Hypernode Managed Vhosts option to setup the Hypernode with a specific Nginx config which allows you to setup multiple domain names with their own independent Nginx configuration. See our [documentation](https://support.hypernode.com/en/hypernode/nginx/hypernode-managed-vhosts) for more information. +Eanble the Hypernode Managed Vhosts option to setup the Hypernode with a specific Nginx config which allows you to setup multiple domain names with their own independent Nginx configuration. See our [documentation](../nginx/hypernode-managed-vhosts.md) for more information. ### Modern SSH config enabled -Indicates whether this node will have a stricter set of SSH encryption algorithms enabled. See [this](https://support.hypernode.com/changelog/release-5139-stricter-ssh-encryption-algorithms/%22%3Ethis) [changelog](https://support.hypernode.com/changelog/release-5139-stricter-ssh-encryption-algorithms/) for more information about this setting. +Indicates whether this node will have a stricter set of SSH encryption algorithms enabled. See [this changelog](https://changelog.hypernode.com/release-5139-stricter-ssh-encryption-algorithms/) for more information about this setting. ### Modern SSL config enabled -Indicates whether this node will have the Mozilla Modern SSL configuration configured. This provides a higher level of security but loses compatibility with some browsers. For more information about this setting see [this changelog](https://support.hypernode.com/changelog/release-4582-updated-configurable-ssl-ciphers/). +Indicates whether this node will have the Mozilla Modern SSL configuration configured. This provides a higher level of security but loses compatibility with some browsers. For more information about this setting see [this changelog](https://changelog.hypernode.com/release-4582-updated-configurable-ssl-ciphers/). ### MySQL - `mysql_version`: Change the MySQL version (note, once set to 5.7 this can't be reverted) - `mysql_disable_stopwords` -This setting makes it possible to disable the built-in stopword file for MyISAM search indexes. Read the [changelog](https://support.hypernode.com/changelog/release-6079-opt-in-disable-stopwords-for-myisam-search-indexes/) for more information. +This setting makes it possible to disable the built-in stopword file for MyISAM search indexes. Read the [changelog](https://changelog.hypernode.com/release-6079-opt-in-disable-stopwords-for-myisam-search-indexes/) for more information. - `mysql_ft_min_word_len` @@ -118,21 +121,21 @@ This setting will make it possible to configure the ft_min_word_len for MySQL. T - `mysql_tmp_on_data_enabled` -Indicates whether the MySQL tmp directory is located in the `/data/` directory of the `app` user or in the `/tmp/` directory of the `root` user. The `root` user does not have the same amount of space available as the `app` user, so enabling this might prevent MySQL from taking up all disk space at the cost of taking of the space of the `app` user. Mostly useful for large shops who create a lot of temporary tables with MySQL. For more information about this settings see [this changelog](https://support.hypernode.com/changelog/release-5133-configurable-mysql-temporary-directory-extra-space/). +Indicates whether the MySQL tmp directory is located in the `/data/` directory of the `app` user or in the `/tmp/` directory of the `root` user. The `root` user does not have the same amount of space available as the `app` user, so enabling this might prevent MySQL from taking up all disk space at the cost of taking of the space of the `app` user. Mostly useful for large shops who create a lot of temporary tables with MySQL. For more information about this settings see [this changelog](https://changelog.hypernode.com/release-5133-configurable-mysql-temporary-directory-extra-space/). - `mysql_enable_large_thread_stack` -This option allows you to use a larger MySQL thread_stack from 192K to 512K. Check our [changelog](https://support.hypernode.com/changelog/release-7083-opt-in-large-mysql-thread_stack/) for more information. +This option allows you to use a larger MySQL thread_stack from 192K to 512K. Check our [changelog](https://changelog.hypernode.com/release-7083-opt-in-large-mysql-thread_stack/) for more information. ### Open VPN enabled -Our Hypernode-vpn solution implements a standard OpenVPN TLS tunnel to the Hypernode. Which can be used to talk to the MySQL database securely. You simply enable OpenVPN on your Hypernode and all the required packages and configuration are installed automatically. The automation will generate a default user configuration which you can use to connect to the Hypernode. More information can be found [here](https://support.hypernode.com/knowledgebase/how-to-use-hypernode-vpn/) +Our Hypernode-vpn solution implements a standard OpenVPN TLS tunnel to the Hypernode. Which can be used to talk to the MySQL database securely. You simply enable OpenVPN on your Hypernode and all the required packages and configuration are installed automatically. The automation will generate a default user configuration which you can use to connect to the Hypernode. ### Override sendmail return-path Indicates if this node has a return-path set. When you send emails from your Magento shop with no return-path set, the return-path will default to noreply@hypernode.io. This email address may be recognised as a spam address by spam filters, as it is a very generic email used on all Hypernodes without same email configuration. -Check out [this article](https://support.hypernode.com/knowledgebase/set-return-path-email-sent-from-magento-shop/) for more information. +Check out [this article](../../ecommerce-applications/magento-2/how-to-set-the-return-path-for-a-magento-2-shop.md) for more information. ### Password Auth @@ -140,7 +143,7 @@ Indicates whether password authentication for the node is allowed instead of onl ### Permissive Memory Management -Configure the OOM-killer to be permissive of short term memory usage, allowing memory hungry processes to run without executing overly drastic measures. For more information see our [documentation](https://support.hypernode.com/en/troubleshooting/performance/how-to-debug-out-of-memory-oom-events). +Configure the OOM-killer to be permissive of short term memory usage, allowing memory hungry processes to run without executing overly drastic measures. For more information see our [documentation](../../troubleshooting/performance/how-to-debug-out-of-memory-oom-events.md). ### PHP @@ -149,15 +152,15 @@ Configure the OOM-killer to be permissive of short term memory usage, allowing m ### Redis persistent instance -Enable this feature to start another Redis instance for sessions instead of caching. Please note that this might require some changes on your end. For more information about this setting see [this changelog](https://support.hypernode.com/changelog/experimental-changes-redis-sessions-aws-performance/). +Enable this feature to start another Redis instance for sessions instead of caching. Please note that this might require some changes on your end. For more information about this setting see [this changelog](https://changelog.hypernode.com/experimental-changes-redis-sessions-aws-performance/). ### RabbitMQ Enabled -This options enables RabbitMQ which allows you to run tasks in the background. RabbitMQ is message-queueing software where queues can be defined. Applications can connect to the queue and transfer a message onto it. This way you can (for example) import many products into Magento without having to wait a substantial time until the process is finished. The import takes place in the background. Check our [documentation](https://support.hypernode.com/en/best-practices/database/how-to-run-rabbitmq-on-hypernode) for more information. +This options enables RabbitMQ which allows you to run tasks in the background. RabbitMQ is message-queueing software where queues can be defined. Applications can connect to the queue and transfer a message onto it. This way you can (for example) import many products into Magento without having to wait a substantial time until the process is finished. The import takes place in the background. Check our [documentation](../../best-practices/database/how-to-run-rabbitmq-on-hypernode.md) for more information. ### Supervisor Enabled -This option allows you to use Supervisor. Supervisor allows you to use programs that need to run all the time on your Hypernode. These (usually long running) programs should not fail if there is an error. To accomplish this Supervisor watches your programs and restarts them if they might fail. Supervisor works great for use cases where a web hook or metrics always needs to run. See the [changelog](https://support.hypernode.com/changelog/release-6892-supervisord-support/) for more information on Supervisor. +This option allows you to use Supervisor. Supervisor allows you to use programs that need to run all the time on your Hypernode. These (usually long running) programs should not fail if there is an error. To accomplish this Supervisor watches your programs and restarts them if they might fail. Supervisor works great for use cases where a web hook or metrics always needs to run. See the [changelog](https://changelog.hypernode.com/release-6892-supervisord-support/) for more information on Supervisor. ### UnixODBC diff --git a/docs/hypernode-platform/tools/hypernode-brancher.md b/docs/hypernode-platform/tools/hypernode-brancher.md index 2fcae011..1be2e959 100644 --- a/docs/hypernode-platform/tools/hypernode-brancher.md +++ b/docs/hypernode-platform/tools/hypernode-brancher.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: 'Hypernode Brancher is a powerful tool that allows users to create + and manage temporary servers based on their production Hypernode. Learn more. ' + title: Hypernode Brancher | Everything you need to know +redirect_from: + - /en/support/solutions/articles/48001227297-hypernode-brancher/ +--- + # Hypernode Brancher @@ -18,7 +28,7 @@ Hypernode Brancher is a mutable and temporary copy of your Hypernode. It’s bas If you wish to get a more recent state on the Brancher node, you can create a new backup on your Hypernode using `hypernode-systemctl create_backup`. Note that this requires SLA Standard to be enabled on your Hypernode. -Read more about our [backup policy here](https://support.hypernode.com/en/hypernode/backups/hypernode-backup-policy). +Read more about our [backup policy here](../backups/hypernode-backup-policy.md). ## Why should I use it? diff --git a/docs/hypernode-platform/tools/hypernode-cli-tools-and-magerun-plugins.md b/docs/hypernode-platform/tools/hypernode-cli-tools-and-magerun-plugins.md index 26e321ff..56f69d9f 100644 --- a/docs/hypernode-platform/tools/hypernode-cli-tools-and-magerun-plugins.md +++ b/docs/hypernode-platform/tools/hypernode-cli-tools-and-magerun-plugins.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: This page offers an overview of all tools available on Hypernodes - and hypernode-vagrant to Hypernode users to make your life as a developer easier. + description: 'Hypernode provides many tools to make your life as a developer easier. + Get a look on all tools available on Hypernode. ' + title: How to Hypernode CLI tools and Magerun plugins? +redirect_from: + - /en/hypernode/tools/hypernode-cli-tools-and-magerun-plugins/ + - /knowledgebase/hypernode-cli-tools-magerun-plugins/ --- @@ -24,7 +28,7 @@ The hypernode-systemctl tool allows you to set certain values for your Hypernode - Firewall block - Safer SSL and SSH configuration -Details can be found in [a separate article about the hypernode-systemctl tool](https://support.hypernode.com/en/hypernode/tools/how-to-use-the-hypernode-systemctl-cli-tool). +Details can be found in [a separate article about the hypernode-systemctl tool](../tools/how-to-use-the-hypernode-systemctl-cli-tool.md). ## Command Line Utilities @@ -32,31 +36,31 @@ Details can be found in [a separate article about the hypernode-systemctl tool]( Tool to create FTP users and credentials -*More info can be found in*\*[the article about how to manage ftp users](https://support.hypernode.com/knowledgebase/configuring-ftp/).\* +*More info can be found in*\*[the article about how to manage ftp users](../ftp/how-to-configure-ftp-sftp-on-hypernode.md).\* ### hypernode-parse-nginx-log Parse the json based Nginx access logging and filter specific fields. -*More info can be found in [the article about working with logs](https://support.hypernode.com/en/hypernode/nginx/how-to-find-the-the-top-10-visitors-by-parsing-the-nginx-access-logs).* +*More info can be found in [the article about working with logs](../nginx/how-to-find-the-the-top-10-visitors-by-parsing-the-nginx-access-logs.md).* ### hypernode-cron-flockerizr Converts your cron file entries to make use of flock. -*More information about how to use flock can be found in [the article about periodic tasks](https://support.hypernode.com/knowledgebase/configure-cronjobs-on-hypernode/).* +*More information about how to use flock can be found in [the article about periodic tasks](how-to-use-periodic-tasks-cronjobs-on-hypernode.md).* ### hypernode-fpm-slow-modules Detects Magento extensions that slow down the shop by parsing the /var/log/php-fpm/php-slow.log -*More info about how to detect slow extensions can be found in*[*the article about interpreting the php-slow-log.*](https://support.hypernode.com/knowledgebase/spot-slow-extensions-using-phps-slow-log/) +*More info about how to detect slow extensions can be found in*[*the article about interpreting the php-slow-log.*](../../troubleshooting/performance/how-to-spot-slow-extensions-using-the-php-slow-logs.md) ### hypernode-image-optimizer This tool provides a very easy way of optimizing images to improve performance and save diskspace. -*More information about how to optimize your images can be found*\*[in the documentation about the hypernode-image-optimizer](https://support.hypernode.com/knowledgebase/magento-image-optimization-howto/).\* +*More information about how to optimize your images can be found*\*[in the documentation about the hypernode-image-optimizer](../../best-practices/performance/how-to-optimize-your-images.md).\* ### hypernode-fpm-status @@ -83,7 +87,7 @@ optional arguments: --version show program's version number and exit ``` -More information on this handy command can be found in this [Hypernode Changelog](https://support.hypernode.com/changelog/release-5070-new-hypernode-servicectl-utility-restart-services-app-user/) and the one dedicated to [restarting Redis](https://support.hypernode.com/changelog/release-5840-hypernode-servicectl-can-also-restart-redis/). +More information on this handy command can be found in this [Hypernode Changelog](https://changelog.hypernode.com/release-5070-new-hypernode-servicectl-utility-restart-services-app-user/) and the one dedicated to [restarting Redis](https://changelog.hypernode.com/release-5840-hypernode-servicectl-can-also-restart-redis/). ### hypernode-importer @@ -91,7 +95,7 @@ The hypernode-importer is a neat tool to fully automagically import your site on It can be used to either create a copy of your shop on the Hypernode, or copy your site to a Hypernode Docker. -*To find more information about how to migrate your Magento to Hypernode, check the*\*[documentation about the hypernode-importer](https://support.hypernode.com/knowledgebase/migrating-your-magento-to-hypernode/).\* +\*To find more information about how to migrate your Magento to Hypernode, check the [documentation about the hypernode-importer](how-to-migrate-your-shop-to-hypernode.md). ### hypernode-postsuper diff --git a/docs/hypernode-platform/tools/installation-and-configuration-of-pm2.md b/docs/hypernode-platform/tools/installation-and-configuration-of-pm2.md index 977c8d62..c4bcc487 100644 --- a/docs/hypernode-platform/tools/installation-and-configuration-of-pm2.md +++ b/docs/hypernode-platform/tools/installation-and-configuration-of-pm2.md @@ -1,3 +1,14 @@ +--- +myst: + html_meta: + description: PM2 is a process manager which keeps your application running as + a daemon. In this article we’ll cover the installation and configuration process + of PM2. + title: How to install and configure PM2 on Hypernode? +redirect_from: + - /en/support/solutions/articles/48001208544-installation-and-configuration-of-pm2/ +--- + # Installation and configuration of PM2 @@ -10,25 +21,25 @@ We will run PM2 in combination with a program called supervisord to make sure th PM2 can be installed in various ways. In this article we'll install the process manager globally for the app user. We'll also create an alias for PM2, so that the program will not spawn the PM2 daemon on the fly. We don't want that to happen, because we want PM2 to run in the foreground so that it can be managed by supervisord. -``` -app@abbt5w-tdgroot-magweb-cmbl:~$ # Set NPM prefix to ~/.npm -app@abbt5w-tdgroot-magweb-cmbl:~$ npm config set prefix ~/.npm -app@abbt5w-tdgroot-magweb-cmbl:~$ # Install PM2 in NPM prefix -app@abbt5w-tdgroot-magweb-cmbl:~$ npm install --quiet -g pm2 +```console +app@abbt5w-example-magweb-cmbl:~$ # Set NPM prefix to ~/.npm +app@abbt5w-example-magweb-cmbl:~$ npm config set prefix ~/.npm +app@abbt5w-example-magweb-cmbl:~$ # Install PM2 in NPM prefix +app@abbt5w-example-magweb-cmbl:~$ npm install --quiet -g pm2 /data/web/.npm/bin/pm2-dev -> /data/web/.npm/lib/node_modules/pm2/bin/pm2-dev /data/web/.npm/bin/pm2 -> /data/web/.npm/lib/node_modules/pm2/bin/pm2 /data/web/.npm/bin/pm2-docker -> /data/web/.npm/lib/node_modules/pm2/bin/pm2-docker /data/web/.npm/bin/pm2-runtime -> /data/web/.npm/lib/node_modules/pm2/bin/pm2-runtime + pm2@5.1.2 added 181 packages from 200 contributors in 7.411s -app@abbt5w-tdgroot-magweb-cmbl:~$ # Add user NPM prefix bin directory to PATH -app@abbt5w-tdgroot-magweb-cmbl:~$ echo 'export PATH="$PATH:$HOME/.npm/bin"' >> ~/.bashrc -app@abbt5w-tdgroot-magweb-cmbl:~$ # Create pm2 alias to skip creation of PM2 daemon on the fly -app@abbt5w-tdgroot-magweb-cmbl:~$ echo 'alias pm2="pm2 --no-daemon"' >> ~/.bashrc -app@abbt5w-tdgroot-magweb-cmbl:~$ # Reload bash config -app@abbt5w-tdgroot-magweb-cmbl:~$ source ~/.bashrc -app@abbt5w-tdgroot-magweb-cmbl:~$ # Check if pm2 program can be found -app@abbt5w-tdgroot-magweb-cmbl:~$ which pm2 +app@abbt5w-example-magweb-cmbl:~$ # Add user NPM prefix bin directory to PATH +app@abbt5w-example-magweb-cmbl:~$ echo 'export PATH="$PATH:$HOME/.npm/bin"' >> ~/.bashrc +app@abbt5w-example-magweb-cmbl:~$ # Create pm2 alias to skip creation of PM2 daemon on the fly +app@abbt5w-example-magweb-cmbl:~$ echo 'alias pm2="pm2 --no-daemon"' >> ~/.bashrc +app@abbt5w-example-magweb-cmbl:~$ # Reload bash config +app@abbt5w-example-magweb-cmbl:~$ source ~/.bashrc +app@abbt5w-example-magweb-cmbl:~$ # Check if pm2 program can be found +app@abbt5w-example-magweb-cmbl:~$ which pm2 /data/web/.npm/bin/pm2 ``` @@ -40,7 +51,7 @@ To make use of supervisord, we first have to make sure it is enabled and running For this article we'll use a simple web server application written in Python. Feel free to use your own application! -``` +```python #!/usr/bin/env python3 from http.server import BaseHTTPRequestHandler, HTTPServer @@ -76,7 +87,7 @@ The application only handles `GET` requests and responds with the text "Hello, V Now that we have PM2 installed, supervisor available and an application to run, we can combine all the things together. Create a file at /data/web/supervisor/my_application.conf with the following contents. -``` +```ini [program:pm2_my_application] command=/data/web/.npm/bin/pm2 --no-daemon --interpreter=python3 start /data/web/my_application/main.py autostart=true @@ -90,27 +101,27 @@ For more information about options and configuration of PM2 and supervisor, plea Now we're almost done, we only need to execute a few commands to load the supervisord configuration and start the PM2 process manager. -``` -app@abbt5w-tdgroot-magweb-cmbl:~$ # Make sure no pm2 background daemon is running -app@abbt5w-tdgroot-magweb-cmbl:~$ pm2 kill +```console +app@abbt5w-example-magweb-cmbl:~$ # Make sure no pm2 background daemon is running +app@abbt5w-example-magweb-cmbl:~$ pm2 kill pm2 launched in no-daemon mode (you can add DEBUG="*" env variable to get more messages) 2022-02-04T11:58:30: PM2 log: Launching in no daemon mode 2022-02-04T11:58:30: PM2 error: [PM2][WARN] No process found 2022-02-04T11:58:30: PM2 log: [PM2] [v] All Applications Stopped 2022-02-04T11:58:30: PM2 log: PM2 successfully stopped 2022-02-04T11:58:30: PM2 log: [PM2] [v] PM2 Daemon Stopped -app@abbt5w-tdgroot-magweb-cmbl:~$ # Reload supervisor config files -app@abbt5w-tdgroot-magweb-cmbl:~$ supervisorctl reread +app@abbt5w-example-magweb-cmbl:~$ # Reload supervisor config files +app@abbt5w-example-magweb-cmbl:~$ supervisorctl reread pm2_my_application: available -app@abbt5w-tdgroot-magweb-cmbl:~$ # Check which processes are available -app@abbt5w-tdgroot-magweb-cmbl:~$ supervisorctl avail +app@abbt5w-example-magweb-cmbl:~$ # Check which processes are available +app@abbt5w-example-magweb-cmbl:~$ supervisorctl avail pm2_my_application avail auto 999:999 -app@abbt5w-tdgroot-magweb-cmbl:~$ # Add our process to be managed by supervisor -app@abbt5w-tdgroot-magweb-cmbl:~$ supervisorctl add pm2_my_application +app@abbt5w-example-magweb-cmbl:~$ # Add our process to be managed by supervisor +app@abbt5w-example-magweb-cmbl:~$ supervisorctl add pm2_my_application pm2_my_application: added process group -app@abbt5w-tdgroot-magweb-cmbl:~$ # Check status of running processes -app@abbt5w-tdgroot-magweb-cmbl:~$ supervisorctl status +app@abbt5w-example-magweb-cmbl:~$ # Check status of running processes +app@abbt5w-example-magweb-cmbl:~$ supervisorctl status pm2_my_application RUNNING pid 25139, uptime 0:00:04 -app@abbt5w-tdgroot-magweb-cmbl:~$ curl http://localhost:8000/ +app@abbt5w-example-magweb-cmbl:~$ curl http://localhost:8000/ Hello, Visitor! ``` diff --git a/docs/hypernode-platform/tools/unblocking-and-accessing-magmi-for-hypernode.md b/docs/hypernode-platform/tools/unblocking-and-accessing-magmi-for-hypernode.md index 17ddf769..4621f946 100644 --- a/docs/hypernode-platform/tools/unblocking-and-accessing-magmi-for-hypernode.md +++ b/docs/hypernode-platform/tools/unblocking-and-accessing-magmi-for-hypernode.md @@ -1,9 +1,13 @@ --- myst: html_meta: - description: Magmi, the Magento mass importer, is an alternative product importer - offering better performance than the default. Here's how to unblock and access - it. + description: 'To unblock Magmi, the Magento mass importer, and offer secure access + to it for your users and/or developers, use our extensive documentation here. ' + title: How to unblock and access Magmi for Hypernode? +redirect_from: + - /en/hypernode/tools/unblocking-and-accessing-magmi-for-hypernode/ + - /knowledgebase/unblocking-and-accessing-magmi-for-hypernode/ + - /knowledgebase/securing-access-to-magmi/ --- @@ -25,7 +29,7 @@ To unblock Magmi and offer **secure** access to it for your users and/or develop Then pick one of the snippets that applies to your wishes and save it as `server.magmi` or in your `/data/web/nginx/magmi.conf` config file. -*NB: If you don’t want to update IP addresses in all config files with every change of IP address, you can choose to use*\*[include files](https://support.hypernode.com/knowledgebase/create-reusable-config-for-custom-snippets/).\* +*NB: If you don’t want to update IP addresses in all config files with every change of IP address, you can choose to use*\*[include files](../nginx/how-to-create-a-reusable-config-to-include-in-custom-snippets.md).\* ### Protect Your Magmi Installation With HTTP Basic Authentication @@ -42,7 +46,7 @@ location ~* /magmi($|/) { } ``` -Don’t forget to [create a user](https://support.hypernode.com/knowledgebase/protect-a-directory-with-a-password-in-nginx/): +Don’t forget to [create a user](../nginx/how-to-protect-your-magento-store-with-a-password-in-nginx.md): ```bash htpasswd -c /data/web/nginx/magmi.htpasswd exampleuser @@ -85,7 +89,7 @@ location ~* /magmi($|/) { We strongly recommend enforcing HTTPS-only on Magmi because of the possibility of entering database passwords or transferring other sensitive information. -If you haven’t [enforced HTTPS across your whole site](https://support.hypernode.com/knowledgebase/redirect-all-http-traffic-to-https-in-nginx/), you can enforce it for Magmi by adding the following line inside the `location` block: +If you haven’t [enforced HTTPS across your whole site](../nginx/how-to-configure-your-shop-to-only-use-https.md), you can enforce it for Magmi by adding the following line inside the `location` block: ```nginx if ($scheme = http) { diff --git a/docs/hypernode-platform/tools/what-kind-of-request-is-my-hypernode-serving.md b/docs/hypernode-platform/tools/what-kind-of-request-is-my-hypernode-serving.md index d8e57134..b59e66e8 100644 --- a/docs/hypernode-platform/tools/what-kind-of-request-is-my-hypernode-serving.md +++ b/docs/hypernode-platform/tools/what-kind-of-request-is-my-hypernode-serving.md @@ -1,3 +1,11 @@ +--- +myst: + html_meta: + description: Here are a few handy helpers you can use on Hypernode to get a quick + overview of what kind of requests a Hypernode is currently serving. + title: What kind of request is my Hypernode serving? +--- + # What kind of requests is my Hypernode serving There are a few handy helpers you can use on Hypernode to get a quick overview of what kind of requests a Hypernode is currently serving. diff --git a/docs/hypernode-platform/varnish.md b/docs/hypernode-platform/varnish.md index b413dd55..8299dd2f 100644 --- a/docs/hypernode-platform/varnish.md +++ b/docs/hypernode-platform/varnish.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about varnish. + title: Varnish | Hypernode platform +redirect_from: + - /en/hypernode/varnish/ +--- + # Varnish ```{toctree} diff --git a/docs/hypernode-platform/varnish/how-to-enable-varnish-on-hypernode.md b/docs/hypernode-platform/varnish/how-to-enable-varnish-on-hypernode.md index d442e80d..2f852513 100644 --- a/docs/hypernode-platform/varnish/how-to-enable-varnish-on-hypernode.md +++ b/docs/hypernode-platform/varnish/how-to-enable-varnish-on-hypernode.md @@ -1,8 +1,18 @@ +--- +myst: + html_meta: + description: 'After enabling Varnish, you need to configure both Varnish and your + application. Per application we have a guide to walk you through the process. ' + title: How to enable Varnish on Hypernode? +redirect_from: + - /en/hypernode/varnish/how-to-enable-varnish-on-hypernode/ +--- + # How to enable Varnish on Hypernode -Customers with a Trial, Pelican M (or up), Falcon S (or up) or Eagle plan can use Varnish to boost the performance of their application. After enabling Varnish, you still need to configure both Varnish and your application. We have [support documentation per application](https://support.hypernode.com/en/hypernode/varnish/how-to-enable-varnish-on-hypernode#Configure-Varnish-on-your-application) available to guide you through the process: +Customers with a Trial, Pelican M (or up), Falcon S (or up) or Eagle plan can use Varnish to boost the performance of their application. After enabling Varnish, you still need to configure both Varnish and your application. We have [support documentation per application](../varnish/how-to-enable-varnish-on-hypernode.md#configure-varnish-on-your-application) available to guide you through the process: ## Enable Varnish 4.0 or 6.0 @@ -22,14 +32,14 @@ At Hypernode it’s possible to enable Varnish 4.0 or 6.0 via the Control Panel, - Click on "Varnish" - Use the switch to enable Varnish -**Configure Varnish 6.0 via the [hypernode-systemctl tool](https://support.hypernode.com/knowledgebase/hypernode-systemctl-cli-tool/)** +**Configure Varnish 6.0 via the [hypernode-systemctl tool](../tools/how-to-use-the-hypernode-systemctl-cli-tool.md)** `hypernode-systemctl settings varnish_version 6.0` **Or if you want to switch to Varnish 4.0** `hypernode-systemctl settings varnish_version 4.0` -**Enable Varnish via the [hypernode-systemctl tool](https://support.hypernode.com/knowledgebase/hypernode-systemctl-cli-tool/)** +**Enable Varnish via the [hypernode-systemctl tool](../tools/how-to-use-the-hypernode-systemctl-cli-tool.md)** `hypernode-systemctl settings varnish_enabled true` @@ -43,7 +53,7 @@ Since the introduction of \*\*[hypernode-manage-vhosts](https://changelog.hypern The last step will be configuring Varnish on your application. Below you can find our available documentation for configuring Varnish on the application you’re using: -- [How to configure Varnish for Magento 1](https://support.hypernode.com/en/ecommerce/magento-1/how-to-configure-varnish-for-magento-1-x) -- [How to configure Varnish for Magento 2](https://support.hypernode.com/en/ecommerce/magento-2/how-to-configure-varnish-for-magento-2-x) -- [How to configure Varnish for Shopware 5](https://support.hypernode.com/en/support/solutions/articles/48001207016-how-to-configure-varnish-for-shopware-5) -- [How to configure Varnish for Shopware 6](https://support.hypernode.com/en/support/solutions/articles/48001200525-how-to-configure-varnish-for-shopware-6) +- [How to configure Varnish for Magento 1](../../ecommerce-applications/magento-1/how-to-configure-varnish-for-magento-1-x.md) +- [How to configure Varnish for Magento 2](../../ecommerce-applications/magento-2/how-to-configure-varnish-for-magento-2-x.md) +- [How to configure Varnish for Shopware 5](../../ecommerce-applications/shopware-5/how-to-configure-varnish-for-shopware-5.md) +- [How to configure Varnish for Shopware 6](../../ecommerce-applications/shopware-6/how-to-configure-varnish-for-shopware-6.md) diff --git a/docs/index.md b/docs/index.md index d6e83659..24e745ed 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,3 +1,21 @@ +--- +myst: + html_meta: + description: Welcome to Hypernode Docs! Here you find the extensive Support Documentation + of Hypernode. All you need to know about Hypernode in one place. + title: 'Hypernode Support Documentation | Hypernode ' +redirect_from: + - /en/ + - /en/support/ + - /en/support/login/ + - /en/support/solutions/ + - /en/ecommerce/ + - /en/getting-started/ + - /en/hypernode-platform/ + - /en/services/ + - /en/troubleshooting/ +--- + # Welcome to Hypernode Docs ```{toctree} diff --git a/docs/services/control-panel.md b/docs/services/control-panel.md index d744ba15..6b47e078 100644 --- a/docs/services/control-panel.md +++ b/docs/services/control-panel.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about the Control Panel. + title: Control Panel | Hypernode Services +redirect_from: + - /en/services/control-panel/ +--- + # Control Panel ```{toctree} diff --git a/docs/services/control-panel/different-control-panel-scenarios.md b/docs/services/control-panel/different-control-panel-scenarios.md index a8bd830c..44a6afc5 100644 --- a/docs/services/control-panel/different-control-panel-scenarios.md +++ b/docs/services/control-panel/different-control-panel-scenarios.md @@ -1,15 +1,18 @@ --- myst: html_meta: - description: "For security and usability, the Hypernode Control Panel's features\ - \ are available to users based on the role assigned to the individual user. " + description: Get the best performance out of your Hypernode installation with + our comprehensive guide to different Control Panel scenarios. + title: Different Control Panel scenarios | Hypernode +redirect_from: + - /en/services/control-panel/different-control-panel-scenarios/ --- # Different Control Panel Scenarios -**Please note that this FAQ only applies to Control Panel users that log in via my.hypernode.com. If you use the Service Panel and log in via service.byte.nl please see our [Different Service Panel Scenarios article](https://support.hypernode.com/en/about/support/different-service-panel-scenarios).** +**Please note that this FAQ only applies to Control Panel users that log in via my.hypernode.com. If you use the Service Panel and log in via service.byte.nl please see our [Different Service Panel Scenarios article](../../services/service-panel/different-service-panel-scenarios.md).** For security and usability, the Hypernode Control Panel's features are available to users based on the role assigned to the individual user. Each user invited to a team is assigned a role within the team. diff --git a/docs/services/control-panel/edit-personal-settings.md b/docs/services/control-panel/edit-personal-settings.md index 09c4e10c..acc913b5 100644 --- a/docs/services/control-panel/edit-personal-settings.md +++ b/docs/services/control-panel/edit-personal-settings.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'You can modify your personal settings from the Hypernode control - panel. In this article, we explain you how to edit them. ' + description: 'You can modify your personal settings from the Control Panel. Learn + how to edit these personal settings in this step-by-step guide. ' + title: Edit Personal Settings | Control Panel | Hypernode +redirect_from: + - /en/services/control-panel/edit-personal-settings/ --- diff --git a/docs/services/control-panel/how-to-add-keys-to-the-ssh-key-manager.md b/docs/services/control-panel/how-to-add-keys-to-the-ssh-key-manager.md index ddbf8bdb..5487cdbd 100644 --- a/docs/services/control-panel/how-to-add-keys-to-the-ssh-key-manager.md +++ b/docs/services/control-panel/how-to-add-keys-to-the-ssh-key-manager.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'You can add SSH Keys to your Hypernode via the Control Panel. Find - out the steps to add SSH Keys in this article. ' + description: 'You can add SSH Keys to your Hypernode(s) via the Control Panel. + Following our comprehensive guide to add an SSH key to one Hypernode. ' + title: How to add keys to the SSH key manager? Hypernode +redirect_from: + - /en/services/control-panel/how-to-add-keys-to-the-ssh-keymanager/ --- diff --git a/docs/services/control-panel/how-to-change-your-hypernode-settings.md b/docs/services/control-panel/how-to-change-your-hypernode-settings.md index 1c5276c9..9c04d671 100644 --- a/docs/services/control-panel/how-to-change-your-hypernode-settings.md +++ b/docs/services/control-panel/how-to-change-your-hypernode-settings.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: The Control Panel offers an overview of your Hypernode’s statistics - and settings. This article offers an in-depth explanation of these values. + description: 'The Control Panel offers an overview of your Hypernode’s statistics + and settings. Read how these settings can easily be adjusted via the command + line. ' + title: How to change your Hypernode settings | Control Panel +redirect_from: + - /en/support/solutions/articles/48001155575-how-to-change-your-hypernode-settings/ --- @@ -35,7 +39,7 @@ Indicates whether the MySQL tmp directory is located in the `/data/` directory o ### Blackfire enabled -Indicates whether Blackfire is enabled. Check out [this article](https://support.hypernode.com/en/best-practices/performance/how-to-use-blackfire-on-hypernode-to-find-performance-issues) on how to set up Blackfire. +Indicates whether Blackfire is enabled. Check out [this article](../../best-practices/performance/how-to-use-blackfire-on-hypernode-to-find-performance-issues.md) on how to set up Blackfire. ### Blackfire server token @@ -65,7 +69,7 @@ Indicates whether FTP is completely blocked or not in favour of SFTP. For more i ### New Relic enabled -Indicates whether New Relic is enabled. Check out [this article](https://support.hypernode.com/en/best-practices/performance/how-to-find-your-performance-bottleneck-with-new-relic) on how to set up New Relic. +Indicates whether New Relic is enabled. Check out [this article](../../best-practices/performance/how-to-find-your-performance-bottleneck-with-new-relic.md) on how to set up New Relic. ### Modern SSH config enabled @@ -79,4 +83,4 @@ Indicates whether this node will have the Mozilla Modern SSL configuration confi Indicates if this node has a return-path set. When you send emails from your Magento shop with no return-path set, the return-path will default to noreply@hypernode.io. This email address may be recognised as a spam address by spam filters, as it is a very generic email used on all Hypernodes without same email configuration. -Check out [this article](https://support.hypernode.com/en/ecommerce/magento-2/how-to-set-the-return-path-for-a-magento-2-shop) for more information. +Check out [this article](../../ecommerce-applications/magento-2/how-to-set-the-return-path-for-a-magento-2-shop.md) for more information. diff --git a/docs/services/control-panel/how-to-change-your-plan-via-the-cli.md b/docs/services/control-panel/how-to-change-your-plan-via-the-cli.md index 014269ea..062518a2 100644 --- a/docs/services/control-panel/how-to-change-your-plan-via-the-cli.md +++ b/docs/services/control-panel/how-to-change-your-plan-via-the-cli.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: 'Need to upgrade or downgrade your Hypernode plan? Learn how to use + the Hypernode command line interface (CLI) to easily change your hosting plan. ' + title: How to change your plan via the CLI? | Hypernode +redirect_from: + - /en/services/control-panel/how-to-change-your-plan-via-the-cli/ +--- + # How to Change Your Plan via the CLI @@ -38,37 +48,37 @@ All Hypernode plan codes can also be found in the below table. | | | | | | | | | -------------------- | ---------------------- | --------- | -------- | ------- | -------- | ------------------ | | **Product code** | **Name** | **Price** | **CPUs** | **RAM** | **Disk** | **Provider** | -| FALCON_XS_202203 | Falcon XS | €99 | 2 | 4 GB | 44 GB | Combell OpenStack | -| FALCON_XS_202203DEV | Falcon XS Development | €75 | 2 | 4 GB | 44 GB | Combell OpenStack | -| FALCON_S_202203 | Falcon S | €139 | 2 | 8 GB | 44 GB | Combell OpenStack | -| FALCON_S_202203DEV | Faclon S Development | €99 | 2 | 8 GB | 44 GB | Combell OpenStack | -| FALCON_M_202203 | Falcon M | €186 | 3 | 16 GB | 62 GB | Combell OpenStack | -| FALCON_M_202203DEV | Falcon M Development | €119 | 3 | 16 GB | 62 GB | Combell OpenStack | -| FALCON_L_202203 | Falcon L | €305 | 5 | 24 GB | 138 GB | Combell OpenStack | -| FALCON_L_202203DEV | Falcon L Development | €199 | 5 | 24 GB | 138 GB | Combell OpenStack | -| FALCON_XL_202203 | Falcon XL | €549 | 8 | 32 GB | 286 GB | Combell OpenStack | -| FALCON_XL_202203DEV | Falcon XL Development | €385 | 8 | 32 GB | 286 GB | Combell OpenStack | -| FALCON_2XL_202203 | Falcon 2XL | €849 | 12 | 48 GB | 606 GB | Combell OpenStack | -| FALCON_2XL_202203DEV | Falcon 2XL Development | €629 | 12 | 48 GB | 606 GB | Combell OpenStack | -| FALCON_3XL_202203 | Faclon 3XL | €1235 | 16 | 64 GB | 901 GB | Combell OpenStack | -| FALCON_3XL_202203DEV | Falcon 3XL Development | €889 | 16 | 64 GB | 901 GB | Combell OpenStack | -| FALCON_4XL_202203 | Falcon 4XL | €1799 | 18 | 80 GB | 1206 GB | Combell OpenStack | -| FALCON_4XL_202203DEV | Falcon 4XL Development | €1435 | 18 | 80 GB | 1206 GB | Combell OpenStack | -| FALCON_5XL_202203 | Falcon 5XL | €2699 | 20 | 96 GB | 1812 GB | Combell OpenStack | -| FALCON_5XL_202203DEV | Falcon 5XL Development | €2095 | 20 | 96 GB | 1812GB | Combell OpenStack | -| EAGLE_M_202203 | Eagle M | €519 | 4 | 8 GB | 250 GB | Amazon (Frankfurt) | -| EAGLE_M_202203DEV | Eagle M Development | €425 | 4 | 8 GB | 250 GB | Amazon (Frankfurt) | -| EAGLE_L_202203 | Eagle L | €939 | 8 | 16 GB | 500 GB | Amazon (Frankfurt | -| EAGLE_L_202203DEV | Eagle L | €790 | 8 | 16 GB | 500 GB | Amazon (Frankfurt) | -| EAGLE_XL_202203 | Eagle XL | €1659 | 16 | 32 GB | 750 GB | Amazon (Frankfurt) | -| EAGLE_XL_202203DEV | Eagle XL Development | €1360 | 16 | 32 GB | 750 GB | Amazon (Frankfurt) | -| EAGLE_2XL_202203 | Eagle 2XL | €3019 | 36 | 72 GB | 1000 GB | Amazon (Frankfurt) | -| EAGLE_2XL_202203DEV | Eagle 2XL Development | €2575 | 36 | 72 GB | 1000 GB | Amazon (Frankfurt) | -| EAGLE_3XL_202203 | Eagle 3XL | €4579 | 40 | 160 GB | 1000 GB | Amazon (Frankfurt) | -| EAGLE_3XL_202203DEV | Eagle 3XL Development | €3975 | 40 | 160 GB | 1000 GB | Amazon (Frankfurt) | -| EAGLE_4XL_202203 | Eagle 4XL | €7289 | 64 | 256 GB | 1000 GB | Amazon (Frankfurt) | -| EAGLE_4XL_202203DEV | Eagle 4XL Development | €6195 | 64 | 256 GB | 1000 GB | Amazon (Frankfurt) | -| EAGLE_5XL_202203 | Eagle 5XL | €10199 | 96 | 384 GB | 1000 GB | Amazon (Frankfurt) | -| EAGLE_5XL_202203DEV | Eagle 5XL Development | €8849 | 96 | 384 GB | 1000 GB | Amazon (Frankfurt) | -| EAGLE_6XL_202203 | Eagle 6XL | €25999 | 128 | 1952 GB | 1000 GB | Amazon (Frankfurt) | -| EAGLE_6XL_202203DEV | Eagle 6XL Development | €20999 | 128 | 1952 GB | 1000 GB | Amazon (Frankfurt) | +| FALCON_XS_202203 | Falcon XS | €109 | 2 | 4 GB | 44 GB | Combell OpenStack | +| FALCON_XS_202203DEV | Falcon XS Development | €85 | 2 | 4 GB | 44 GB | Combell OpenStack | +| FALCON_S_202203 | Falcon S | €155 | 2 | 8 GB | 44 GB | Combell OpenStack | +| FALCON_S_202203DEV | Faclon S Development | €109 | 2 | 8 GB | 44 GB | Combell OpenStack | +| FALCON_M_202203 | Falcon M | €205 | 3 | 16 GB | 62 GB | Combell OpenStack | +| FALCON_M_202203DEV | Falcon M Development | €129 | 3 | 16 GB | 62 GB | Combell OpenStack | +| FALCON_L_202203 | Falcon L | €335 | 5 | 24 GB | 138 GB | Combell OpenStack | +| FALCON_L_202203DEV | Falcon L Development | €219 | 5 | 24 GB | 138 GB | Combell OpenStack | +| FALCON_XL_202203 | Falcon XL | €605 | 8 | 32 GB | 286 GB | Combell OpenStack | +| FALCON_XL_202203DEV | Falcon XL Development | €425 | 8 | 32 GB | 286 GB | Combell OpenStack | +| FALCON_2XL_202203 | Falcon 2XL | €935 | 12 | 48 GB | 606 GB | Combell OpenStack | +| FALCON_2XL_202203DEV | Falcon 2XL Development | €695 | 12 | 48 GB | 606 GB | Combell OpenStack | +| FALCON_3XL_202203 | Falcon 3XL | €1359 | 16 | 64 GB | 901 GB | Combell OpenStack | +| FALCON_3XL_202203DEV | Falcon 3XL Development | €979 | 16 | 64 GB | 901 GB | Combell OpenStack | +| FALCON_4XL_202203 | Falcon 4XL | €1979 | 18 | 80 GB | 1206 GB | Combell OpenStack | +| FALCON_4XL_202203DEV | Falcon 4XL Development | €1579 | 18 | 80 GB | 1206 GB | Combell OpenStack | +| FALCON_5XL_202203 | Falcon 5XL | €2969 | 20 | 96 GB | 1812 GB | Combell OpenStack | +| FALCON_5XL_202203DEV | Falcon 5XL Development | €2305 | 20 | 96 GB | 1812GB | Combell OpenStack | +| EAGLE_M_202203 | Eagle M | €569 | 4 | 8 GB | 250 GB | Amazon (Frankfurt) | +| EAGLE_M_202203DEV | Eagle M Development | €469 | 4 | 8 GB | 250 GB | Amazon (Frankfurt) | +| EAGLE_L_202203 | Eagle L | €1035 | 8 | 16 GB | 500 GB | Amazon (Frankfurt | +| EAGLE_L_202203DEV | Eagle L | €869 | 8 | 16 GB | 500 GB | Amazon (Frankfurt) | +| EAGLE_XL_202203 | Eagle XL | €1825 | 16 | 32 GB | 750 GB | Amazon (Frankfurt) | +| EAGLE_XL_202203DEV | Eagle XL Development | €1499 | 16 | 32 GB | 750 GB | Amazon (Frankfurt) | +| EAGLE_2XL_202203 | Eagle 2XL | €3319 | 36 | 72 GB | 1000 GB | Amazon (Frankfurt) | +| EAGLE_2XL_202203DEV | Eagle 2XL Development | €2835 | 36 | 72 GB | 1000 GB | Amazon (Frankfurt) | +| EAGLE_3XL_202203 | Eagle 3XL | €5035 | 40 | 160 GB | 1000 GB | Amazon (Frankfurt) | +| EAGLE_3XL_202203DEV | Eagle 3XL Development | €4375 | 40 | 160 GB | 1000 GB | Amazon (Frankfurt) | +| EAGLE_4XL_202203 | Eagle 4XL | €8019 | 64 | 256 GB | 1000 GB | Amazon (Frankfurt) | +| EAGLE_4XL_202203DEV | Eagle 4XL Development | €6815 | 64 | 256 GB | 1000 GB | Amazon (Frankfurt) | +| EAGLE_5XL_202203 | Eagle 5XL | €11219 | 96 | 384 GB | 1000 GB | Amazon (Frankfurt) | +| EAGLE_5XL_202203DEV | Eagle 5XL Development | €9735 | 96 | 384 GB | 1000 GB | Amazon (Frankfurt) | +| EAGLE_6XL_202203 | Eagle 6XL | €28599 | 128 | 1952 GB | 1000 GB | Amazon (Frankfurt) | +| EAGLE_6XL_202203DEV | Eagle 6XL Development | €23099 | 128 | 1952 GB | 1000 GB | Amazon (Frankfurt) | diff --git a/docs/services/control-panel/how-to-link-your-domain-to-your-hypernode.md b/docs/services/control-panel/how-to-link-your-domain-to-your-hypernode.md index 94bf6cf6..ff065776 100644 --- a/docs/services/control-panel/how-to-link-your-domain-to-your-hypernode.md +++ b/docs/services/control-panel/how-to-link-your-domain-to-your-hypernode.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'In this article, you find detailed guidelines on how to link your - domain to your Hypernode. ' + description: 'Need help connecting your domain to your Hypernode? Our step-by-step + guide will walk you through the process in the Control Panel. ' + title: How to link your domain to your Hypernode? | Control Panel +redirect_from: + - /en/best-practices/usage/how-to-link-your-domain-to-your-hypernode/ --- @@ -42,7 +45,7 @@ This way we know which domains are used on a node that is being migrated or upgr To make this work your domains should be hosted at Hypernode, so [order your domain](https://www.byte.nl/hosting/domeinnaam) or migrate it to Hypernode. -If your domains are not hosted at Hypernode, read the documentation about [how to configure your DNS for Hypernode](https://support.hypernode.com/en/hypernode/dns/how-to-manage-your-dns-settings-for-hypernode). +If your domains are not hosted at Hypernode, read the documentation about [how to configure your DNS for Hypernode](../../hypernode-platform/dns/how-to-manage-your-dns-settings-for-hypernode.md). ### Link your Domain to Your Hypernode @@ -61,4 +64,4 @@ To sync the DNS of your domain to a linked Hypernode, use the following steps: - Go the domain detail page by clicking **Details**. - Click the orange **DNS manager**button in the top right. -You can manage your domain's DNS on this page. Set the toggle at the top of the page, at **S\*\*\*\*ynchronize DNS with example.hypernode.io**, to **on**to sync your domain to the linked Hypernode. We will automatically add the  CNAME- and A-record that point to your Hypernode to the DNS. We also add [the required records for outgoing email](https://support.hypernode.com/en/hypernode/email/how-to-set-up-your-dns-for-outgoing-email). You can't edit these specific records while the domain is synced to the Hypernode. When you disable syncing, you are able to edit and/or remove these records. +You can manage your domain's DNS on this page. Set the toggle at the top of the page, at **S\*\*\*\*ynchronize DNS with example.hypernode.io**, to **on**to sync your domain to the linked Hypernode. We will automatically add the CNAME- and A-record that point to your Hypernode to the DNS. We also add [the required records for outgoing email](../../hypernode-platform/email/how-to-set-up-your-dns-for-outgoing-email.md). You can't edit these specific records while the domain is synced to the Hypernode. When you disable syncing, you are able to edit and/or remove these records. diff --git a/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md b/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md index fb5aa02f..97984c0e 100644 --- a/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md +++ b/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: 'On Hypernode you can order and transfer ownership of a plan to the - customer. This means a different account will be charged for the subscription. - The steps are:' + description: Hypernode lets you order a server with the click of a button. Get + the most out of your hosting and easily transfer ownership with our fast and + secure setup. + title: Order a Hypernode and transfer the ownership | Hypernode +redirect_from: + - /en/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer/ --- @@ -27,12 +30,11 @@ To order a new Hypernode plan, follow these steps: 1. Click on the orange 'Order Hypernode' button on the right. 1. Choose your Hypernode plan and click on the orange 'order now' button. 1. Choose the needed Hypernode plan configuration, SLA and continue: - -![](_res/uA9B2g-CkfkMKHl6NxGYv7LI3Y_US-rgDg.png) -6\. Read "[Step 2: Tips For Ordering a Hypernode](https://support.hypernode.com/en/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer#Step-2%3A-Tips-For-Ordering-a-Hypernode)" -7\. Give your Hypernode a name and proceed to checkout. -8\. Check if all information is correct and place your order. -9\. The new Hypernode plan will be booted and you will receive an email when it's ready. + ![](_res/uA9B2g-CkfkMKHl6NxGYv7LI3Y_US-rgDg.png) +1. Read "[Step 2: Tips For Ordering a Hypernode](../../services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md#step-2-tips-for-ordering-a-hypernode)" +1. Give your Hypernode a name and proceed to checkout. +1. Check if all information is correct and place your order. +1. The new Hypernode plan will be booted and you will receive an email when it's ready. 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. @@ -42,8 +44,8 @@ Please note: if you are a Service Panel user (i.e. you use the Dutch panel), ple - Make sure you pick a node with enough disk space for both your shop and your database. - Don’t use environment indicators like staging test, testing, dev or development: - Without these indicators, you can easily change this node from a live to a test node without confusion or having to migrate to a server with another name. -- Still developing a shop? Then [select a development environment first](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/). When your Hypernode [is ready to go live](https://support.hypernode.com/knowledgebase/go-live-with-your-hypernode/) you can easily switch to a production node. -- Use [this article to remove a Magento installation](https://support.hypernode.com/knowledgebase/remove-magento-installation/) in case you want to reuse an existing Hypernode or accidentally ordered a Hypernode with a preinstalled Magento on it. +- Still developing a shop? Then [select a development environment first](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md). When your Hypernode [is ready to go live](../../best-practices/testing/how-to-go-live-with-your-hypernode.md) you can easily switch to a production node. +- Use [this article to remove a Magento installation](../../ecommerce-applications/magento-2/how-to-remove-your-magento-2-x-installation.md) in case you want to reuse an existing Hypernode or accidentally ordered a Hypernode with a preinstalled Magento on it. ## Step 3: Transfer Ownership to your customer diff --git a/docs/services/control-panel/how-to-schedule-an-up-or-downgrade.md b/docs/services/control-panel/how-to-schedule-an-up-or-downgrade.md index e344fc62..2a07a9a0 100644 --- a/docs/services/control-panel/how-to-schedule-an-up-or-downgrade.md +++ b/docs/services/control-panel/how-to-schedule-an-up-or-downgrade.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: 'Want to schedule an upgrade or dowgrade? Use this guide to schedule + to a different plan via the Control Panel. ' + title: 'Schedule an up or downgrade? | Control Panel | Hypernode ' +redirect_from: + - /en/services/control-panel/how-to-schedule-an-up-or-downgrade/ +--- + # How to Schedule an Up -or Downgrade diff --git a/docs/services/control-panel/how-to-transfer-ownership-of-a-hypernode-in-the-control-panel.md b/docs/services/control-panel/how-to-transfer-ownership-of-a-hypernode-in-the-control-panel.md index 4444dc54..eca4d27c 100644 --- a/docs/services/control-panel/how-to-transfer-ownership-of-a-hypernode-in-the-control-panel.md +++ b/docs/services/control-panel/how-to-transfer-ownership-of-a-hypernode-in-the-control-panel.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'On Hypernode you can transfer ownership. This means a different - account will be charged for the subscription. Read here how to do this. ' + description: Learn how to transfer ownership of a Hypernode in the Control Panel. + This guide provides step-by-step instructions on how to securely transfer ownership. + title: How to transfer ownership of a Hypernode? | Control Panel +redirect_from: + - /en/services/control-panel/transfer-ownership/ --- diff --git a/docs/services/control-panel/how-to-use-2fa-on-the-control-panel.md b/docs/services/control-panel/how-to-use-2fa-on-the-control-panel.md index d9a03ac3..c11c0405 100644 --- a/docs/services/control-panel/how-to-use-2fa-on-the-control-panel.md +++ b/docs/services/control-panel/how-to-use-2fa-on-the-control-panel.md @@ -1,3 +1,14 @@ +--- +myst: + html_meta: + description: 2FA adds an extra layer of security to your Hypernode account. Follow + our easy guide to get started with two-factor authentication and keep your website + safe. + title: How to use 2FA on the Control Panel? | Hypernode +redirect_from: + - /en/services/control-panel/how-to-use-2fa-on-the-control-panel/ +--- + # How to Use 2FA on the Control Panel diff --git a/docs/services/control-panel/how-to-use-teams.md b/docs/services/control-panel/how-to-use-teams.md index d2f63d7d..315b8750 100644 --- a/docs/services/control-panel/how-to-use-teams.md +++ b/docs/services/control-panel/how-to-use-teams.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'In this article, we explain how to manage teams on the Hypernode - control panel. You can invite developers, merchants or an agency. ' + description: Learn how to use Hypernode's Control Panel to create and manage Teams. + Allocate resources and roles, and quickly add new members with ease. + title: How to use teams? | Control Panel | Hypernode +redirect_from: + - /en/services/control-panel/how-to-use-teams/ --- @@ -43,7 +46,7 @@ There are two ways to add a Hypernode to a team: ## Manage Users in a Team -There are three different roles you can assign to members to members of your team. Each role is defined by a set of permissions. The permissions, based on the specific role, apply to all Hypernodes in a team. This also includes the SSL certificates that have been linked to the Hypernodes in the team. For detailed information on what those roles are and which permissions they have, please click [here](https://support.hypernode.com/en/services/control-panel/user-roles-and-permissions-on-hypernodes-control-panel). +There are three different roles you can assign to members to members of your team. Each role is defined by a set of permissions. The permissions, based on the specific role, apply to all Hypernodes in a team. This also includes the SSL certificates that have been linked to the Hypernodes in the team. For detailed information on what those roles are and which permissions they have, please click [here](user-roles-and-permissions-on-hypernodes-control-panel.md). ### Inviting a Member diff --git a/docs/services/control-panel/how-to-use-the-dns-check.md b/docs/services/control-panel/how-to-use-the-dns-check.md index 35d9afb6..9c0b2298 100644 --- a/docs/services/control-panel/how-to-use-the-dns-check.md +++ b/docs/services/control-panel/how-to-use-the-dns-check.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: 'Use the DNS check in the Control Panel to ensure your externally - hosted domain is properly configured to send email via Hypernode. ' + description: Learn how to check the DNS settings of your Hypernode with our DNS + Check. This guide shows how to use the DNS Check in our Control Panel. + title: How to use the DNS Check? | Control Panel | Hypernode +redirect_from: + - /en/services/control-panel/how-to-use-the-dns-check/ --- @@ -53,7 +56,7 @@ This is the TransIP SPF record. If you already have an SPF record, you need to a | **Label** | **Type** | **TTL** | **Content** | | @ | TXT | 3600 | v=spf1 include:spf.example.hypernode.io ~all | -Please see [this article for how to set up your SPF records for Hypernode](https://support.hypernode.com/en/hypernode/dns/how-to-set-up-your-spf-records-for-hypernode). +Please see [this article for how to set up your SPF records for Hypernode](../../hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md). ## Web Records @@ -101,4 +104,4 @@ The DNS Check verifies whether the Hypernode is reachable via the URL you entere ## Using Cloudflare or Other CDN -If you are using Cloudflare or another CDN type product, we cannot check your records with our DNS Check. Use our [Support Documentation](https://support.hypernode.com/en/hypernode/dns/how-to-manage-your-dns-settings-for-hypernode#Manage-your-own-DNS%3A-CNAME-for-the-www-record)for managing your DNS settings for your Hypernode to make sure you have your DNS settings set up correctly. +If you are using Cloudflare or another CDN type product, we cannot check your records with our DNS Check. Use our [Support Documentation](../../hypernode-platform/dns/how-to-manage-your-dns-settings-for-hypernode.md#option-2-manage-an-external-dns-by-pointing-your-domain-to-hypernode-by-using-cname-and-not-an-a-record)for managing your DNS settings for your Hypernode to make sure you have your DNS settings set up correctly. diff --git a/docs/services/control-panel/user-roles-and-permissions-on-hypernodes-control-panel.md b/docs/services/control-panel/user-roles-and-permissions-on-hypernodes-control-panel.md index 9a925ff8..a2bda085 100644 --- a/docs/services/control-panel/user-roles-and-permissions-on-hypernodes-control-panel.md +++ b/docs/services/control-panel/user-roles-and-permissions-on-hypernodes-control-panel.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: For security and usability, the Hypernode Control Panel's features - are available to users based on the role assigned to the individual user. Read - more here. + description: 'Hypernode offers a comprehensive user control panel that allows + you to easily manage user roles and permissions. Learn all about user roles + and permissions. ' + title: User roles and permissions | Control Panel | Hypernode +redirect_from: + - /en/services/control-panel/user-roles-and-permissions-on-hypernodes-control-panel/ --- @@ -16,48 +19,49 @@ For security and usability, the Hypernode Control Panel's features are available A user can have different roles between teams. Each role is defined by a set of permissions. The permissions, based on the specific role, apply to all Hypernodes in a team. This also includes the SSL certificates that have been linked to the Hypernodes in the team. -- \*\*Owner:\*\*Can access and use every feature. This is the most powerful role and cannot be assigned. The Owner is the only one who can transfer the ownership of the Hypernode you can read more about this [here](https://support.hypernode.com/en/services/control-panel/transfer-ownership). The user creating the Team is automatically the Owner. The Owner is the person in charge of billing. -- **Admin:** Can use all features and change Hypernode plans. Please see [this article for](https://support.hypernode.com/en/about/billing/how-to-up-or-downgrade-your-hypernode-plan#Up--and-Downgrading-Your-Hosting-Plan-for-Control-Panel-Users) an explanation on how to change your Hypernode plan. They can invite other team members and set or change roles of team members. +- **Owner:** Can access and use every feature. This is the most powerful role and cannot be assigned. The Owner is the only one who can transfer the ownership of the Hypernode you can read more about this [here](how-to-transfer-ownership-of-a-hypernode-in-the-control-panel.md). The user creating the Team is automatically the Owner. The Owner is the person in charge of billing. +- **Admin:** Can use all features and [change Hypernode plans](../../about-hypernode/billing/how-to-up-or-downgrade-your-hypernode-plan.md#up--and-downgrading-your-hosting-plan-for-control-panel-users). They can invite other team members and set or change roles of team members. - **Developer:** Can manage all technical features on a Hypernode level. -- \*\*Merchant:\*\*Can access the Control Panel on a view-only basis. +- **Merchant:** Can access the Control Panel on a view-only basis. ## Permissions -| | | | | | -| ----------------------------------------------------- | ------------------------ | ------------- | --------- | --------- | -| **Permissions** | **Merchant (view-only)** | **Developer** | **Admin** | **Owner** | -| See the team | ✅ | ✅ | ✅ | ✅ | -| See the Hypernodes in the team | ✅ | ✅ | ✅ | ✅ | -| See the logs | ✅ | ✅ | ✅ | ✅ | -| See the SSH keys that have been added | ✅ | ✅ | ✅ | ✅ | -| See the linked SSL certificate | ✅ | ✅ | ✅ | ✅ | -| See the allowlist | ✅ | ✅ | ✅ | ✅ | -| Manage the allowlist | | ✅ | ✅ | ✅ | -| Manage SSL certificates | | ✅ | ✅ | ✅ | -| Add SSH keys | | ✅ | ✅ | ✅ | -| Request to restore backups | | ✅ | ✅ | ✅ | -| Attach backups | | ✅ | ✅ | ✅ | -| Create backups | | ✅ | ✅ | ✅ | -| Can enable Varnish | | ✅ | ✅ | ✅ | -| Can change the PHP version | | ✅ | ✅ | ✅ | -| Can manage the monitoring | | ✅ | ✅ | ✅ | -| Can manage bots | | ✅ | ✅ | ✅ | -| Can add and remove team members | | | ✅ | ✅ | -| Can change roles within the team | | | ✅ | ✅ | -| Can remove Hypernodes and change the name of the team | | | ✅ | ✅ | -| Can change the plan | | | ✅ | ✅ | -| Can delete the team | | | | ✅ | -| Can add Hypernodes to a team | | | | ✅ | -| Can transfer ownership | | | | ✅ | -| Can change the payment details | | | | ✅ | -| Can view the invoices | | | | ✅ | +| | | | | | +| ------------------------------------- | ------------ | ------------- | --------- | --------- | +| **Permissions** | **Merchant** | **Developer** | **Admin** | **Owner** | +| See the team | ✅ | ✅ | ✅ | ✅ | +| See the Hypernodes in the team | ✅ | ✅ | ✅ | ✅ | +| See the logs | ✅ | ✅ | ✅ | ✅ | +| See the SSH keys that have been added | ✅ | ✅ | ✅ | ✅ | +| See the linked SSL certificate | ✅ | ✅ | ✅ | ✅ | +| See the allowlist | ✅ | ✅ | ✅ | ✅ | +| Manage the allowlist | | ✅ | ✅ | ✅ | +| Manage SSL certificates | | ✅ | ✅ | ✅ | +| Add SSH keys | | ✅ | ✅ | ✅ | +| Request to restore backups | | ✅ | ✅ | ✅ | +| Attach backups | | ✅ | ✅ | ✅ | +| Create backups | | ✅ | ✅ | ✅ | +| Enable Varnish | | ✅ | ✅ | ✅ | +| Change the PHP version | | ✅ | ✅ | ✅ | +| Manage monitoring | | ✅ | ✅ | ✅ | +| Manage bots | | ✅ | ✅ | ✅ | +| Add or remove team members | | | ✅ | ✅ | +| Change roles within the team | | | ✅ | ✅ | +| Rename the team | | | ✅ | ✅ | +| Remove Hypernodes from the team | | | ✅ | ✅ | +| Change plan | | | ✅ | ✅ | +| Add Hypernodes to the team | | | | ✅ | +| Delete the team | | | | ✅ | +| Transfer Hypernode ownership | | | | ✅ | +| Change payment details | | | | ✅ | +| View invoices | | | | ✅ | ## How to Assign Roles Initially, the Owner is the only user that can assign roles to other team members. After assigning a user the Admin role, they will also be able to assign roles. Use the following steps to assign roles: 1. Log in to the Hypernode Control Panel. -1. If your Hypernode is not in a Team yet, create a Team first. [Here's](https://support.hypernode.com/en/services/control-panel/managing-your-teams) how to do this. +1. If your Hypernode is not in a Team yet, create a Team first. [Here's](how-to-use-teams.md) how to do this. 1. Click on **Teams** in the sidebar on the left and then select the applicable team. 1. Click **Invite new member**and follow the steps. diff --git a/docs/services/control-panel/using-logs-in-the-control-panel.md b/docs/services/control-panel/using-logs-in-the-control-panel.md index 821a973d..e78ca597 100644 --- a/docs/services/control-panel/using-logs-in-the-control-panel.md +++ b/docs/services/control-panel/using-logs-in-the-control-panel.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: This article explains how to use the logs in the Control Panel to - get a better understanding of actions you or others have performed. + description: Learn how to use logs in the Hypernode control panel. Discover why + they're essential and how to view them, set up automated log downloads, and + more. + title: How to use logs in the Control Panel? | Hypernode +redirect_from: + - /en/services/control-panel/using-logs-in-the-control-panel/ --- diff --git a/docs/services/domain-procedures.md b/docs/services/domain-procedures.md index 972af7db..1b9d2662 100644 --- a/docs/services/domain-procedures.md +++ b/docs/services/domain-procedures.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about the domain procedures. + title: Domain procedures | Hypernode Services +redirect_from: + - /en/services/domains/ +--- + # Domain Procedures ```{toctree} diff --git a/docs/services/domain-procedures/everything-about-presence-plans-and-domains.md b/docs/services/domain-procedures/everything-about-presence-plans-and-domains.md index b40d28d9..bc63535f 100644 --- a/docs/services/domain-procedures/everything-about-presence-plans-and-domains.md +++ b/docs/services/domain-procedures/everything-about-presence-plans-and-domains.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: A Presence plan can be used to register a domain but also to redirect - your domain to a website. Read how you can use a Presence plan at Hypernode - here + description: 'If you want to register a domain name with Hypernode, you can do + this using our Presence plan. Read everything there is to know about it here. ' + title: Presence Plans and Domains | Hypernode +redirect_from: + - /en/services/domains/everything-about-presence-plans-and-domains/ --- diff --git a/docs/services/domain-procedures/extension-specific-info-per-domain.md b/docs/services/domain-procedures/extension-specific-info-per-domain.md index fe0de812..8815a879 100644 --- a/docs/services/domain-procedures/extension-specific-info-per-domain.md +++ b/docs/services/domain-procedures/extension-specific-info-per-domain.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: 'Get the most out of your domain with Hypernode. Our extension-specific + info provides all up-to-date information. ' + title: Extension Specific Info per Domain | Hypernode +redirect_from: + - /en/services/domains/extension-specific-info-per-domain/ +--- + # Extension Specific Info per Domain diff --git a/docs/services/domain-procedures/how-to-transfer-your-domain-away-from-hypernode.md b/docs/services/domain-procedures/how-to-transfer-your-domain-away-from-hypernode.md index 12c83d7e..30872f00 100644 --- a/docs/services/domain-procedures/how-to-transfer-your-domain-away-from-hypernode.md +++ b/docs/services/domain-procedures/how-to-transfer-your-domain-away-from-hypernode.md @@ -1,8 +1,18 @@ +--- +myst: + html_meta: + description: Transferring your domain away from Hypernode is easy. Follow our + step-by-step guide to complete the process quickly and securely. + title: How to transfer your domain away from Hypernode? +redirect_from: + - /en/services/domains/how-to-transfer-your-domain-away-from-hypernode/ +--- + # How to Transfer Your Domain Away From Hypernode -**Please note that this only applies to Control Panel users who log in via my.hypernode.com. If you use the Service Panel (service.byte.nl), you can use [this article](https://support.hypernode.com/en/services/domains/how-to-transfer-your-domain-name-to-another-provider) to transfer your domain away from Hypernode.** +**Please note that this only applies to Control Panel users who log in via my.hypernode.com. If you use the Service Panel (service.byte.nl), you can use [this article](how-to-transfer-your-domain-away-from-hypernode.md) to transfer your domain away from Hypernode.** ## **I Want to Transfer My Domain Name to Another Provider** diff --git a/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md b/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md index 299218a8..66132c7e 100644 --- a/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md +++ b/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: This article explains which steps you need to take if you choose - to transfer your domain from Hypernode to another provider. + description: Moving your domain to a different provider doesn't have to be difficult. + With the Service Panel, you can easily transfer your domain in a few simple + steps. + title: How to transfer your domain to another provider? | Service Panel +redirect_from: + - /en/services/domains/how-to-transfer-your-domain-name-to-another-provider/ --- diff --git a/docs/services/domain-procedures/how-to-undo-the-cancellation-of-a-domain-name.md b/docs/services/domain-procedures/how-to-undo-the-cancellation-of-a-domain-name.md index 224bb17a..e4be9452 100644 --- a/docs/services/domain-procedures/how-to-undo-the-cancellation-of-a-domain-name.md +++ b/docs/services/domain-procedures/how-to-undo-the-cancellation-of-a-domain-name.md @@ -1,7 +1,11 @@ --- myst: html_meta: - description: This article explains how to undo the cancellation of a domain name. + description: 'Need help to undo the cancellation of a domain name? Hypernode is + here to help. Get step-by-step instructions on how to undo the cancellation. ' + title: How to undo the cancellation of a domain name? | Hypernode +redirect_from: + - /en/services/domains/undoing-the-cancellation-of-a-domain-name/ --- diff --git a/docs/services/domain-procedures/how-to-use-domains-in-the-control-panel.md b/docs/services/domain-procedures/how-to-use-domains-in-the-control-panel.md index f79d9277..652b371f 100644 --- a/docs/services/domain-procedures/how-to-use-domains-in-the-control-panel.md +++ b/docs/services/domain-procedures/how-to-use-domains-in-the-control-panel.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: Learn how to use domains in the Hypernode Control Panel. Get detailed + instructions on how to add, delete, and manage domains in your environment. + title: How to use Domains in the Control Panel? | Hypernode +redirect_from: + - /en/services/domains/how-to-use-domains-in-the-control-panel/ +--- + # How to Use Domains in the Control Panel diff --git a/docs/services/magereport.md b/docs/services/magereport.md index 9b7f0a8f..c7055d89 100644 --- a/docs/services/magereport.md +++ b/docs/services/magereport.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about the MageReport. + title: MageReport | Hypernode Services +redirect_from: + - /en/services/magereport/ +--- + # Magereport ```{toctree} diff --git a/docs/services/magereport/magereport-premium.md b/docs/services/magereport/magereport-premium.md index 67e35561..5b96efe1 100644 --- a/docs/services/magereport/magereport-premium.md +++ b/docs/services/magereport/magereport-premium.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: MageReport Premium provides Hypernode customers with extra information - about the performance of their Magento shop. This article explains more about - MR Premium. + description: 'Get the full picture of your Magento store security. Get an in-depth + look into potential vulnerabilities and provides clear advice on how to address + them. ' + title: MageReport Premium | All you need to know | Hypernode +redirect_from: + - /en/services/magereport/magereport-premium/ --- @@ -28,7 +31,7 @@ Accessing [MageReport Premium](http://magereport.com/) is easy by logging on to ## Security Level -The Security level checks are accessible for any Magento shop owner (Hypernode or not) and show you the safety of your Magento shop. If a check comes out red, navigate to the given support documentation how-to and find out how to fix the vulnerability. All Security level how-to’s can be found in the [Security category](https://support.hypernode.com/knowledgebase_category/security/). +The Security level checks are accessible for any Magento shop owner (Hypernode or not) and show you the safety of your Magento shop. If a check comes out red, navigate to the given support documentation how-to and find out how to fix the vulnerability. All Security level how-to’s can be found in the [Security category](../../best-practices/security.md). ## Performance Checks @@ -36,27 +39,27 @@ The Performance checks in MageReport Premium tell you how to make your shop even ### Number of Active Caches -This feature shows you how many caching options in your Cache Management (System –> Cache Management) have been enabled. The higher the number of active caches, the better. Caching stores data, so that future requests can be served faster. Read [Magento Cache Management](https://support.hypernode.com/knowledgebase/magento-cache-management/) for more information. +This feature shows you how many caching options in your Cache Management (System –> Cache Management) have been enabled. The higher the number of active caches, the better. Caching stores data, so that future requests can be served faster. Read [Magento Cache Management](../../ecommerce-applications/magento-2/how-to-flush-the-magento-2-x-caches.md) for more information. ### Var/log Directory Size -This check tells you how big your var/log directory has gotten. We recommend keeping your var/log directory below 100 MB. To keep your Magento shop optimised and fast, you’ll need to clean these logs. Cleaning your logs can be done automatically or manually. We recommend your to do it manually, since it’s more efficient. Read [Magento Log Cleaning](https://support.hypernode.com/knowledgebase/magento-log-cleaning/) for more information on how to clean up these logs. +This check tells you how big your var/log directory has gotten. We recommend keeping your var/log directory below 100 MB. To keep your Magento shop optimised and fast, you’ll need to clean these logs. Cleaning your logs can be done automatically or manually. We recommend your to do it manually, since it’s more efficient. Read [Magento Log Cleaning](../../ecommerce-applications/magento-1/how-to-clean-the-magento-1-x-logs.md) for more information on how to clean up these logs. ### Disk Usage -A full disk slows your Hypernode down. You can always [upgrade to a bigger node](https://service.byte.nl/planinfo/), but in most cases cleaning up your disk is sufficient. More information about cleaning up your disk is explained in [How to Free up Disk Space.](https://support.hypernode.com/en/hypernode/tools/how-to-free-up-disk-space) +A full disk slows your Hypernode down. You can always [upgrade to a bigger node](https://service.byte.nl/planinfo/), but in most cases cleaning up your disk is sufficient. More information about cleaning up your disk is explained in [How to Free up Disk Space.](../../hypernode-platform/tools/how-to-free-up-disk-space) ### Bot Traffic -When your shop has at least 1600 PHP requests in one day and 30% of those are bots, the bot traffic check in MageReport turns red. Search engines indexing your webshop are very welcome, though too many bots can quickly consume your shop’s resources. Bots and crawlers often get stuck in the layered navigation of your Magento shop, causing them to crawl every combination of your products and parameters, creating millions of URLs to index and causing bad performance. Read how to optimize your shop by controlling these bots and crawlers in [Fixing bad performance caused by search engines](https://support.hypernode.com/knowledgebase/fixing-bad-performance-caused-by-search-engines/). +When your shop has at least 1600 PHP requests in one day and 30% of those are bots, the bot traffic check in MageReport turns red. Search engines indexing your webshop are very welcome, though too many bots can quickly consume your shop’s resources. Bots and crawlers often get stuck in the layered navigation of your Magento shop, causing them to crawl every combination of your products and parameters, creating millions of URLs to index and causing bad performance. Read how to optimize your shop by controlling these bots and crawlers in [Fixing bad performance caused by search engines](../../best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers.md). ### Response Time -This check shows you your average PHP response time in seconds. Keeping your load time below 1 second is preferable to keep your shop fast. The faster the webshop, the higher the conversion. A good tool to further analyse performance bottlenecks, and improve your response time, is New Relic. Read all about New Relic in [Find your performance bottleneck with New Relic](https://support.hypernode.com/knowledgebase/new-relic-performance-management/). +This check shows you your average PHP response time in seconds. Keeping your load time below 1 second is preferable to keep your shop fast. The faster the webshop, the higher the conversion. A good tool to further analyse performance bottlenecks, and improve your response time, is New Relic. Read all about New Relic in [Find your performance bottleneck with New Relic](../../best-practices/performance/how-to-find-your-performance-bottleneck-with-new-relic.md). ### Memory Usage -We recommend you to keep at least 20% free to speed up file access and to make sure your Hypernode doesn’t slow down, or worse, stop working. If your shop is using more than 80%, consider upgrading to a bigger Hypernode to guarantee the continuity of your shop. Optimising your Hypernode with caching tools such as [Varnish](https://support.hypernode.com/en/ecommerce/magento-2/how-to-configure-varnish-for-magento-2-x) and Redis helps reduce the memory usage. Use New Relic to pinpoint which pages are slurping memory and find the cause. +We recommend you to keep at least 20% free to speed up file access and to make sure your Hypernode doesn’t slow down, or worse, stop working. If your shop is using more than 80%, consider upgrading to a bigger Hypernode to guarantee the continuity of your shop. Optimising your Hypernode with caching tools such as [Varnish](../../ecommerce-applications/magento-2/how-to-configure-varnish-for-magento-2-x.md) and Redis helps reduce the memory usage. Use New Relic to pinpoint which pages are slurping memory and find the cause. ### Optimize Images @@ -78,7 +81,7 @@ n98-magerun sys:store:config:base-url:list magerun2 sys:store:config:base-url:list ``` -This tool shows the storefronts configured in your shop and the storecode. In MageReport Premium you can check whether your DNS is configured correctly. See our manual on [configuring DNS](https://support.hypernode.com/en/hypernode/dns/how-to-manage-your-dns-settings-for-hypernode)for more information. +This tool shows the storefronts configured in your shop and the storecode. In MageReport Premium you can check whether your DNS is configured correctly. See our manual on [configuring DNS](../../hypernode-platform/dns/how-to-manage-your-dns-settings-for-hypernode.md)for more information. *If you’re using Cloudflare the check will say your storefronts aren’t configured correctly and your shop is not live. Right now MageReport can’t detect if a shop is using Cloudflare, so you can ignore this.* @@ -88,21 +91,21 @@ Most charts give you more specific information about a Performance check. ### PHP Requests per Minute -This chart shows the average number of PHP requests per minute. It includes visitors and bots requesting webpages. The orange line indicates requests done by bots. Bots and crawlers take up a lot of resources, especially in Magento, and can cause your shop to slow down. Read how to optimize your shop by controlling these bots and crawlers in [Fixing bad performance caused by search engines](https://support.hypernode.com/knowledgebase/fixing-bad-performance-caused-by-search-engines/). +This chart shows the average number of PHP requests per minute. It includes visitors and bots requesting webpages. The orange line indicates requests done by bots. Bots and crawlers take up a lot of resources, especially in Magento, and can cause your shop to slow down. Read how to optimize your shop by controlling these bots and crawlers in [Fixing bad performance caused by bots and crawlers](../../best-practices/performance/how-to-fix-performance-issues-caused-by-bots-and-crawlers.md). ### Average PHP Response Time (Seconds) The faster a page loads, the longer visitors will stay on your shop. Like the performance check ‘Response time’, the average PHP response time chart shows you (in seconds) how long it takes for pages to load. A well optimised Magento shop should be able to keep the response time below one second. -A good tool to further analyse performance bottlenecks, and improve response time, is New Relic. Read all about New Relic in [Find your performance bottleneck with New Relic.](https://support.hypernode.com/knowledgebase/new-relic-performance-management/) +A good tool to further analyse performance bottlenecks, and improve response time, is New Relic. Read all about New Relic in [Find your performance bottleneck with New Relic.](../../best-practices/performance/how-to-find-your-performance-bottleneck-with-new-relic.md) ### Long Running Processes -This chart shows you the duration of long running processes. We recommend you to keep FPM processes running under 5 to 10 minutes, SQL processes no longer than 60 minutes and SSH processes no longer than 24 hours. If the proces duration is longer than the given criteria, you should consider them stuck and fix them. Long running processes or stuck processes are often the result of errors in your PHP code, a missing index (in SQL) or a deadlock. Read more about how to stop long running processes in [How to Identify and Stop Long Running Processes](https://support.hypernode.com/en/troubleshooting/performance/how-to-identify-and-stop-long-running-processes). +This chart shows you the duration of long running processes. We recommend you to keep FPM processes running under 5 to 10 minutes, SQL processes no longer than 60 minutes and SSH processes no longer than 24 hours. If the proces duration is longer than the given criteria, you should consider them stuck and fix them. Long running processes or stuck processes are often the result of errors in your PHP code, a missing index (in SQL) or a deadlock. Read more about how to stop long running processes in [How to Identify and Stop Long Running Processes](../../troubleshooting/performance/how-to-identify-and-stop-long-running-processes.md). ### CPU Usage -A line of 50% or higher in this chart indicates your Hypernode is very busy. If your Hypernode uses a lot of resources, check for an increase of web requests (chart: PHP requests per minute). A periodic cronjob can also cause an increase in CPU usage. Optimising your Hypernode with caching tools such as [Varnish](https://support.hypernode.com/en/ecommerce/magento-2/how-to-configure-varnish-for-magento-2-x) and [Redis](https://support.hypernode.com/en/ecommerce/magento-2/how-to-configure-redis-for-magento-2) helps reduce the CPU usage. Consider upgrading to a bigger node if your shops consistently use more than 50% of the available CPU. +A line of 50% or higher in this chart indicates your Hypernode is very busy. If your Hypernode uses a lot of resources, check for an increase of web requests (chart: PHP requests per minute). A periodic cronjob can also cause an increase in CPU usage. Optimising your Hypernode with caching tools such as [Varnish](../../ecommerce-applications/magento-2/how-to-configure-varnish-for-magento-2-x.md) and [Redis](../../ecommerce-applications/magento-2/how-to-configure-redis-for-magento-2.md) helps reduce the CPU usage. Consider upgrading to a bigger node if your shops consistently use more than 50% of the available CPU. ### Redis Memory in Use diff --git a/docs/services/service-panel.md b/docs/services/service-panel.md index 49017c13..51cb4926 100644 --- a/docs/services/service-panel.md +++ b/docs/services/service-panel.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about the Service Panel. + title: Service Panel | Hypernode Services +redirect_from: + - /en/services/service-panel/ +--- + # Service Panel ```{toctree} diff --git a/docs/services/service-panel/different-service-panel-scenarios.md b/docs/services/service-panel/different-service-panel-scenarios.md index 75450718..ff1b153e 100644 --- a/docs/services/service-panel/different-service-panel-scenarios.md +++ b/docs/services/service-panel/different-service-panel-scenarios.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: The Service Panel works with a central login, which enables users - to easily manage multiple plans. This article explains different scenarios. + description: Get the best performance out of your Hypernode installation with + our comprehensive guide to different service panel scenarios. + title: Different Service Panel scenarios | Hypernode +redirect_from: + - /en/about/support/different-service-panel-scenarios/ --- @@ -11,7 +14,7 @@ myst: **Please note that this only applies to Service Panel users who log in via service.byte.nl.** -The Service Panel works with a central login, which enables users to easily manage multiple plans. There are three different roles which you can assign to different accounts. This way you can give your developer technical access to your plan, without them having access to stuff like invoices and billing. You can find an explanation of these roles in [this article](https://support.hypernode.com/en/hypernode/tools/what-are-the-different-roles-in-the-service-panel-and-what-is-the-difference-between-them). +The Service Panel works with a central login, which enables users to easily manage multiple plans. There are three different roles which you can assign to different accounts. This way you can give your developer technical access to your plan, without them having access to stuff like invoices and billing. The three different roles are as follows: diff --git a/docs/services/service-panel/how-to-change-your-customer-details-and-other-questions.md b/docs/services/service-panel/how-to-change-your-customer-details-and-other-questions.md index b51f2c66..55943980 100644 --- a/docs/services/service-panel/how-to-change-your-customer-details-and-other-questions.md +++ b/docs/services/service-panel/how-to-change-your-customer-details-and-other-questions.md @@ -1,15 +1,18 @@ --- myst: html_meta: - description: 'Administrative changes can be done through the Service Panel (or - via a letter) due to security reasons. Read how to change customer details here. ' + description: Manage your Hypernode account information quickly and easily. Change + your email address, password or payment details in the Service Panel. + title: Change your account details? | Service Panel | Hypernode +redirect_from: + - /en/about/billing/how-to-change-your-customer-details-and-other-questions/ --- # How to Change your Customer Details and Other Questions -\*\*Please note that this only applies to Service Panel users who log in via service.byte.nl. Please see [this category](https://support.hypernode.com/en/services/control-panel/) for articles that apply to the Control Panel.\*\*For security reasons, you can only make administrative changes to your account when logged into the Service Panel. In this article we explain how you can edit your customer data. +\*\*Please note that this only applies to Service Panel users who log in via service.byte.nl. Please see [this category](../control-panel.md) for articles that apply to the Control Panel.\*\*For security reasons, you can only make administrative changes to your account when logged into the Service Panel. In this article we explain how you can edit your customer data. ## Why Do I Need to Log Into the Service Panel? @@ -70,7 +73,7 @@ Changes to your plan and the different customer relationships / roles for managi ### Up- and Downgrading -Please see [this article](https://support.hypernode.com/en/about/billing/how-to-up-or-downgrade-your-hypernode-plan)for more information on how to up- or downgrade your plan. +Please see [this article](../../about-hypernode/billing/how-to-up-or-downgrade-your-hypernode-plan.md)for more information on how to up- or downgrade your plan. ## Changing the Account Roles diff --git a/docs/services/service-panel/how-to-log-into-the-service-panel.md b/docs/services/service-panel/how-to-log-into-the-service-panel.md index f1859ba1..9d8076a4 100644 --- a/docs/services/service-panel/how-to-log-into-the-service-panel.md +++ b/docs/services/service-panel/how-to-log-into-the-service-panel.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: This guide will explain how you can log in to the Service Panel and - what to do if you don't have access to your data anymore. + description: Logging into the Hypernode Service Panel is simple. Follow our step-by-step + guide to learn how to access your service. + title: How to log into the Service Panel? | Hypernode +redirect_from: + - /en/about/support/how-to-log-into-the-service-panel/ --- @@ -24,7 +27,7 @@ After creating a Hypernode account, you should have received an email containing ### Securing Your Account With Two Factor Authentication -Two factor authentication, also known as two-step verification, is a more secure way of logging in than logging in with just a password, because everyone receives a unique code to log in. In [this article](https://support.hypernode.com/en/services/control-panel/how-to-use-2fa-for-the-control-panel) we explain how to enable two factor authentication on the Service Panel. +Two factor authentication, also known as two-step verification, is a more secure way of logging in than logging in with just a password, because everyone receives a unique code to log in. In [this article](../control-panel/how-to-use-2fa-on-the-control-panel.md) we explain how to enable two factor authentication on the Service Panel. ## Forgotten Account Number diff --git a/docs/services/service-panel/how-to-use-2fa-on-the-service-panel.md b/docs/services/service-panel/how-to-use-2fa-on-the-service-panel.md index 26003505..867d8dc9 100644 --- a/docs/services/service-panel/how-to-use-2fa-on-the-service-panel.md +++ b/docs/services/service-panel/how-to-use-2fa-on-the-service-panel.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: In this article, we explain how to use 2FA for the Control Panel. - Not available yet. + description: Protect your Service Panel with two-factor authentication (2FA). + Learn how to set up 2FA on Hypernode and keep your data secure. + title: How to use 2FA on the Service Panel? | Hypernode +redirect_from: + - /en/services/service-panel/how-to-use-2fa-for-the-service-panel/ --- diff --git a/docs/troubleshooting/performance.md b/docs/troubleshooting/performance.md index 6d80cf64..3f553212 100644 --- a/docs/troubleshooting/performance.md +++ b/docs/troubleshooting/performance.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: This table of contents gives you a summary of all Hypernode platform + knowledge base articles that include information about performance troubleshooting. + title: Performance | Troubleshooting | Hypernode +redirect_from: + - /en/troubleshooting/performance/ +--- + # Performance ```{toctree} diff --git a/docs/troubleshooting/performance/general-troubleshooting.md b/docs/troubleshooting/performance/general-troubleshooting.md index c8d90f18..9db7059a 100644 --- a/docs/troubleshooting/performance/general-troubleshooting.md +++ b/docs/troubleshooting/performance/general-troubleshooting.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: Need to debug a problem? Hypernode has many possibilities to analyse - a suspicious or unwanted situation. Learn where to look and reach a conclusion - fast. + description: 'Hypernode provides the best performance for your Magento webshop. + Get insights on how to troubleshoot general issues. ' + title: Performance | General Troubleshooting | Hypernode +redirect_from: + - /en/troubleshooting/performance/general-troubleshooting/ --- diff --git a/docs/troubleshooting/performance/how-to-block-bad-bots-via-the-control-panel.md b/docs/troubleshooting/performance/how-to-block-bad-bots-via-the-control-panel.md index 6d1f7df7..f7995851 100644 --- a/docs/troubleshooting/performance/how-to-block-bad-bots-via-the-control-panel.md +++ b/docs/troubleshooting/performance/how-to-block-bad-bots-via-the-control-panel.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: A lot of bot traffic has a negative impact on the performance of - your webshop. Hypernode offers you the possibility to block bad bots in your - control panel. + description: "Protect your website from bad bots and malicious requests with Hypernode's\ + \ Control Panel. " + title: How to block bad bots via the Control Panel? | Hypernode +redirect_from: + - /en/services/control-panel/block-bad-bots-via-the-control-panel/ --- diff --git a/docs/troubleshooting/performance/how-to-block-bad-bots-via-the-service-panel.md b/docs/troubleshooting/performance/how-to-block-bad-bots-via-the-service-panel.md index bfd949d0..3fccec8d 100644 --- a/docs/troubleshooting/performance/how-to-block-bad-bots-via-the-service-panel.md +++ b/docs/troubleshooting/performance/how-to-block-bad-bots-via-the-service-panel.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: A lot of bot traffic has a negative impact on the performance of - your webshop. At Hypernode you can block unwanted bots in your Service Panel. + description: Protect your website from bad bots and malicious requests with Hypernode's + Service Panel. + title: How to block bad bots via the Service Panel? | Hypernode +redirect_from: + - /en/support/solutions/articles/48001163357-how-to-block-bad-bots-via-the-service-panel/ --- @@ -99,7 +102,7 @@ If you would like to block user agents you have two options. - Block via the Service Panel - Block via Nginx (`server.blacklist`) -More information on option 2 can be found [here](https://support.hypernode.com/en/hypernode/nginx/how-to-block-user-agents-and-referrer-sites). +More information on option 2 can be found [here](../../hypernode-platform/nginx/how-to-block-user-agents-and-referrer-sites.md). The Service Panel blacklist of user agents is completely separated from the list of user agents you may have blocked via `/data/web/nginx/server.blacklist`. @@ -109,6 +112,6 @@ These 2 blacklists function completely separated from each other. If a user agen ‘Good’ bots like those of search engines Google and Yahoo are for obvious reasons not included in the blacklist, but may potentially generate too much traffic. In these cases we recommend you to regulate bot traffic via `robots.txt`. -Instructions on how to create a `robots.txt` file for Magento 1 shops can be found [here](https://support.hypernode.com/en/ecommerce/magento-1/how-to-create-a-robots-txt-for-your-magento-1-shop). +Instructions on how to create a `robots.txt` file for Magento 1 shops can be found [here](../../ecommerce-applications/magento-1/how-to-create-a-robots-txt-for-your-magento-1-shop.md). -For Magento 2 shops, [please check this article](https://support.hypernode.com/en/ecommerce/magento-2/how-to-create-a-robots-txt-for-magento-2-x). +For Magento 2 shops, [please check this article](../../ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md). diff --git a/docs/troubleshooting/performance/how-to-check-why-my-site-is-slow.md b/docs/troubleshooting/performance/how-to-check-why-my-site-is-slow.md index ab3f35d6..2f9eea59 100644 --- a/docs/troubleshooting/performance/how-to-check-why-my-site-is-slow.md +++ b/docs/troubleshooting/performance/how-to-check-why-my-site-is-slow.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: So your webshop seems to be significantly slower than it used to - be and you have no idea what's going on. In this article you will find some - initial checks. + description: Does your website have slow loading times? Hypernode can help you + quickly identify the cause of the problem. + title: How to check why my site is slow? | Hypernode +redirect_from: + - /en/troubleshooting/performance/how-to-check-why-my-site-is-slow/ --- @@ -64,7 +66,7 @@ If `php-fpm: pool www` seems to be causing the high load. Proceed with running ` - Is all the traffic legit? - Check if there are any modules/plugins enabled or installed, this might cause extra load - Do you have a sale or sent out emails about the sale? An upgrade might be the best solution here -- Do you notice non-valid traffic, for example from several countries you don't sell to? [Here's](https://support.hypernode.com/en/hypernode/nginx/how-to-block-your-webshop-for-specific-countries) how to block specific countries. +- Do you notice non-valid traffic, for example from several countries you don't sell to? [Here's](../../hypernode-platform/nginx/how-to-block-your-webshop-for-specific-countries.md) how to block specific countries. If `mysqld` and `livefpm` aren't the cause, check for other processes in `htop`. It could be also be the following: @@ -76,7 +78,7 @@ If `mysqld` and `livefpm` aren't the cause, check for other processes in `htop`. Please note that a slower performance is not always caused by a high load on the Hypernode. There is a number of other reasons which may affect the performance. -Some modules/extensions will connect to external services. These services might not be reachable causing all processes on the Hypernode to hang/or slow down (e.g. Kiyoh reviews). It may be worth checking the `php-slow.log` to spot such issues. Check [this article from our support documentation](https://support.hypernode.com/en/troubleshooting/performance/how-to-spot-slow-extensions-using-the-php-slow-logs#Usage) for more information on this. +Some modules/extensions will connect to external services. These services might not be reachable causing all processes on the Hypernode to hang/or slow down (e.g. Kiyoh reviews). It may be worth checking the `php-slow.log` to spot such issues. Check [this article from our support documentation](../../troubleshooting/performance/how-to-spot-slow-extensions-using-the-php-slow-logs.md#usage) for more information on this. Some will use an extravagant amount of database queries, which slows down the whole website. Unfortunately this isn't easy to spot without analysing the what a `php-fpm process` is actually doing. diff --git a/docs/troubleshooting/performance/how-to-debug-out-of-memory-oom-events.md b/docs/troubleshooting/performance/how-to-debug-out-of-memory-oom-events.md index be9c18d3..b4b42492 100644 --- a/docs/troubleshooting/performance/how-to-debug-out-of-memory-oom-events.md +++ b/docs/troubleshooting/performance/how-to-debug-out-of-memory-oom-events.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: When processes on your Hypernode require more memory than is available, - there is a risk of downtime. This article explains more about the Linux oom-killer. + description: Out of memory errors can be difficult to debug. Learn how to troubleshoot + and resolve out of memory events on your Hypernode with our easy-to-follow guide. + title: How to debug out of memory events? | Hypernode +redirect_from: + - /en/troubleshooting/performance/how-to-debug-out-of-memory-oom-events/ --- @@ -73,9 +76,9 @@ If you receive emails about OOM(Out-of-Memory) events regularly, there are vario ### Reducing Memory Usage -By reducing the memory usage of software running on your Hypernode, more memory will be available for visitors and for running [periodic tasks](https://support.hypernode.com/knowledgebase/configure-cronjobs-on-hypernode/). One of the main culprits of memory usage is MySQL. MySQL will allocate more memory when it needs this for running large queries but will not free it afterward. This means MySQL memory will only increase over time and not go down again. A simple way to deal with this is to periodically restart MySQL using the `hypernode-servicectl restart mysql` command. +By reducing the memory usage of software running on your Hypernode, more memory will be available for visitors and for running [periodic tasks](../../hypernode-platform/tools/how-to-use-periodic-tasks-cronjobs-on-hypernode.md). One of the main culprits of memory usage is MySQL. MySQL will allocate more memory when it needs this for running large queries but will not free it afterward. This means MySQL memory will only increase over time and not go down again. A simple way to deal with this is to periodically restart MySQL using the `hypernode-servicectl restart mysql` command. -If you are using a [basic staging environment](https://support.hypernode.com/knowledgebase/using-a-basic-staging-environment-magento2/) on your Hypernode, some memory will always be allocated to your staging environment. As such, it might be beneficial to replace this with a separate [Development Hypernode](https://support.hypernode.com/knowledgebase/development-plans-for-your-magento-shop/). +If you are using a [basic staging environment](../../ecommerce-applications/magento-2/how-to-set-up-a-basic-staging-environment-for-magento-2.md) on your Hypernode, some memory will always be allocated to your staging environment. As such, it might be beneficial to replace this with a separate [Development Hypernode](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md). ### Reducing Memory Requirements @@ -83,7 +86,7 @@ Some tasks in Magento use up a lot of memory, sometimes more than is available o One way to deal with this is to run smaller tasks, ending the process earlier and freeing up this memory again. By not stacking your cronjobs and by running smaller imports instead of a gigantic bulk import, you can reduce a memory peak to several memory bumps instead, which will have a reduced impact on your system. -Another way to ensure less memory is needed is by reducing file sizes. As Magento often loads images into memory to resize those, [optimizing images](https://support.hypernode.com/knowledgebase/magento-image-optimization-howto/) to take up less disk space means these also use up less memory when Magento works on these files. +Another way to ensure less memory is needed is by reducing file sizes. As Magento often loads images into memory to resize those, [optimizing images](../../best-practices/performance/how-to-optimize-your-images.md) to take up less disk space means these also use up less memory when Magento works on these files. ### Upgrade to a Larger Plan diff --git a/docs/troubleshooting/performance/how-to-fix-invalid-form-key-error.md b/docs/troubleshooting/performance/how-to-fix-invalid-form-key-error.md index 6dbd82a5..1fff7e0e 100644 --- a/docs/troubleshooting/performance/how-to-fix-invalid-form-key-error.md +++ b/docs/troubleshooting/performance/how-to-fix-invalid-form-key-error.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: If you get the dreaded “Invalid form key” error while logging in - or working in the admin, something is wrong with your setup. Read here how to - fix this. + description: Are you getting an invalid form key error? Learn how to debug and + fix this common issue with the help of Hypernode's step-by-step guide. + title: How to fix invalid form key error? | Hypernode +redirect_from: + - /en/troubleshooting/performance/how-to-fix-invalid-form-key-error/ --- diff --git a/docs/troubleshooting/performance/how-to-identify-and-stop-long-running-processes.md b/docs/troubleshooting/performance/how-to-identify-and-stop-long-running-processes.md index 110664e8..b8557197 100644 --- a/docs/troubleshooting/performance/how-to-identify-and-stop-long-running-processes.md +++ b/docs/troubleshooting/performance/how-to-identify-and-stop-long-running-processes.md @@ -1,9 +1,11 @@ --- myst: html_meta: - description: "Long running processes might indicate: the site benefiting from\ - \ an index (SQL), inefficient or erroneous code (PHP), or a deadlock. Here's\ - \ how to identify them." + description: Learn how to quickly identify and stop long-running processes on + Hypernode with our easy-to-follow guide. + title: How to idfentify and stop long running processes? | Hypernode +redirect_from: + - /en/troubleshooting/performance/how-to-identify-and-stop-long-running-processes/ --- diff --git a/docs/troubleshooting/performance/how-to-implement-pagespeed-booster.md b/docs/troubleshooting/performance/how-to-implement-pagespeed-booster.md index bde31a97..22019f0d 100644 --- a/docs/troubleshooting/performance/how-to-implement-pagespeed-booster.md +++ b/docs/troubleshooting/performance/how-to-implement-pagespeed-booster.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: PageSpeed Booster is a reverse proxy which uses many static optimisation - techniques to greatly increase the pagespeed score and performance of your website. + description: "Improve your website speed with Hypernode's PageSpeed Booster. Learn\ + \ how to implement it in just a few clicks and get the most out of your website. " + title: How to implement the PageSpeed Booster? | Hypernode +redirect_from: + - /en/troubleshooting/performance/how-to-implement-pagespeed-booster/ --- @@ -61,12 +64,12 @@ To setup PageSpeed Booster on your development environment you'll need a unique `hypernode-manage-vhosts psb.example.com --https --force-https --varnish` 1. Now point the DNS to the PageSpeed Booster instance with the records you got at the PageSpeed Booster page in your Control Panel. 1. Make sure Varnish is enabled on the server: hypernode-systemctl settings varnish_enabled. -1. Add the user agent **PSB**to the [allowlist for the ratelimiter](https://support.hypernode.com/en/hypernode/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests#Whitelisting-Additional-User-Agents) in\*\*~/nginx/http.ratelimit\*\* file. -1. Disable the [basic-authentication](https://support.hypernode.com/en/hypernode/nginx/basic-authentication-on-hypernode-development-plans#Disable-the-basic-authentication) on the development Hypernode. +1. Add the user agent **PSB**to the [allowlist for the ratelimiter](../../hypernode-platform/nginx/how-to-resolve-rate-limited-requests-429-too-many-requests.md#whitelisting-additional-user-agents) in\*\*~/nginx/http.ratelimit\*\* file. +1. Disable the [basic-authentication](../../hypernode-platform/nginx/basic-authentication-on-hypernode-development-plans.md#disable-the-basic-authentication) on the development Hypernode. ### Configuring Varnish -By now you've a valid SSL for your test domain, and pointed it to the PageSpeed Booster instance which now works as a proxy. Whats left is that you make the required changes to your **.vcl** so that the PageSpeed Booster is able to optimize your pages. +By now you've a valid SSL for your test domain, and pointed it to the PageSpeed Booster instance which now works as a proxy. What's left is that you make the required changes to your **.vcl** so that the PageSpeed Booster is able to optimize your pages. If you're using the default generated .vcl configuration file from the Magento 2 backend you could replace that **.vcl** with **[this template](https://gist.github.com/hn-support/2478eb5ed8328553de813f524ae12f91)** which we already adjusted for the PageSpeed Booster. @@ -74,10 +77,10 @@ If you're using the default generated .vcl configuration file from the Magento 2 The last step will be configuring Varnish on your application. Below you can find our available documentation for configuring Varnish on the application you’re using: -- [How to configure Varnish for Magento 1](https://support.hypernode.com/en/ecommerce/magento-1/how-to-configure-varnish-for-magento-1-x) -- [How to configure Varnish for Magento 2](https://support.hypernode.com/en/ecommerce/magento-2/how-to-configure-varnish-for-magento-2-x) -- [How to configure Varnish for Shopware 5](https://support.hypernode.com/en/support/solutions/articles/48001207016-how-to-configure-varnish-for-shopware-5) -- [How to configure Varnish for Shopware 6](https://support.hypernode.com/en/support/solutions/articles/48001200525-how-to-configure-varnish-for-shopware-6) +- [How to configure Varnish for Magento 1](../../ecommerce-applications/magento-1/how-to-configure-varnish-for-magento-1-x.md) +- [How to configure Varnish for Magento 2](../../ecommerce-applications/magento-2/how-to-configure-varnish-for-magento-2-x.md) +- [How to configure Varnish for Shopware 5](../../ecommerce-applications/shopware-5/how-to-configure-varnish-for-shopware-5.md) +- [How to configure Varnish for Shopware 6](../../ecommerce-applications/shopware-6/how-to-configure-varnish-for-shopware-6.md) ## Modifying your Current Varnish VCL configuration diff --git a/docs/troubleshooting/performance/how-to-optimise-your-magento-disk-performance.md b/docs/troubleshooting/performance/how-to-optimise-your-magento-disk-performance.md index 83fa16c2..4a14f2af 100644 --- a/docs/troubleshooting/performance/how-to-optimise-your-magento-disk-performance.md +++ b/docs/troubleshooting/performance/how-to-optimise-your-magento-disk-performance.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: Optimising your Magento disk performance could lead to higher speed - and a better performance of your shop. Read here how to optimise it on Hypernode. + description: Improve the performance and speed of your Magento store with Hypernode's + guide on optimising Magento disk performance. + title: How to optimise your Magento disk performance? | Hypernode +redirect_from: + - /en/troubleshooting/performance/how-to-optimise-your-magento-disk-performance/ + - /knowledgebase/magento-disk-performance-optimization/ --- diff --git a/docs/troubleshooting/performance/how-to-resolve-a-413-request-entity-too-large-error.md b/docs/troubleshooting/performance/how-to-resolve-a-413-request-entity-too-large-error.md index 9f419b7b..092ed5f6 100644 --- a/docs/troubleshooting/performance/how-to-resolve-a-413-request-entity-too-large-error.md +++ b/docs/troubleshooting/performance/how-to-resolve-a-413-request-entity-too-large-error.md @@ -1,3 +1,13 @@ +--- +myst: + html_meta: + description: Learn how to resolve a 413 request error. Hypernode provides easy-to-follow + instructions and tips to help you identify and fix the problem quickly. + title: How to resolve a 413 request? | Hypernode +redirect_from: + - /en/troubleshooting/performance/how-to-resolve-a-413-request-entity-too-large-error/ +--- + # How to Resolve a 413 Request Entity Too Large Error diff --git a/docs/troubleshooting/performance/how-to-solve-the-front-controller-reached-100-router-match-iterations-error.md b/docs/troubleshooting/performance/how-to-solve-the-front-controller-reached-100-router-match-iterations-error.md index d791a15c..84296c23 100644 --- a/docs/troubleshooting/performance/how-to-solve-the-front-controller-reached-100-router-match-iterations-error.md +++ b/docs/troubleshooting/performance/how-to-solve-the-front-controller-reached-100-router-match-iterations-error.md @@ -1,9 +1,12 @@ --- myst: html_meta: - description: This error 'Front Controller Reached 100 Router Match Iterations' - appears when corruption in the cache arises, due to a bug in Magento. Here's - how to solve it. + description: 'Struggling with the “Front Controller Reached 100 Router Match Iterations” + error? Our expert guides will help you diagnose, troubleshoot and solve this + issue. ' + title: Solve “Front Controller Reached 100 Router Match Iterations” +redirect_from: + - /en/troubleshooting/performance/how-to-solve-the-front-controller-reached-100-router-match-iterations-error/ --- diff --git a/docs/troubleshooting/performance/how-to-spot-slow-extensions-using-the-php-slow-logs.md b/docs/troubleshooting/performance/how-to-spot-slow-extensions-using-the-php-slow-logs.md index 19964ce0..299e8314 100644 --- a/docs/troubleshooting/performance/how-to-spot-slow-extensions-using-the-php-slow-logs.md +++ b/docs/troubleshooting/performance/how-to-spot-slow-extensions-using-the-php-slow-logs.md @@ -1,8 +1,12 @@ --- myst: html_meta: - description: 'PHP-FPM offers its slow logs, which spots slow extensions in your - Magento shop. Read more about it and how to use it in this article. ' + description: "Learn how to quickly spot slow extensions using PHP slow logs in\ + \ Hypernode. We'll show you the best practices for finding and resolving issues. " + title: How to spot slow extensions using PHP slow logs? | Hypernode +redirect_from: + - /en/troubleshooting/performance/how-to-spot-slow-extensions-using-the-php-slow-logs/ + - /knowledgebase/spot-slow-extensions-using-phps-slow-log/ --- diff --git a/docs/troubleshooting/performance/how-to-use-the-mysql-slow-queries-in-the-control-panel.md b/docs/troubleshooting/performance/how-to-use-the-mysql-slow-queries-in-the-control-panel.md index 690d0066..aa1c76bc 100644 --- a/docs/troubleshooting/performance/how-to-use-the-mysql-slow-queries-in-the-control-panel.md +++ b/docs/troubleshooting/performance/how-to-use-the-mysql-slow-queries-in-the-control-panel.md @@ -1,8 +1,11 @@ --- myst: html_meta: - description: Use the MySQL Slow Logs in the Control Panel to find out what's causing - the delay in your database queries to prevent performance issues on your Hypernode. + description: Learn how to use the Hypernode Control Panel to quickly and easily + identify slow queries in your MySQL database. + title: Use MySQL slow queries in the Control Panel | Hypernode +redirect_from: + - /en/support/solutions/articles/48001154919-how-to-use-the-mysql-slow-queries-in-the-control-panel/ --- diff --git a/hypernode/common/docs.py b/hypernode/common/docs.py index 0c340190..a55f59bd 100644 --- a/hypernode/common/docs.py +++ b/hypernode/common/docs.py @@ -1,6 +1,10 @@ import os.path from pathlib import Path -from typing import List +from typing import List, Optional, Tuple + +import mdformat +import yaml +from frontmatter import Frontmatter from hypernode.common.settings import DOCS_DIR @@ -15,3 +19,29 @@ def get_all_docs() -> List[Path]: for file in markdown_files: result.append(Path(root) / file) return result + + +def read_doc(path: Path) -> Tuple[dict, str, str]: + with open(path, mode="r") as f: + contents = f.read() + fm = Frontmatter.read(contents) + if not fm["attributes"]: + fm["attributes"] = {} + if not fm["body"]: + fm["body"] = contents + return ( + fm["attributes"], + fm["body"], + contents, + ) + + +def write_doc(path: Path, contents: str, frontmatter: Optional[dict]) -> None: + if frontmatter: + fm_yaml = yaml.dump(frontmatter, default_flow_style=False) + contents = "---\n" + fm_yaml + "---\n\n" + contents + + contents = mdformat.text(contents, extensions=["frontmatter", "myst"]) + + with open(path, mode="w", encoding="utf-8") as f: + f.write(contents) diff --git a/hypernode/metadata/__init__.py b/hypernode/metadata/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hypernode/metadata/importer.py b/hypernode/metadata/importer.py new file mode 100644 index 00000000..fe00d719 --- /dev/null +++ b/hypernode/metadata/importer.py @@ -0,0 +1,40 @@ +import argparse +import csv + +from hypernode.common import settings +from hypernode.common.docs import read_doc, write_doc + + +def parse_args() -> str: + parser = argparse.ArgumentParser() + parser.description = "Utility to import metadata from a CSV file into the articles" + parser.add_argument("file", help="Path to CSV file") + + args = parser.parse_args() + return args.file + + +def main(): + file = parse_args() + with open(file, mode="r") as f: + reader = csv.reader(f, delimiter=",", quotechar='"') + i = 0 + for _, path, title, description in reader: + if i == 0 or not any([title, description]): + i += 1 + continue + path = path.lstrip("/").replace(".html", ".md") + path = settings.DOCS_DIR / path + + print("Importing metadata for {}".format(path)) + + fm, body, _ = read_doc(path) + fm["myst"] = fm.get("myst", {"html_meta": {}}) + if title: + fm["myst"]["html_meta"]["title"] = title + if description: + fm["myst"]["html_meta"]["description"] = description + + write_doc(path, body, fm) + + i += 1 diff --git a/hypernode/redirect/generate_nginx_redirects.py b/hypernode/redirect/generate_nginx_redirects.py new file mode 100644 index 00000000..c0ba7250 --- /dev/null +++ b/hypernode/redirect/generate_nginx_redirects.py @@ -0,0 +1,32 @@ +import os.path +import re +from pathlib import Path +from typing import List + +from hypernode.common.docs import get_all_docs, read_doc +from hypernode.common.settings import DOCS_DIR + + +def get_redirects_from_doc(doc: Path) -> List[str]: + fm, _, _ = read_doc(doc) + return fm.get("redirect_from", []) + + +def get_path_for_doc(doc: Path) -> str: + relative_path = Path(os.path.relpath(doc, DOCS_DIR)) + path = "/{}/{}".format( + relative_path.parent, relative_path.name.replace(".md", ".html") + ) + path = path.replace("/./", "/") + path = path.replace("/index.html", "/") + base_url = os.getenv("DOCS_BASE_URL", "/") + path = re.sub(r"^/", base_url, path) + return path + + +def main(): + for doc in get_all_docs(): + for redirect in get_redirects_from_doc(doc): + redirect = redirect.rstrip("/") + doc_path = get_path_for_doc(doc) + print("rewrite ^{}/?$ {} permanent;".format(redirect, doc_path)) diff --git a/hypernode/redirect/generate_redirects_from_source_links.py b/hypernode/redirect/generate_redirects_from_source_links.py index 2d8204cf..c7dcb1ae 100644 --- a/hypernode/redirect/generate_redirects_from_source_links.py +++ b/hypernode/redirect/generate_redirects_from_source_links.py @@ -3,10 +3,9 @@ from typing import Optional from urllib.parse import urlparse -import yaml from frontmatter import Frontmatter -from hypernode.common.docs import get_all_docs +from hypernode.common.docs import get_all_docs, write_doc SOURCE_PATTERN = re.compile(r"^$") @@ -25,16 +24,13 @@ def set_source_path_redirect(doc: Path, source_path: str) -> None: fm = Frontmatter.read_file(doc) attributes = fm["attributes"] or {} attributes["redirect_from"] = [source_path] - fm_yaml = yaml.dump(attributes, default_flow_style=False) body = fm["body"] if not body: with open(doc, mode="r", encoding="utf-8") as f: body = f.read() - with open(doc, mode="w", encoding="utf-8") as f: - contents = "---\n" + fm_yaml + "---\n\n" + body - f.write(contents) + write_doc(doc, body, attributes) def main(): diff --git a/hypernode/sphinx/__init__.py b/hypernode/sphinx/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hypernode/sphinx/extensions/__init__.py b/hypernode/sphinx/extensions/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hypernode/sphinx/extensions/updated_at.py b/hypernode/sphinx/extensions/updated_at.py new file mode 100644 index 00000000..16b9314e --- /dev/null +++ b/hypernode/sphinx/extensions/updated_at.py @@ -0,0 +1,57 @@ +import os.path +from datetime import datetime +from pathlib import Path + +import git +from git.exc import GitCommandError +from sphinx import errors +from sphinx.application import Sphinx + + +class PageContextHandler: + def __init__(self) -> None: + self.git = git.Git(os.path.realpath(os.path.dirname(__file__) + "../../")) + + def execute(self, app: Sphinx, pagename: str, templatename, context, doctree): + page_path = Path(app.confdir) / (pagename + ".md") + if not os.path.exists(page_path): + return + + try: + log = self.git.log( + "--pretty=format:%aI", "--reverse", page_path + ).splitlines() + if not log: + return + + created = log[0] + updated = log[-1] + except GitCommandError as exc: + raise errors.ExtensionError( + "Failed to fetch git history for {}. Exception was: {}".format( + page_path, exc + ) + ) + + if created: + context["created_at"] = datetime.fromisoformat(created).strftime( + app.config.created_at_fmt + ) + + if updated: + context["updated_at"] = datetime.fromisoformat(updated).strftime( + app.config.updated_at_fmt + ) + + +def setup(app: Sphinx): + page_context_handler = PageContextHandler() + app.add_config_value("updated_at_fmt", "%b %d, %Y", "html") + app.add_config_value("created_at_fmt", "%b %d, %Y", "html") + app.connect("html-page-context", page_context_handler.execute) + + return { + "version": "0.1", + "parallel_read_safe": True, + "parallel_write_safe": True, + } diff --git a/mark-release.sh b/mark-release.sh new file mode 100644 index 00000000..98917d93 --- /dev/null +++ b/mark-release.sh @@ -0,0 +1,154 @@ +#!/usr/bin/env bash + +read -r -d '' USAGE << EOUSAGE +Mark a release for project, ensure commits in master are in debian changelog. +If there are changes to release, update version and debian changelog, +also can tag and push the release. +If all commits are in changelog, won't change anything. +The last line of output indicates if a release is marked or not. +usage: $0 [options] +options: + -a automated mode (commit, tag, push) + -c commit the changes for marking the release + -h show this help and exit + -p git push HEAD and tags + -t tag the commit + -v verbose output +environment: + AUTHOR commit author (name ) format + DEBFULLNAME changelog writer name + DEBEMAIL changelog writer email + MESSAGE commit message +EOUSAGE + +# ==== opts ==== +COMMIT=false +PUSH=false +TAG=false +VERBOSE=false + +while getopts 'achptv' flag; do +case "$flag" in + a) + COMMIT=true + TAG=true + PUSH=true + ;; + c) + COMMIT=true + ;; + h) + echo "$USAGE" + exit + ;; + p) + PUSH=true + ;; + t) + TAG=true + ;; + v) + VERBOSE=true + ;; +esac +done + + +set -o errexit + +ROOT_DIR=$(realpath $(dirname $0)) +CHANGELOG="$ROOT_DIR/debian/changelog" +VERSION=$(date "+%Y%m%d.%H%M%S") +LOG_USER="${SUDO_USER:-$USER}" + +# === options from env ==== + +# committer info +AUTHOR="${AUTHOR:-}" +MESSAGE="${MESSAGE}" +if [[ -z "$MESSAGE" ]]; then + MESSAGE="[automated] Marking Release $VERSION" +fi + +# changelog writer info +export DEBFULLNAME="${DEBFULLNAME:-Hypernode team}" +export DEBEMAIL="${DEBMAIL:-hypernode@byte.nl}" + + +log() { + logger --tag 'hypernode-docs-next-mark-release' "[$$ @$LOG_USER] $1" + if $VERBOSE; then + echo "$1" + fi +} + +# deb_changelog_updated: returns 0 if there are changes to be released or 1 otherwise +deb_changelog_updated() { + log "checking if debian changelog needs update" + # use gbp dch itself to see if there are any changes detected. + # this way the logic of detecting changes is more consistent with + # the rest of the system. + gbp dch --debian-tag="%(version)s" --debian-branch=master + # find changelog diff to see if there new commits in changelog. + # commits are usually added like this to the changelog: + # [ author ] + # * commit message + # first look for commit messages, if nothing found, then see if there is an empty author section, + # as a fallback. + local changed=$(git diff --text --ignore-all-space --unified=0 --no-color $CHANGELOG | grep --line-regexp --perl-regexp '\+\s{2,}\* .+') + if [[ -z "$changed" ]]; then + changed=$(git diff --text --ignore-all-space --unified=0 --no-color $CHANGELOG | grep --line-regexp --perl-regexp '\+\\s{2,}\[.+\].*') + fi + log "reverting possible changes in debian changelog during update detection" + git checkout -- $CHANGELOG + if [[ -n "$changed" ]]; then + return 0 + fi + return 1 +} + +mark_release() { + log "marking release $VERSION ..." + + log "generating debian changelog" + gbp dch --debian-tag="%(version)s" --new-version=$VERSION --debian-branch=master + git add $CHANGELOG +} + +commit() { + log "comitting the release changes" + if [[ -z "$AUTHOR" ]]; then + git commit --no-edit --message="$MESSAGE" + else + git commit --no-edit --message="$MESSAGE" --author "$AUTHOR" + fi +} + + +if ! deb_changelog_updated; then + log "detected no change, skipping marking release!" + echo 'no change' + exit +fi + +mark_release + +if $COMMIT; then + commit + if $TAG; then + log "creating git tag '$VERSION' ..." + git tag $VERSION + fi + + if $PUSH; then + log "pushing changes to origin ..." + git push origin HEAD + if $TAG; then + git push origin $VERSION + fi + fi +else + log "not committing, skipping tagging and pushing!" +fi + +echo "marked release $VERSION" diff --git a/requirements/base.txt b/requirements/base.txt index 09c47132..bd70433f 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -8,6 +8,9 @@ mdformat==0.7.16 mdformat-myst==0.1.5 mdformat-frontmatter==0.4.1 sphinx-notfound-page==0.8.3 +sphinx-sitemap==2.4.0 +GitPython==3.1.30 +sphinxcontrib-mermaid==0.7.1 # hypernode/ requirements beautifulsoup4==4.11.1 diff --git a/tests/redirect/__init__.py b/tests/redirect/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/redirect/test_generate_nginx_redirects.py b/tests/redirect/test_generate_nginx_redirects.py new file mode 100644 index 00000000..cb849c36 --- /dev/null +++ b/tests/redirect/test_generate_nginx_redirects.py @@ -0,0 +1,85 @@ +import os +from pathlib import Path +from unittest.mock import call + +from hypernode.common.settings import DOCS_DIR +from hypernode.redirect.generate_nginx_redirects import ( + get_path_for_doc, + get_redirects_from_doc, + main, +) +from tests.testcase import HypernodeTestCase + + +class TestMain(HypernodeTestCase): + def setUp(self) -> None: + module = "hypernode.redirect.generate_nginx_redirects." + self.print = self.set_up_patch("builtins.print") + self.get_all_docs = self.set_up_patch( + module + "get_all_docs", return_value=[DOCS_DIR / "index.html"] + ) + self.get_redirects_from_doc = self.set_up_patch( + module + "get_redirects_from_doc", + return_value=["/old-url/", "/en/another-url"], + ) + + def test_main_prints_rewrites(self): + main() + + self.print.assert_has_calls( + [ + call("rewrite ^/old-url/?$ / permanent;"), + call("rewrite ^/en/another-url/?$ / permanent;"), + ] + ) + + +class TestGetPathForDoc(HypernodeTestCase): + def test_get_path_for_doc_resolves_relative_to_docs_dir(self): + result = get_path_for_doc(DOCS_DIR / "some/doc.md") + + self.assertEqual("/some/doc.html", result) + + def test_get_path_for_doc_replaces_md_with_html(self): + result = get_path_for_doc(DOCS_DIR / "something.md") + + self.assertEqual("/something.html", result) + + def test_get_path_for_doc_replaces_index_html_with_slash(self): + result = get_path_for_doc(DOCS_DIR / "index.md") + + self.assertEqual("/", result) + + def test_get_path_for_doc_prepends_docs_base_url(self): + try: + os.environ["DOCS_BASE_URL"] = "https://www.example.com/" + + result = get_path_for_doc(DOCS_DIR / "some/doc.html") + + self.assertEqual("https://www.example.com/some/doc.html", result) + finally: + del os.environ["DOCS_BASE_URL"] + + +class TestGetRedirectsFromDoc(HypernodeTestCase): + def setUp(self) -> None: + module = "hypernode.redirect.generate_nginx_redirects." + self.read_doc = self.set_up_patch( + module + "read_doc", + return_value=({"redirect_from": ["/old/path/"]}, "", ""), + ) + self.doc = Path("/some/path.md") + + def test_get_redirects_from_doc(self): + result = get_redirects_from_doc(self.doc) + + self.assertEqual(["/old/path/"], result) + self.read_doc.assert_called_once_with(self.doc) + + def test_get_redirects_from_doc_defaults_to_empty_list(self): + self.read_doc.return_value = ({}, "", "") + + result = get_redirects_from_doc(self.doc) + + self.assertEqual([], result) + self.read_doc.assert_called_once_with(self.doc)